Changeset 6028 for LMDZ6


Ignore:
Timestamp:
Jan 14, 2026, 8:26:28 PM (10 days ago)
Author:
evignon
Message:

changement de nom des routines et module de neige soufflee par coherence avec
la nomenclature de replayisation
+ passage de deux flags dans lmdz_lscp_ini

Location:
LMDZ6/trunk/libf
Files:
4 added
5 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/lmdz_call_lscp.f90

    r6024 r6028  
    2424                        pfrac_impa, pfrac_nucl, pfrac_1nucl, &
    2525                        prfl, psfl, rhcl, qta, fraca, &
    26                         tv, pspsk, tla, thl, wth, iflag_cld_th, &
    27                         iflag_ice_thermo, distcltop, temp_cltop, &
     26                        tv, pspsk, tla, thl, wth, &
     27                        distcltop, temp_cltop, &
    2828                        tke, tke_dissip, &
    2929                        fm_therm, entr_therm, detr_therm, &
     
    6666      INTEGER, INTENT(IN)   :: nbsrf, is_ter, is_lic ! number of subgrid tiles and indices for land and landice
    6767      INTEGER, INTENT(IN)   :: abortphy, flag_inhib_tend, itap ! flag and physics time counter for add_phys_tend
    68       INTEGER, INTENT(IN)   :: iflag_ice_thermo! flag to activate the ice thermodynamics
    6968      INTEGER, INTENT(IN)   :: nqo             ! number of water species
    7069      LOGICAL, INTENT(IN)   :: ok_new_lscp     ! flag that controls the version of lscp code used
     
    9190      !Inputs associated with thermal plumes
    9291
    93       INTEGER, INTENT(IN)   :: iflag_cld_th    ! flag that determines the distribution of convective clouds
    9492      REAL, DIMENSION(klon, klev), INTENT(IN)   :: tv              ! virtual potential temperature [K]
    9593      REAL, DIMENSION(klon, klev), INTENT(IN)   :: qta             ! specific humidity within thermals [kg/kg]
     
    250248      CALL ratqs_main_first(klon, cell_area)
    251249
    252       CALL ratqs_main(klon, klev, nbsrf, is_ter, is_lic, &
    253                       iflag_cld_th, dtime, &
     250      CALL ratqs_main(klon, klev, nbsrf, is_ter, is_lic, dtime, &
    254251                      pctsrf, s_pblh, zstd, wake_s, wake_deltaq, &
    255252                      paprs, pplay, temp, qt, &
     
    282279                   frac_impa, frac_nucl, beta, &
    283280                   prfl, psfl, rhcl, &
    284                    qta, fraca, tv, pspsk, tla, thl, wth, iflag_cld_th, &
    285                    iflag_ice_thermo, distcltop, temp_cltop, &
     281                   qta, fraca, tv, pspsk, tla, thl, wth, &
     282                   distcltop, temp_cltop, &
    286283                   tke, tke_dissip, &
    287284                   entr_therm, detr_therm, &
     
    310307                       frac_impa, frac_nucl, beta, &
    311308                       prfl, psfl, rhcl, &
    312                        qta, fraca, tv, pspsk, tla, thl, iflag_cld_th, &
    313                        iflag_ice_thermo, &
     309                       qta, fraca, tv, pspsk, tla, thl, &
    314310                       cloudth_sth, cloudth_senv, cloudth_sigmath, cloudth_sigmaenv)
    315311
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.f90

    r6024 r6028  
    3434   INTEGER, SAVE, PROTECTED :: niter_lscp = 5      ! number of iterations to calculate autoconversion to precipitation
    3535   !$OMP THREADPRIVATE(niter_lscp)
     36
     37   INTEGER, SAVE, PROTECTED :: iflag_ice_thermo    ! activation of ice thermodynamics
     38   !$OMP THREADPRIVATE(iflag_ice_thermo)
     39
     40   INTEGER, SAVE, PROTECTED :: iflag_cld_th        ! controls the properties of clouds in presence of thermals
     41   !$OMP THREADPRIVATE(iflag_cld_th)
    3642
    3743   INTEGER, SAVE, PROTECTED :: iflag_evap_prec = 1 ! precipitation evaporation flag. 0: nothing, 1: "old way",
     
    398404CONTAINS
    399405
    400       SUBROUTINE lscp_ini(dtime, klon, klev, iflag_thermals, lunout_in, &
    401                        prt_level_in, ok_ice_supersat_in, fl_cor_ebil_in, &
     406      SUBROUTINE lscp_ini(dtime, klon, klev, iflag_thermals, iflag_cld_th_in,  &
     407                       iflag_ice_thermo_in, lunout_in, prt_level_in,           &
     408                       ok_ice_supersat_in, fl_cor_ebil_in, &
    402409                       RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in, RVTMP2_in, &
    403410                       RTT_in, RD_in, RV_in, RG_in, RPI_in, EPS_W_in)
     
    407414      REAL, INTENT(IN)      :: dtime
    408415      INTEGER, INTENT(IN)   :: klon, klev, iflag_thermals
     416      INTEGER, INTENT(IN)   :: iflag_cld_th_in, iflag_ice_thermo_in
    409417      INTEGER, INTENT(IN)   :: lunout_in, prt_level_in, fl_cor_ebil_in
    410418      LOGICAL, INTENT(IN)   :: ok_ice_supersat_in
     
    421429      fl_cor_ebil = fl_cor_ebil_in
    422430      ok_ice_supersat = ok_ice_supersat_in
     431      iflag_cld_th=iflag_cld_th_in
     432      iflag_ice_thermo=iflag_ice_thermo_in
    423433
    424434      RG = RG_in
     
    608618      WRITE (lunout, *) 'lscp_ini, temp_nowater', temp_nowater
    609619      WRITE (lunout, *) 'lscp_ini, ok_bug_phase_lscp', ok_bug_phase_lscp
     620      WRITE (lunout, *) 'lscp_ini, iflag_cld_th', iflag_cld_th
     621      WRITE (lunout, *) 'lscp_ini, iflag_ice_thermo', iflag_ice_thermo
     622
    610623      ! for poprecip
    611624      WRITE (lunout, *) 'lscp_ini, ok_poprecip', ok_poprecip
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_main.f90

    r6024 r6028  
    1818                   frac_impa, frac_nucl, beta, &
    1919                   prfl, psfl, rhcl, qta, fraca, &
    20                    tv, pspsk, tla, thl, wth, iflag_cld_th, &
    21                    iflag_ice_thermo, distcltop, temp_cltop, &
     20                   tv, pspsk, tla, thl, wth, &
     21                   distcltop, temp_cltop, &
    2222                   tke, tke_dissip, &
    2323                   entr_therm, detr_therm, &
     
    8383      USE lmdz_lscp_ini, ONLY: ok_radocond_snow, a_tr_sca
    8484      USE lmdz_lscp_ini, ONLY: iflag_cloudth_vert, iflag_t_glace, iflag_fisrtilp_qsat
     85      USE lmdz_lscp_ini, ONLY: iflag_cld_th, iflag_ice_thermo
    8586      USE lmdz_lscp_ini, ONLY: min_frac_th_cld, temp_nowater
    8687      USE lmdz_lscp_ini, ONLY: RCPD, RLSTT, RLVTT, RVTMP2, RTT, RD, RG
     
    99100
    100101      INTEGER, INTENT(IN)   :: klon, klev       ! number of horizontal grid points and vertical levels
    101       INTEGER, INTENT(IN)   :: iflag_ice_thermo! flag to activate the ice thermodynamics
    102102
    103103      REAL, INTENT(IN)   :: dtime           ! time step [s]
     
    120120      !Inputs associated with thermal plumes
    121121
    122       INTEGER, INTENT(IN)   :: iflag_cld_th    ! flag that determines the distribution of convective clouds
    123122      REAL, DIMENSION(klon, klev), INTENT(IN)   :: tv                  ! virtual potential temperature [K]
    124123      REAL, DIMENSION(klon, klev), INTENT(IN)   :: qta                 ! specific humidity within thermals [kg/kg]
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_old.f90

    r6024 r6028  
    6363                       frac_impa, frac_nucl, beta, &
    6464                       prfl, psfl, rhcl, zqta, fraca, &
    65                        ztv, zpspsk, ztla, zthl, iflag_cld_th, &
    66                        iflag_ice_thermo, &
     65                       ztv, zpspsk, ztla, zthl, &
    6766                       cloudth_sth, cloudth_senv, cloudth_sigmath, cloudth_sigmaenv)
    6867
     
    7574      USE lmdz_lscp_ini, ONLY: fl_cor_ebil
    7675      USE lmdz_lscp_ini, ONLY: iflag_t_glace, t_glace_min, t_glace_max, exposant_glace
     76      USE lmdz_lscp_ini, ONLY: iflag_cld_th, iflag_ice_thermo
    7777      USE lmdz_lscp_ini, ONLY: seuil_neb, rain_int_min, iflag_evap_prec, iflag_oldbug_fisrtilp, a_tr_sca
    7878      USE lmdz_lscp_ini, ONLY: iflag_cloudth_vert, iflag_rain_incloud_vol
     
    119119      REAL, DIMENSION(klon, klev), INTENT(IN)   :: q      ! humidite specifique (kg/kg)
    120120      LOGICAL, DIMENSION(klon, klev), INTENT(IN)   :: ptconv ! points ou le schema de conv. prof. est actif
    121       INTEGER, INTENT(IN)   :: iflag_cld_th
    122       INTEGER, INTENT(IN)   :: iflag_ice_thermo
    123121      !
    124122      ! Inputs lies aux thermiques
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_subgridvarq.f90

    r6024 r6028  
    3131
    3232!=======================================================================
    33    SUBROUTINE ratqs_main(klon, klev, nbsrf, is_ter, is_lic, &
    34                          iflag_cld_th, pdtphys, &
     33   SUBROUTINE ratqs_main(klon, klev, nbsrf, is_ter, is_lic, pdtphys, &
    3534                         pctsrf, s_pblh, zstd, wake_s, wake_deltaq, &
    3635                         paprs, pplay, t_seri, q_seri, &
     
    4039                         ratqsc, ratqs, ratqs_inter_, sigma_qtherm)
    4140
    42       USE lmdz_lscp_ini, ONLY: prt_level, lunout, iflag_ratqs
     41      USE lmdz_lscp_ini, ONLY: prt_level, lunout, iflag_ratqs, iflag_cld_th
    4342      USE lmdz_lscp_ini, ONLY: ratqsbas, ratqshaut
    4443      USE lmdz_lscp_ini, ONLY: tau_ratqs, ratqsp0, ratqsdp
     
    7170      integer, intent(in) :: klon, klev           ! horizontal and vertical dimensions
    7271      integer, intent(in) :: nbsrf, is_ter, is_lic ! number of subgrid tiles and indices for land and landice
    73       integer, intent(in) :: iflag_cld_th        ! flag that controls cloud properties in presence of thermals
    7472      real, intent(in)     :: pdtphys             ! physics time step [s]
    7573      real, dimension(klon, klev + 1), intent(in) :: paprs ! pressure at layer interfaces [Pa]
  • LMDZ6/trunk/libf/phylmd/pbl_surface_subsrf_mod.F90

    r6014 r6028  
    199199         frac_tersrf, z0m_tersrf, ratio_z0m_z0h_tersrf !AM
    200200    use phys_output_var_mod, only: tkt, tks, taur, sss
    201     use lmdz_blowing_snow_ini, only : zeta_bs
     201    use lmdz_blosno_ini, only : zeta_bs
    202202    USE dimsoil_mod_h, ONLY: nsoilmx
    203203    USE surf_param_mod, ONLY: eff_surf_param  !AM
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r6027 r6028  
    9595    use wxios_mod, ONLY: g_ctx, wxios_set_context
    9696    USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post
    97     USE lmdz_call_blowing_snow, ONLY : call_blowing_snow
     97    USE lmdz_call_blosno, ONLY : call_blosno
    9898    USE lmdz_call_lscp, ONLY: call_lscp
    9999    USE lmdz_call_reevap, ONLY : call_reevap
     
    109109    USE calltherm_mod, ONLY : calltherm
    110110    USE lmdz_thermcell_dtke, ONLY : thermcell_dtke
    111     USE lmdz_blowing_snow_ini, ONLY : blowing_snow_ini , qbst_bs
     111    USE lmdz_blosno_ini, ONLY : blosno_ini , qbst_bs
    112112    USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas
    113113    USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini
     
    18731873       CALL thermcell_ini(iflag_thermals,prt_level,tau_thermals,lunout, &
    18741874            &    RG,RD,RCPD,RKAPPA,RLVTT,RETV)
    1875        CALL lscp_ini(pdtphys,klon,klev,iflag_thermals,lunout,prt_level,       &
    1876                      ok_ice_supersat,fl_cor_ebil,                             &
    1877                      RCPD,RLSTT,RLVTT,RLMLT,RVTMP2,RTT,RD,RV,RG,RPI,EPS_W)
    1878        CALL blowing_snow_ini(RCPD, RLSTT, RLVTT, RLMLT, &
     1875        CALL lscp_ini(pdtphys,klon,klev,iflag_thermals,iflag_cld_th,iflag_ice_thermo, &
     1876                  lunout,prt_level,ok_ice_supersat,fl_cor_ebil,                       &
     1877                  RCPD,RLSTT,RLVTT,RLMLT,RVTMP2,RTT,RD,RV,RG,RPI,EPS_W)
     1878       CALL blosno_ini(RCPD, RLSTT, RLVTT, RLMLT, &
    18791879            RVTMP2, RTT,RD,RG, RV, RPI)
    18801880       ! Test de coherence sur oc_cdnc utilisé uniquement par cloud_optics_prop
     
    30833083    IF (ok_bs) THEN
    30843084
    3085        CALL call_blowing_snow(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, &
     3085       CALL call_blosno(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, &
    30863086                              t_seri,q_seri,qbs_seri,pplay,paprs, &
    30873087                               d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall)
     
    39743974     pfrac_impa, pfrac_nucl, pfrac_1nucl,               &
    39753975     prfl, psfl, rhcl, zqasc, fraca,                    &
    3976      ztv, zpspsk, ztla, zthl, zw2, iflag_cld_th,        &
    3977      iflag_ice_thermo, distcltop, temp_cltop,           &
     3976     ztv, zpspsk, ztla, zthl, zw2,                      &
     3977     distcltop, temp_cltop,                             &
    39783978     pbl_tke(:,:,is_ave), pbl_eps(:,:,is_ave),          &
    39793979     fm_therm, entr_therm, detr_therm,                  &
  • LMDZ6/trunk/libf/phylmd/surf_landice_mod.F90

    r5969 r6028  
    8989    USE clesphys_mod_h
    9090    USE yomcst_mod_h
    91     USE lmdz_blowing_snow_ini, ONLY : c_esalt_bs, zeta_bs, pbst_bs, prt_bs, rhoice_bs, rhohard_bs
    92     USE lmdz_blowing_snow_ini, ONLY : rhofresh_bs, tau_eqsalt_bs, tau_dens0_bs, tau_densmin_bs
     91    USE lmdz_blosno_ini, ONLY : c_esalt_bs, zeta_bs, pbst_bs, prt_bs, rhoice_bs, rhohard_bs
     92    USE lmdz_blosno_ini, ONLY : rhofresh_bs, tau_eqsalt_bs, tau_dens0_bs, tau_densmin_bs
    9393    USE surf_inlandsis_mod,  ONLY : surf_inlandsis
    9494
  • LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90

    r5943 r6028  
    487487         frac_tersrf, z0m_tersrf, ratio_z0m_z0h_tersrf, albedo_tersrf !AM
    488488    USE phys_output_var_mod, ONLY : tkt, tks, taur, sss
    489     USE lmdz_blowing_snow_ini, ONLY : zeta_bs
     489    USE lmdz_blosno_ini, ONLY : zeta_bs
    490490    USE wxios_mod, ONLY : missing_val_xios => missing_val, using_xios
    491491    USE netcdf, ONLY : missing_val_netcdf => nf90_fill_real
  • LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90

    r6012 r6028  
    9797    USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post
    9898    USE lmdz_lscp_old, ONLY : fisrtilp, fisrtilp_first
    99     !USE lmdz_call_blowing_snow, ONLY : call_blowing_snow
    10099    USE calwake_mod, ONLY : calwake, calwake_first
    101100    USE lmdz_wake_ini, ONLY : wake_ini
     
    107106    USE calltherm_mod, ONLY : calltherm
    108107    USE lmdz_thermcell_dtke, ONLY : thermcell_dtke
    109     USE lmdz_blowing_snow_ini, ONLY : blowing_snow_ini , qbst_bs
     108    USE lmdz_blosno_ini, ONLY : blosno_ini, qbst_bs
    110109    USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas
    111110    USE lmdz_lscp_subgridvarq, ONLY : ratqs_main, ratqs_main_first
     
    20242023       CALL thermcell_ini(iflag_thermals,prt_level,tau_thermals,lunout, &
    20252024   &    RG,RD,RCPD,RKAPPA,RLVTT,RETV)
    2026        CALL lscp_ini(pdtphys,klon,klev,iflag_thermals,lunout,prt_level,       &
    2027                      ok_ice_supersat,fl_cor_ebil,                             &
    2028                      RCPD,RLSTT,RLVTT,RLMLT,RVTMP2,RTT,RD,RV,RG,RPI,EPS_W)
    2029        CALL blowing_snow_ini(RCPD, RLSTT, RLVTT, RLMLT, &
    2030                              RVTMP2, RTT,RD,RG, RV, RPI)
     2025       CALL lscp_ini(pdtphys,klon,klev,iflag_thermals,iflag_cld_th,iflag_ice_thermo, &
     2026                  lunout,prt_level,ok_ice_supersat,fl_cor_ebil,                       &
     2027                  RCPD,RLSTT,RLVTT,RLMLT,RVTMP2,RTT,RD,RV,RG,RPI,EPS_W)
     2028       CALL blosno_ini(RCPD, RLSTT, RLVTT, RLMLT, &
     2029            RVTMP2, RTT,RD,RG, RV, RPI)
     2030
    20312031       ! Test de coherence sur oc_cdnc utilisé uniquement par cloud_optics_prop
    20322032       IF (ok_newmicro) then
     
    36173617    !IF (ok_bs) THEN
    36183618
    3619     ! CALL call_blowing_snow(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, &
     3619    ! CALL call_blosno(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, &
    36203620    !                          t_seri,q_seri,qbs_seri,pplay,paprs, &
    36213621    !                           d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall)
  • LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90

    r5943 r6028  
    5151    USE yomcst_mod_h
    5252    USE ioipsl_getin_p_mod, ONLY : getin_p
    53     USE lmdz_blowing_snow_ini, ONLY : c_esalt_bs, zeta_bs, pbst_bs, prt_bs, rhoice_bs, rhohard_bs
    54     USE lmdz_blowing_snow_ini, ONLY : rhofresh_bs, tau_eqsalt_bs, tau_dens0_bs, tau_densmin_bs
     53    USE lmdz_blosno_ini, ONLY : c_esalt_bs, zeta_bs, pbst_bs, prt_bs, rhoice_bs, rhohard_bs
     54    USE lmdz_blosno_ini, ONLY : rhofresh_bs, tau_eqsalt_bs, tau_dens0_bs, tau_densmin_bs
    5555    USE surf_inlandsis_mod,  ONLY : surf_inlandsis
    5656
Note: See TracChangeset for help on using the changeset viewer.