Changeset 4038
- Timestamp:
- Feb 4, 2026, 2:40:16 PM (7 hours ago)
- Location:
- trunk/LMDZ.TITAN
- Files:
-
- 2 deleted
- 3 edited
-
deftank/start.nc (deleted)
-
deftank/startfi.nc (deleted)
-
libf/chimtitan/gptitan.c (modified) (1 diff)
-
libf/phytitan/callcorrk.F90 (modified) (5 diffs)
-
libf/phytitan/physiq_mod.F90 (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.TITAN/libf/chimtitan/gptitan.c
r2099 r4038 50 50 51 51 /* DEBUG */ 52 printf("CHIMIE: lat=%g\n",(*LAT));52 /* printf("CHIMIE: lat=%g\n",(*LAT)); */ 53 53 /**/ 54 54 -
trunk/LMDZ.TITAN/libf/phytitan/callcorrk.F90
r4013 r4038 140 140 ! Optical diagnostics 141 141 ! Haze 142 REAL*8 diag_opthi(L_LEVELS,L_NSPECTI, 6)143 REAL*8 diag_opthv(L_LEVELS,L_NSPECTV, 6)142 REAL*8 diag_opthi(L_LEVELS,L_NSPECTI,3) 143 REAL*8 diag_opthv(L_LEVELS,L_NSPECTV,3) 144 144 ! Clouds 145 REAL*8 diag_optti(L_LEVELS,L_NSPECTI, 6)146 REAL*8 diag_opttv(L_LEVELS,L_NSPECTV, 6)145 REAL*8 diag_optti(L_LEVELS,L_NSPECTI,3) 146 REAL*8 diag_opttv(L_LEVELS,L_NSPECTV,3) 147 147 ! Temporary optical diagnostics (clear column) 148 148 REAL*8 diag_optti_cc(L_LEVELS,L_NSPECTI,6) … … 551 551 diag_opttv(:,:,2) = diag_opttv_dc(:,:,2) 552 552 diag_opttv(:,:,3) = diag_opttv_dc(:,:,3) 553 diag_opttv(:,:,4) = diag_opttv_dc(:,:,4)554 diag_opttv(:,:,5) = diag_opttv_dc(:,:,5)555 diag_opttv(:,:,6) = diag_opttv_dc(:,:,6)556 553 else !correct for cloud fraction 557 554 diag_opttv(:,:,1) = -log( (1-Fcloudy)*exp(-diag_opttv_cc(:,:,1)) + Fcloudy*exp(-diag_opttv_dc(:,:,1)) ) 558 555 diag_opttv(:,:,2) = (1-Fcloudy) * diag_opttv_cc(:,:,2) + Fcloudy * diag_opttv_dc(:,:,2) 559 556 diag_opttv(:,:,3) = (1-Fcloudy) * diag_opttv_cc(:,:,3) + Fcloudy * diag_opttv_dc(:,:,3) 560 diag_opttv(:,:,4) = -log( (1-Fcloudy)*exp(-diag_opttv_cc(:,:,4)) + Fcloudy*exp(-diag_opttv_dc(:,:,4)) )561 diag_opttv(:,:,5) = -log( (1-Fcloudy)*exp(-diag_opttv_cc(:,:,5)) + Fcloudy*exp(-diag_opttv_dc(:,:,5)) )562 diag_opttv(:,:,6) = -log( (1-Fcloudy)*exp(-diag_opttv_cc(:,:,6)) + Fcloudy*exp(-diag_opttv_dc(:,:,6)) )563 557 endif 564 558 endif … … 658 652 diag_optti(:,:,2) = diag_optti_dc(:,:,2) 659 653 diag_optti(:,:,3) = diag_optti_dc(:,:,3) 660 diag_optti(:,:,4) = diag_optti_dc(:,:,4)661 diag_optti(:,:,5) = diag_optti_dc(:,:,5)662 diag_optti(:,:,6) = diag_optti_dc(:,:,6)663 654 else !correct for cloud fraction 664 655 diag_optti(:,:,1) = -log( (1-Fcloudy)*exp(-diag_optti_cc(:,:,1)) + Fcloudy*exp(-diag_optti_dc(:,:,1)) ) 665 656 diag_optti(:,:,2) = (1-Fcloudy) * diag_optti_cc(:,:,2) + Fcloudy * diag_optti_dc(:,:,2) 666 657 diag_optti(:,:,3) = (1-Fcloudy) * diag_optti_cc(:,:,3) + Fcloudy * diag_optti_dc(:,:,3) 667 diag_optti(:,:,4) = -log( (1-Fcloudy)*exp(-diag_optti_cc(:,:,4)) + Fcloudy*exp(-diag_optti_dc(:,:,4)) )668 diag_optti(:,:,5) = -log( (1-Fcloudy)*exp(-diag_optti_cc(:,:,5)) + Fcloudy*exp(-diag_optti_dc(:,:,5)) )669 diag_optti(:,:,6) = -log( (1-Fcloudy)*exp(-diag_optti_cc(:,:,6)) + Fcloudy*exp(-diag_optti_dc(:,:,6)) )670 658 endif 671 659 endif … … 778 766 popttv(ig,lev2lay,nw,5) = (diag_opttv(l,nw,3) + diag_opttv(l+1,nw,3)) / 2.0 779 767 endif 780 ! DRAYAER, TAUGAS, DCONT :781 popthv(ig,lev2lay,nw,6) = (diag_opthv(l,nw,4) + diag_opthv(l+1,nw,4)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))782 popthv(ig,lev2lay,nw,7) = (diag_opthv(l,nw,5) + diag_opthv(l+1,nw,5)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))783 popthv(ig,lev2lay,nw,8) = (diag_opthv(l,nw,6) + diag_opthv(l+1,nw,6)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))784 if (callclouds) then785 popttv(ig,lev2lay,nw,6) = (diag_opttv(l,nw,4) + diag_opttv(l+1,nw,4)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))786 popttv(ig,lev2lay,nw,7) = (diag_opttv(l,nw,5) + diag_opttv(l+1,nw,5)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))787 popttv(ig,lev2lay,nw,8) = (diag_opttv(l,nw,6) + diag_opttv(l+1,nw,6)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))788 endif789 768 enddo 769 790 770 ! Infra-Red 791 771 do nw=1,L_NSPECTI … … 815 795 poptti(ig,lev2lay,nw,4) = (diag_optti(l,nw,2) + diag_optti(l+1,nw,2)) / 2.0 816 796 poptti(ig,lev2lay,nw,5) = (diag_optti(l,nw,3) + diag_optti(l+1,nw,3)) / 2.0 817 endif818 ! DRAYAER, TAUGAS, DCONT :819 popthi(ig,lev2lay,nw,6) = (diag_opthi(l,nw,4) + diag_opthi(l+1,nw,4)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))820 popthi(ig,lev2lay,nw,7) = (diag_opthi(l,nw,5) + diag_opthi(l+1,nw,5)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))821 popthi(ig,lev2lay,nw,8) = (diag_opthi(l,nw,6) + diag_opthi(l+1,nw,6)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))822 if (callclouds) then823 poptti(ig,lev2lay,nw,6) = (diag_optti(l,nw,4) + diag_optti(l+1,nw,4)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))824 poptti(ig,lev2lay,nw,7) = (diag_optti(l,nw,5) + diag_optti(l+1,nw,5)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))825 poptti(ig,lev2lay,nw,8) = (diag_optti(l,nw,6) + diag_optti(l+1,nw,6)) / 2.0 / (zzlev(ig,lev2lay+1) - zzlev(ig,lev2lay))826 797 endif 827 798 enddo -
trunk/LMDZ.TITAN/libf/phytitan/physiq_mod.F90
r4013 r4038 343 343 ! Chemical tracers in molar fraction [mol/mol] 344 344 real, dimension(ngrid,nlayer,nkim) :: ychim 345 real, dimension(ngrid,nlayer,nkim) :: ychimbar ! For 2D chemistry 345 real, dimension(ngrid,nlayer,nkim) :: ychimbar ! For 2D chemistry 346 346 347 347 ! Molar fraction tendencies (chemistry, condensation and evaporation) for tracers [mol/mol/s] … … 520 520 #ifdef CPP_XIOS 521 521 ! Initialize XIOS context 522 write(*,*) "physiq: call wxios_context_init"522 if(is_master) write(*,*) "physiq: call wxios_context_init" 523 523 CALL wxios_context_init 524 524 #endif … … 642 642 #ifdef CPP_XIOS 643 643 644 write(*,*) "physiq: call initialize_xios_output"644 if(is_master) write(*,*) "physiq: call initialize_xios_output" 645 645 call initialize_xios_output(pday,ptime,ptimestep,daysec, & 646 646 presnivs,pseudoalt,wavei,wavev) 647 647 #endif 648 write(*,*) "physiq: end of firstcall"648 if(is_master) write(*,*) "physiq: end of firstcall" 649 649 endif ! end of 'firstcall' 650 650 … … 672 672 taux(:) = 0.D0 673 673 tauy(:) = 0.D0 674 ychimbar(:,:,:) = 0.D0 674 675 675 676 zday=pday+ptime ! Compute time, in sols (and fraction thereof). … … 1228 1229 pdq(:,:,iq+nmicro) = pdq(:,:,iq+nmicro) + dyccond(:,:,iq+nmicro)*rat_mmol(iq+nmicro) ! convert tendencies to mass mixing ratio 1229 1230 enddo 1230 1231 1231 1232 1232 1233 ! ii. 2D zonally averaged fields need to condense and evap before photochem … … 1249 1250 enddo 1250 1251 endif 1251 1252 1252 1253 do iq=1,nkim 1253 1254 ychimbar(:,:,iq) = ychimbar(:,:,iq) + dyccondbar(:,:,iq+nmicro)*ptimestep … … 1259 1260 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1260 1261 if( mod(icount-1,ichim).eq.0. ) then 1261 print *, "We enter in the photochemistry ..."1262 1262 1263 1263 if (moyzon_ch) then ! 2D zonally averaged chemistry … … 1294 1294 !endif 1295 1295 tankCH4(:) = tankCH4(:) + (mmd_ice_prec(:,1) / 422. * ptimestep) ! [m] 1296 1296 1297 1297 ! Evaporation of lakes : 1298 1298 if (moyzon_ch) then … … 1305 1305 zdtsurf(:) = zdtsurf(:) + zdtsurfevap(:) 1306 1306 endif 1307 1308 1307 1309 1308 pdq(:,1,7+nmicro) = pdq(:,1,7+nmicro) + dycevapCH4(:)*rat_mmol(7+nmicro) ! convert tendencies to mass mixing ratio 1310 1309 … … 1330 1329 ! V.3 Updates 1331 1330 ! --------------- 1332 1331 1333 1332 ! Updating Atmospheric Mass and Tracers budgets. 1334 1333 if(mass_redistrib) then … … 1385 1384 ptimestep,tsurf,tsoil,capcal,fluxgrd) 1386 1385 endif 1387 1388 1386 1389 1387 ! Test energy conservation
Note: See TracChangeset
for help on using the changeset viewer.
