Changeset 4038


Ignore:
Timestamp:
Feb 4, 2026, 2:40:16 PM (7 hours ago)
Author:
cpetetin
Message:

TITAN PCM : debuf fix and clean the deftank

Location:
trunk/LMDZ.TITAN
Files:
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.TITAN/libf/chimtitan/gptitan.c

    r2099 r4038  
    5050
    5151  /* DEBUG */
    52   printf("CHIMIE: lat=%g\n",(*LAT));
     52  /* printf("CHIMIE: lat=%g\n",(*LAT)); */
    5353  /**/
    5454
  • trunk/LMDZ.TITAN/libf/phytitan/callcorrk.F90

    r4013 r4038  
    140140      ! Optical diagnostics
    141141      ! 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)
    144144      ! 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)
    147147      ! Temporary optical diagnostics (clear column)
    148148      REAL*8 diag_optti_cc(L_LEVELS,L_NSPECTI,6)
     
    551551                diag_opttv(:,:,2) = diag_opttv_dc(:,:,2)
    552552                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)
    556553            else !correct for cloud fraction
    557554                diag_opttv(:,:,1) = -log( (1-Fcloudy)*exp(-diag_opttv_cc(:,:,1)) + Fcloudy*exp(-diag_opttv_dc(:,:,1)) )
    558555                diag_opttv(:,:,2) = (1-Fcloudy) * diag_opttv_cc(:,:,2) + Fcloudy * diag_opttv_dc(:,:,2)
    559556                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)) )
    563557            endif
    564558         endif
     
    658652                diag_optti(:,:,2) = diag_optti_dc(:,:,2)
    659653                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)
    663654            else !correct for cloud fraction
    664655                diag_optti(:,:,1) = -log( (1-Fcloudy)*exp(-diag_optti_cc(:,:,1)) + Fcloudy*exp(-diag_optti_dc(:,:,1)) )
    665656                diag_optti(:,:,2) = (1-Fcloudy) * diag_optti_cc(:,:,2) + Fcloudy * diag_optti_dc(:,:,2)
    666657                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)) )
    670658            endif
    671659         endif
     
    778766               popttv(ig,lev2lay,nw,5) = (diag_opttv(l,nw,3) + diag_opttv(l+1,nw,3)) / 2.0
    779767            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) then
    785                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             endif
    789768         enddo
     769
    790770         ! Infra-Red
    791771         do nw=1,L_NSPECTI
     
    815795               poptti(ig,lev2lay,nw,4) = (diag_optti(l,nw,2) + diag_optti(l+1,nw,2)) / 2.0
    816796               poptti(ig,lev2lay,nw,5) = (diag_optti(l,nw,3) + diag_optti(l+1,nw,3)) / 2.0
    817             endif
    818             ! 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) then
    823                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))
    826797            endif
    827798         enddo
  • trunk/LMDZ.TITAN/libf/phytitan/physiq_mod.F90

    r4013 r4038  
    343343      ! Chemical tracers in molar fraction [mol/mol]
    344344      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 
    346346
    347347      ! Molar fraction tendencies (chemistry, condensation and evaporation) for tracers [mol/mol/s]
     
    520520#ifdef CPP_XIOS
    521521        ! Initialize XIOS context
    522         write(*,*) "physiq: call wxios_context_init"
     522        if(is_master) write(*,*) "physiq: call wxios_context_init"
    523523        CALL wxios_context_init
    524524#endif
     
    642642#ifdef CPP_XIOS
    643643
    644          write(*,*) "physiq: call initialize_xios_output"
     644         if(is_master) write(*,*) "physiq: call initialize_xios_output"
    645645         call initialize_xios_output(pday,ptime,ptimestep,daysec, &
    646646                                     presnivs,pseudoalt,wavei,wavev)
    647647#endif
    648          write(*,*) "physiq: end of firstcall"
     648         if(is_master) write(*,*) "physiq: end of firstcall"
    649649      endif ! end of 'firstcall'
    650650
     
    672672      taux(:)        = 0.D0
    673673      tauy(:)        = 0.D0
     674      ychimbar(:,:,:)  = 0.D0
    674675
    675676      zday=pday+ptime ! Compute time, in sols (and fraction thereof).
     
    12281229              pdq(:,:,iq+nmicro) = pdq(:,:,iq+nmicro) + dyccond(:,:,iq+nmicro)*rat_mmol(iq+nmicro) ! convert tendencies to mass mixing ratio
    12291230            enddo
    1230            
     1231
    12311232
    12321233            ! ii. 2D zonally averaged fields need to condense and evap before photochem
     
    12491250                  enddo
    12501251               endif
    1251 
     1252               
    12521253               do iq=1,nkim
    12531254                  ychimbar(:,:,iq) = ychimbar(:,:,iq) + dyccondbar(:,:,iq+nmicro)*ptimestep
     
    12591260            ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    12601261            if( mod(icount-1,ichim).eq.0. ) then
    1261                print *, "We enter in the photochemistry ..."
    12621262
    12631263               if (moyzon_ch) then ! 2D zonally averaged chemistry
     
    12941294               !endif
    12951295               tankCH4(:) = tankCH4(:) + (mmd_ice_prec(:,1) / 422. * ptimestep) ! [m]
    1296               
     1296             
    12971297               ! Evaporation of lakes :
    12981298               if (moyzon_ch) then
     
    13051305               zdtsurf(:) = zdtsurf(:) + zdtsurfevap(:)
    13061306            endif
    1307 
    1308 
     1307           
    13091308            pdq(:,1,7+nmicro) = pdq(:,1,7+nmicro) + dycevapCH4(:)*rat_mmol(7+nmicro) ! convert tendencies to mass mixing ratio
    13101309           
     
    13301329  !   V.3 Updates
    13311330  ! ---------------
    1332 
     1331         
    13331332         ! Updating Atmospheric Mass and Tracers budgets.
    13341333         if(mass_redistrib) then
     
    13851384                   ptimestep,tsurf,tsoil,capcal,fluxgrd)     
    13861385      endif
    1387 
    13881386
    13891387      ! Test energy conservation
Note: See TracChangeset for help on using the changeset viewer.