Ignore:
Timestamp:
Feb 27, 2025, 2:53:11 PM (5 months ago)
Author:
emoisan
Message:

Titan CRM:
Add Titan interface in INTERFACES_V4
Adapt module_model_constants.F to Titan
Add new tracer_mode for Titan (CH4 scalar)
Add new communication of variables between LMDZ.TITAN and WRF
Allow microphysics for Mesoscale in physiq_mod.F90
EMo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.TITAN/libf/phytitan/physiq_mod.F90

    r3497 r3661  
    4646#else
    4747use comm_wrf, only : comm_HR_SW, comm_HR_LW, &
    48                      comm_FLUXTOP_DN,comm_FLUXABS_SW,&
    49                      comm_FLUXTOP_LW,comm_FLUXSURF_SW,&
    50                      comm_FLUXSURF_LW,comm_FLXGRD
     48                     comm_FLUXTOP_DN, comm_FLUXABS_SW,&
     49                     comm_FLUXTOP_LW, comm_FLUXSURF_SW,&
     50                     comm_FLUXSURF_LW, comm_FLXGRD,&
     51                     comm_zqfi_omp, comm_zdtlc
    5152#endif
    5253#ifdef CPP_XIOS     
     
    138139!    pdv(ngrid,nlayer)         \  Temporal derivative of the corresponding
    139140!    pdt(ngrid,nlayer)         /  variables due to physical processes.
    140 !    pdq(ngrid,nlayer)        /
     141!    pdq(ngrid,nlayer,nq)     /
    141142!    pdpsrf(ngrid)           /
    142143!
     
    331332      character*2 :: str2
    332333
    333 #ifndef MESOSCALE
     334!#ifndef MESOSCALE
    334335
    335336! Local variables for Titan chemistry and microphysics
     
    363364#endif
    364365
    365       logical file_ok
     366#ifdef MESOSCALE
     367      LOGICAL, SAVE ::  moyzon_ch ! used for zonal averages in Titan
     368      REAL, ALLOCATABLE :: zplevbar(:,:)
     369      REAL, ALLOCATABLE :: zplaybar(:,:)
     370      REAL, ALLOCATABLE :: ztfibar(:,:)
     371      REAL, ALLOCATABLE :: zqfibar(:,:,:)
     372      REAL, ALLOCATABLE :: zphibar(:,:)
     373      REAL, ALLOCATABLE :: zphisbar(:)
     374      REAL, ALLOCATABLE :: zzlevbar(:,:)
     375      REAL, ALLOCATABLE :: zzlaybar(:,:)
     376!     REAL, DIMENSION(:,:)   :: zplevbar(:,:)
     377!     REAL, DIMENSION(:,:)   :: zplaybar(:,:)
     378!     REAL, DIMENSION(:,:)   :: ztfibar(:,:)
     379!     REAL, DIMENSION(:,:,:) :: zqfibar(:,:,:)
     380!     REAL, DIMENSION(:,:)   :: zphibar(:,:)
     381!     REAL, DIMENSION(:)     :: zphisbar(:)
     382!     REAL, DIMENSION(:,:)   :: zzlevbar(:,:)
     383!     REAL, DIMENSION(:,:)   :: zzlaybar(:,:)
     384#endif
    366385
    367386!-----------------------------------------------------------------------------
     
    385404    END INTERFACE
    386405
    387 #endif
    388      
     406!#endif
     407     
     408      logical file_ok
     409
    389410!==================================================================================================
    390411
     
    447468           int_dtauv(:,:,:) = 0.D0
    448469         
    449 #ifndef MESOSCALE
     470!#ifndef MESOSCALE
    450471           IF (callmufi .AND. (.NOT. uncoupl_optic_haze)) THEN
    451472             haze_opt_file=trim(datadir)//'/optical_tables/HAZE_OPTIC_'//trim(adjustl(tmp1))//'x'//trim(adjustl(tmp2))//'.DAT'
     
    459480              endif
    460481           ENDIF
    461 #endif           
     482!#endif           
    462483
    463484         endif
     485
     486#ifdef MESOSCALE
     487         moyzon_ch = .false. !no zonal mean for mesoscale
     488#endif
    464489
    465490#ifndef MESOSCALE
    466491!        Initialize names and timestep for chemistry
    467492!        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    468 
    469493         if (callchim) then
    470494
     
    479503
    480504         endif
     505#endif
    481506
    482507!        Initialize microphysics.
     
    491516
    492517         ENDIF
    493 #endif
    494518
    495519#ifdef CPP_XIOS
     
    717741      ! JVO 19 : We shall always have correct altitudes in chemistry no matter what's in physics
    718742      ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    719 #ifndef MESOSCALE
     743!#ifndef MESOSCALE
    720744      if (moyzon_ch) then ! Zonal averages
    721745         
     
    748772
    749773      else !  if not moyzon
    750 #endif
     774!#endif
    751775     
    752776        DO ig=1,ngrid
     
    763787        ENDDO
    764788
    765 #ifndef MESOSCALE
     789!#ifndef MESOSCALE
    766790      endif  ! moyzon
    767 #endif
     791!#endif
    768792
    769793      ! -------------------------------------------------------------------------------------
     
    10651089      if (tracer) then
    10661090
    1067 #ifndef MESOSCALE
    10681091   ! -------------------
    10691092   !   V.1 Microphysics
     
    10721095         ! We must call microphysics before chemistry, for condensation !
    10731096         if (callmufi) then
    1074 
    10751097            zzlev(:,nlayer+1)=zzlay(:,nlayer)+(zzlay(:,nlayer)-zzlev(:,nlayer)) ! JVO 19 : We assume zzlev isn't reused later on (could be done cleaner)
    10761098
     
    11481170         endif ! callmufi
    11491171     
     1172#ifndef MESOSCALE
    11501173  ! -----------------
    11511174  !   V.2. Chemistry
     
    12921315         endif ! end of 'callchim'
    12931316
    1294 ! END MESOSCALE
     1317!! END ifndef MESOSCALE
    12951318#endif
    12961319
     
    20102033      comm_FLXGRD(1:ngrid)=fluxgrd(1:ngrid)
    20112034      sensibFlux(1:ngrid) = zflubid(1:ngrid) - capcal(1:ngrid)*zdtsdif(1:ngrid)
     2035      comm_zqfi_omp(1:ngrid,1:nlayer,1:nq) = zq(1:ngrid,1:nlayer,1:nq)
     2036      comm_zdtlc(1:ngrid,1:nlayer) = zdtlc(1:ngrid,1:nlayer)
    20122037#endif     
    20132038
Note: See TracChangeset for help on using the changeset viewer.