Ignore:
Timestamp:
Nov 5, 2025, 6:17:11 PM (4 weeks ago)
Author:
debatzbr
Message:

Pluto PCM: Add cloud initialization and cloud-related diagnostics.
BBT

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/libf/muphypluto/mp2m_intgcm.F90

    r3951 r3952  
    88    !
    99    !     The module also contains three methods:
    10     !        - mm_initialize(dt,haze_prod_pCH4,p_prod,tx_prod,rc_prod,rm,df,rho_aer,rplanet,g0,air_rad,air_mmol,cfgpath)
     10    !        - mm_initialize(dt,call_CH4hazeprod,p_prod,tx_prod,rc_prod,rm,df,rho_aer,rplanet,g0,air_rad,air_mmol,cfgpath)
    1111    !        - read_aprm(parser,sec,pp)
    1212    !        - abort_program(err)
     
    2929    CONTAINS
    3030
    31     SUBROUTINE mm_initialize(dt,haze_prod_pCH4,p_prod,tx_prod,rc_prod,rm,df,rho_aer,rplanet,g0,air_rad,air_mmol,clouds,cfgpath)
     31    SUBROUTINE mm_initialize(dt,call_CH4hazeprod,p_prod,tx_prod,rc_prod,rm,df,rho_aer,rplanet,g0,air_rad,air_mmol,clouds,cfgpath)
    3232        !! Initialize global parameters of the model.
    3333        !!
     
    4646        REAL(kind=mm_wp), INTENT(in)           :: dt
    4747        ! Enable/Disable production from CH4 photolysis.
    48         LOGICAL                                :: haze_prod_pCH4
     48        LOGICAL                                :: call_CH4hazeprod
    4949        ! Aerosol production pressure level (Pa).
    5050        REAL(kind=mm_wp), INTENT(in)           :: p_prod
     
    8484        ! Thresholds related parameters.
    8585        REAL(kind=mm_wp)       :: m0as_min,rcs_min,m0af_min,rcf_min
     86        REAL(kind=mm_wp)       :: m0ccn_min,drad_min
    8687        ! Debug mode control flag (may print lot of stuff if enabled).
    8788        LOGICAL                :: wdebug
     
    105106        m0af_min    = 1e-8_mm_wp
    106107        rcf_min     = 1e-9_mm_wp
     108        m0ccn_min   = 1e-8_mm_wp
     109        drad_min    = 1e-9_mm_wp
    107110        wdebug      = .false.
    108111   
     
    132135        err = mm_check_opt(cfg_get_value(cparser,"m0af_min",m0af_min)                 ,m0af_min   ,1e-8_mm_wp,mm_log)
    133136        err = mm_check_opt(cfg_get_value(cparser,"rcf_min",rcf_min)                   ,rcf_min    ,rm        ,mm_log)
     137        err = mm_check_opt(cfg_get_value(cparser,"m0ccn_min",m0ccn_min)               ,m0ccn_min  ,1e-8_mm_wp,mm_log)
     138        err = mm_check_opt(cfg_get_value(cparser,"drad_min",drad_min)                 ,drad_min   ,1e-9_mm_wp,mm_log)
    134139        err = mm_check_opt(cfg_get_value(cparser,"debug",wdebug)                      ,wdebug     ,.false.   ,mm_log)
    135140
     
    154159        ! Transfert probabilities (S --> F):
    155160        ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    156         err = mm_check_opt(cfg_get_value(cparser, "transfert_probability", mm_w_ps2s), mm_w_ps2s, wlog=mm_log)
     161        err = mm_check_opt(cfg_get_value(cparser, "transfert_probability", mm_call_ps2s), mm_call_ps2s, wlog=mm_log)
    157162        IF (err/=0) call abort_program(err)
    158163
    159         IF (mm_w_haze_coag .AND. mm_w_ps2s) THEN
     164        IF (mm_call_hazecoag .AND. mm_call_ps2s) THEN
    160165            err = mm_check_opt(cfg_get_value(cparser, "ps2s_file", pssfile), pssfile)
    161166            IF (err /= 0) call abort_program(err)
     
    177182        ! Mean electric correction:
    178183        ! ~~~~~~~~~~~~~~~~~~~~~~~~~
    179         err = mm_check_opt(cfg_get_value(cparser, "electric_charging", mm_w_qe), mm_w_qe, wlog=mm_log)
     184        err = mm_check_opt(cfg_get_value(cparser, "electric_charging", mm_call_qe), mm_call_qe, wlog=mm_log)
    180185        IF (err/=0) call abort_program(err)
    181186
    182         IF (mm_w_haze_coag .AND. mm_w_qe) THEN
     187        IF (mm_call_hazecoag .AND. mm_call_qe) THEN
    183188            err = mm_check_opt(cfg_get_value(cparser, "mq_file", mqfile), mqfile)
    184189            IF (err /= 0) call abort_program(err)
     
    224229        ! 2. YAMMS initialization
    225230        !------------------------
    226         err = mm_global_init_0(dt,df,rm,rho_aer,haze_prod_pCH4,p_prod,tx_prod,rc_prod, &
    227                                rplanet,g0,air_rad,air_mmol,coag_choice,                &
    228                                w_h_prod,w_h_sed,w_h_coag,fwsed_m0,fwsed_m3,            &
    229                                m0as_min,rcs_min,m0af_min,rcf_min,                      &
    230                                clouds,spcpath,wdebug)
     231        err = mm_global_init_0(dt,df,rm,rho_aer,call_CH4hazeprod,p_prod,tx_prod,rc_prod, &
     232                               rplanet,g0,air_rad,air_mmol,coag_choice,                  &
     233                               w_h_prod,w_h_sed,w_h_coag,fwsed_m0,fwsed_m3,              &
     234                               m0as_min,rcs_min,m0af_min,rcf_min,                        &
     235                               clouds,spcpath,m0ccn_min,drad_min                         &
     236                               wdebug)
    231237        IF (err /= 0) call abort_program(err)
    232238       
    233239        ! Dump parameters.
    234240        WRITE(*,'(a)')        "========= MUPHYS PARAMETERS ==========="
    235         WRITE(*,'(a,L2)')     "transfert_probability: ", mm_w_ps2s
    236         WRITE(*,'(a,L2)')     "electric_charging    : ", mm_w_qe
     241        WRITE(*,'(a,L2)')     "transfert_probability: ", mm_call_ps2s
     242        WRITE(*,'(a,L2)')     "electric_charging    : ", mm_call_qe
    237243        call mm_dump_parameters()
    238244
Note: See TracChangeset for help on using the changeset viewer.