Changeset 3661 for trunk/WRF.COMMON


Ignore:
Timestamp:
Feb 27, 2025, 2:53:11 PM (4 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

Location:
trunk/WRF.COMMON/INTERFACES_V4
Files:
6 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WRF.COMMON/INTERFACES_V4/module_lmd_driver.F

    r2874 r3661  
    4848        HFMAX,ZMAX,&
    4949        USTM,HFX,&
    50         SLPX,SLPY,RESTART)
     50        SLPX,SLPY,RESTART,&
     51        DT_COND)
    5152! NB: module_lmd_driver_output1.inc : output arguments generated from Registry
    5253
     
    114115     RTHPLATEN,RUPLATEN,RVPLATEN, &
    115116     HR_SW,HR_LW,HR_DYN,DT_RAD,&
    116      CLOUDFRAC,RH,DQICE,DQVAP,DTLSC,DTRAIN,DT_MOIST,H2OICE_REFF
     117     CLOUDFRAC,RH,DQICE,DQVAP,DTLSC,DTRAIN,DT_MOIST,H2OICE_REFF,&
     118     DT_COND
    117119REAL, DIMENSION( ims:ime, kms:kme+1, jms:jme ), INTENT(INOUT ) :: &
    118120     P_Q2
     
    445447    q_prof(:,2) = moist(i,kps:kpe,j,P_QC) / (1.d0 + moist(i,kps:kpe,j,P_QV))
    446448    ! conversion from mass mixing ratio in WRF to specific concentration in Physiq
     449ELSE IF (TRACER_MODE == 61) THEN
     450    ! to be clean we should have an automatized process that makes sure that moist is sent to igcm_h2o_vap and etc.
     451    q_prof(:,1) = SCALAR(i,kps:kpe,j,P_mu_m0as) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     452    q_prof(:,2) = SCALAR(i,kps:kpe,j,P_mu_m3as) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     453    q_prof(:,3) = SCALAR(i,kps:kpe,j,P_mu_m0af) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     454    q_prof(:,4) = SCALAR(i,kps:kpe,j,P_mu_m3af) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     455    q_prof(:,5) = SCALAR(i,kps:kpe,j,P_mu_m0n) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     456    q_prof(:,6) = SCALAR(i,kps:kpe,j,P_mu_m3n) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     457    q_prof(:,7) = SCALAR(i,kps:kpe,j,P_mu_m3CH4) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
     458    q_prof(:,8) = SCALAR(i,kps:kpe,j,P_CH4) / (1.d0 + SCALAR(i,kps:kpe,j,P_CH4))
    447459ELSE
    448460    q_prof(:,1:nq) = SCALAR(i,kps:kpe,j,2:nq+1)  !! the names were set above !! one dummy tracer in WRF
     
    651663            DQICE,DQVAP,REEVAP,SURFRAIN,&
    652664            ALBEQ,FLUXTOP_DN,FLUXABS_SW,FLUXTOP_LW,FLUXSURF_SW,&
    653             FLUXSURF_LW,FLXGRD,DTLSC,DTRAIN,DT_MOIST,H2OICE_REFF,LATENT_HF)
     665            FLUXSURF_LW,FLXGRD,DTLSC,DTRAIN,DT_MOIST,H2OICE_REFF,LATENT_HF,&
     666            DT_COND)
    654667!!!
    655668!print *, '** ',planet_type,'** OUTPUT PHYSICS DONE'
     
    739752      SCALAR(i,kps:kpe,j,P_MARKER) = SCALAR(i,kps:kpe,j,P_MARKER)*exp(-dt/tau_decay)
    740753      SCALAR(i,1,j,P_MARKER) = 1. !! this tracer is emitted in the surface layer
     754    CASE(61) !emoisan tobechecked
     755      scalar(i,kps:kpe,j,P_mu_m0as)=scalar(i,kps:kpe,j,P_mu_m0as) &
     756           +zdqfi_omp(subs,kps:kpe,1)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     757      scalar(i,kps:kpe,j,P_mu_m3as)=scalar(i,kps:kpe,j,P_mu_m3as) &
     758           +zdqfi_omp(subs,kps:kpe,2)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     759      scalar(i,kps:kpe,j,P_mu_m0af)=scalar(i,kps:kpe,j,P_mu_m0af) &
     760           +zdqfi_omp(subs,kps:kpe,3)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     761      scalar(i,kps:kpe,j,P_mu_m3af)=scalar(i,kps:kpe,j,P_mu_m3af) &
     762           +zdqfi_omp(subs,kps:kpe,4)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     763      scalar(i,kps:kpe,j,P_mu_m0n)=scalar(i,kps:kpe,j,P_mu_m0n) &
     764           +zdqfi_omp(subs,kps:kpe,5)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     765      scalar(i,kps:kpe,j,P_mu_m3n)=scalar(i,kps:kpe,j,P_mu_m3n) &
     766           +zdqfi_omp(subs,kps:kpe,6)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     767      scalar(i,kps:kpe,j,P_mu_m3CH4)=scalar(i,kps:kpe,j,P_mu_m3CH4) &
     768           +zdqfi_omp(subs,kps:kpe,7)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
     769      scalar(i,kps:kpe,j,P_CH4)=scalar(i,kps:kpe,j,P_CH4) &
     770           +zdqfi_omp(subs,kps:kpe,8)*dt * (1.d0+scalar(i,kps:kpe,j,P_CH4))
    741771    CASE DEFAULT
    742772      !SCALAR(i,kps:kpe,j,2:nq+1)=SCALAR(i,kps:kpe,j,2:nq+1)+zdqfi_omp(subs,kps:kpe,1:nq)*dt !!! here dt is needed
  • trunk/WRF.COMMON/INTERFACES_V4/module_model_constants.F

    r2872 r3661  
    2626   REAL :: cp !          = 7.*r_d/2.  !
    2727
    28    REAL    , PARAMETER :: r_v          = 461.6      ! gas constant for water vapor (J deg^-1 kg^-1)
     28   REAL :: r_v !         = 461.6      ! gas constant for water vapor (J deg^-1 kg^-1)
    2929   REAL :: cv !          = cp-r_d     ! Specific heat of air at contant volume (J deg^-1 kg^-1)
    3030   REAL :: cpv !         = 4.*r_v
    3131   REAL :: cvv !         = cpv-r_v    !
    3232   REAL :: cvpm !        = -cv/cp
    33    REAL    , PARAMETER :: cliq         = 4190.      ! specific heat of liquid water at 0^oC
    34    REAL    , PARAMETER :: cice         = 2106.      ! specific heat of ice at 0^oC
    35    REAL    , PARAMETER :: psat         = 610.78
     33   REAL :: cliq !        = 4190.      ! specific heat of liquid water at 0^oC
     34   REAL :: cice !        = 2106.      ! specific heat of ice at 0^oC
     35   REAL :: psat !        = 610.78
    3636   REAL :: rcv !         = r_d/cv     !
    3737   REAL :: rcp !         = r_d/cp
     
    4949   REAL :: reradius !     = 1./6370.0e03  ! reciprocal of earth radius (m^-1)
    5050
    51    REAL    , PARAMETER :: asselin      = .025
     51   REAL    , PARAMETER :: asselin      = .025 ! for asselin filter?
    5252!   REAL    , PARAMETER :: asselin      = .0
    53    REAL    , PARAMETER :: cb           = 25.
     53   REAL :: cb !          = 25.
    5454
    5555   REAL    , PARAMETER :: XLV0         = 3.15E6       !  constant defined for calculation of latent heating
     
    266266     g            = 1.35
    267267     r_d          = 298.734319568
     268     r_v          = 518.          ! gas constant for methane vapor at Titan (J.K-1.kg-1)
    268269     cp           = 1038.72627727
    269270     t0           = 94. ! earth : 300
Note: See TracChangeset for help on using the changeset viewer.