- Timestamp:
- Jan 14, 2026, 8:26:28 PM (10 days ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 4 added
- 5 deleted
- 11 edited
-
phylmd/lmdz_blosno_ini.f90 (added)
-
phylmd/lmdz_blosno_sublimsedim.f90 (added)
-
phylmd/lmdz_blowing_snow_ini.f90 (deleted)
-
phylmd/lmdz_blowing_snow_sublim_sedim.f90 (deleted)
-
phylmd/lmdz_call_blosno.f90 (added)
-
phylmd/lmdz_call_blowing_snow.f90 (deleted)
-
phylmd/lmdz_call_lscp.f90 (modified) (6 diffs)
-
phylmd/lmdz_lscp_ini.f90 (modified) (5 diffs)
-
phylmd/lmdz_lscp_main.f90 (modified) (4 diffs)
-
phylmd/lmdz_lscp_old.f90 (modified) (3 diffs)
-
phylmd/lmdz_lscp_subgridvarq.f90 (modified) (3 diffs)
-
phylmd/pbl_surface_subsrf_mod.F90 (modified) (1 diff)
-
phylmd/physiq_mod.F90 (modified) (5 diffs)
-
phylmd/surf_landice_mod.F90 (modified) (1 diff)
-
phylmdiso/lmdz_blosno_ini.f90 (added)
-
phylmdiso/lmdz_blowing_snow_ini.f90 (deleted)
-
phylmdiso/lmdz_blowing_snow_sublim_sedim.f90 (deleted)
-
phylmdiso/pbl_surface_mod.F90 (modified) (1 diff)
-
phylmdiso/physiq_mod.F90 (modified) (4 diffs)
-
phylmdiso/surf_landice_mod.F90 (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_call_lscp.f90
r6024 r6028 24 24 pfrac_impa, pfrac_nucl, pfrac_1nucl, & 25 25 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, & 28 28 tke, tke_dissip, & 29 29 fm_therm, entr_therm, detr_therm, & … … 66 66 INTEGER, INTENT(IN) :: nbsrf, is_ter, is_lic ! number of subgrid tiles and indices for land and landice 67 67 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 thermodynamics69 68 INTEGER, INTENT(IN) :: nqo ! number of water species 70 69 LOGICAL, INTENT(IN) :: ok_new_lscp ! flag that controls the version of lscp code used … … 91 90 !Inputs associated with thermal plumes 92 91 93 INTEGER, INTENT(IN) :: iflag_cld_th ! flag that determines the distribution of convective clouds94 92 REAL, DIMENSION(klon, klev), INTENT(IN) :: tv ! virtual potential temperature [K] 95 93 REAL, DIMENSION(klon, klev), INTENT(IN) :: qta ! specific humidity within thermals [kg/kg] … … 250 248 CALL ratqs_main_first(klon, cell_area) 251 249 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, & 254 251 pctsrf, s_pblh, zstd, wake_s, wake_deltaq, & 255 252 paprs, pplay, temp, qt, & … … 282 279 frac_impa, frac_nucl, beta, & 283 280 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, & 286 283 tke, tke_dissip, & 287 284 entr_therm, detr_therm, & … … 310 307 frac_impa, frac_nucl, beta, & 311 308 prfl, psfl, rhcl, & 312 qta, fraca, tv, pspsk, tla, thl, iflag_cld_th, & 313 iflag_ice_thermo, & 309 qta, fraca, tv, pspsk, tla, thl, & 314 310 cloudth_sth, cloudth_senv, cloudth_sigmath, cloudth_sigmaenv) 315 311 -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.f90
r6024 r6028 34 34 INTEGER, SAVE, PROTECTED :: niter_lscp = 5 ! number of iterations to calculate autoconversion to precipitation 35 35 !$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) 36 42 37 43 INTEGER, SAVE, PROTECTED :: iflag_evap_prec = 1 ! precipitation evaporation flag. 0: nothing, 1: "old way", … … 398 404 CONTAINS 399 405 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, & 402 409 RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in, RVTMP2_in, & 403 410 RTT_in, RD_in, RV_in, RG_in, RPI_in, EPS_W_in) … … 407 414 REAL, INTENT(IN) :: dtime 408 415 INTEGER, INTENT(IN) :: klon, klev, iflag_thermals 416 INTEGER, INTENT(IN) :: iflag_cld_th_in, iflag_ice_thermo_in 409 417 INTEGER, INTENT(IN) :: lunout_in, prt_level_in, fl_cor_ebil_in 410 418 LOGICAL, INTENT(IN) :: ok_ice_supersat_in … … 421 429 fl_cor_ebil = fl_cor_ebil_in 422 430 ok_ice_supersat = ok_ice_supersat_in 431 iflag_cld_th=iflag_cld_th_in 432 iflag_ice_thermo=iflag_ice_thermo_in 423 433 424 434 RG = RG_in … … 608 618 WRITE (lunout, *) 'lscp_ini, temp_nowater', temp_nowater 609 619 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 610 623 ! for poprecip 611 624 WRITE (lunout, *) 'lscp_ini, ok_poprecip', ok_poprecip -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_main.f90
r6024 r6028 18 18 frac_impa, frac_nucl, beta, & 19 19 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, & 22 22 tke, tke_dissip, & 23 23 entr_therm, detr_therm, & … … 83 83 USE lmdz_lscp_ini, ONLY: ok_radocond_snow, a_tr_sca 84 84 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 85 86 USE lmdz_lscp_ini, ONLY: min_frac_th_cld, temp_nowater 86 87 USE lmdz_lscp_ini, ONLY: RCPD, RLSTT, RLVTT, RVTMP2, RTT, RD, RG … … 99 100 100 101 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 thermodynamics102 102 103 103 REAL, INTENT(IN) :: dtime ! time step [s] … … 120 120 !Inputs associated with thermal plumes 121 121 122 INTEGER, INTENT(IN) :: iflag_cld_th ! flag that determines the distribution of convective clouds123 122 REAL, DIMENSION(klon, klev), INTENT(IN) :: tv ! virtual potential temperature [K] 124 123 REAL, DIMENSION(klon, klev), INTENT(IN) :: qta ! specific humidity within thermals [kg/kg] -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_old.f90
r6024 r6028 63 63 frac_impa, frac_nucl, beta, & 64 64 prfl, psfl, rhcl, zqta, fraca, & 65 ztv, zpspsk, ztla, zthl, iflag_cld_th, & 66 iflag_ice_thermo, & 65 ztv, zpspsk, ztla, zthl, & 67 66 cloudth_sth, cloudth_senv, cloudth_sigmath, cloudth_sigmaenv) 68 67 … … 75 74 USE lmdz_lscp_ini, ONLY: fl_cor_ebil 76 75 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 77 77 USE lmdz_lscp_ini, ONLY: seuil_neb, rain_int_min, iflag_evap_prec, iflag_oldbug_fisrtilp, a_tr_sca 78 78 USE lmdz_lscp_ini, ONLY: iflag_cloudth_vert, iflag_rain_incloud_vol … … 119 119 REAL, DIMENSION(klon, klev), INTENT(IN) :: q ! humidite specifique (kg/kg) 120 120 LOGICAL, DIMENSION(klon, klev), INTENT(IN) :: ptconv ! points ou le schema de conv. prof. est actif 121 INTEGER, INTENT(IN) :: iflag_cld_th122 INTEGER, INTENT(IN) :: iflag_ice_thermo123 121 ! 124 122 ! Inputs lies aux thermiques -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_subgridvarq.f90
r6024 r6028 31 31 32 32 !======================================================================= 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, & 35 34 pctsrf, s_pblh, zstd, wake_s, wake_deltaq, & 36 35 paprs, pplay, t_seri, q_seri, & … … 40 39 ratqsc, ratqs, ratqs_inter_, sigma_qtherm) 41 40 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 43 42 USE lmdz_lscp_ini, ONLY: ratqsbas, ratqshaut 44 43 USE lmdz_lscp_ini, ONLY: tau_ratqs, ratqsp0, ratqsdp … … 71 70 integer, intent(in) :: klon, klev ! horizontal and vertical dimensions 72 71 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 thermals74 72 real, intent(in) :: pdtphys ! physics time step [s] 75 73 real, dimension(klon, klev + 1), intent(in) :: paprs ! pressure at layer interfaces [Pa] -
LMDZ6/trunk/libf/phylmd/pbl_surface_subsrf_mod.F90
r6014 r6028 199 199 frac_tersrf, z0m_tersrf, ratio_z0m_z0h_tersrf !AM 200 200 use phys_output_var_mod, only: tkt, tks, taur, sss 201 use lmdz_blo wing_snow_ini, only : zeta_bs201 use lmdz_blosno_ini, only : zeta_bs 202 202 USE dimsoil_mod_h, ONLY: nsoilmx 203 203 USE surf_param_mod, ONLY: eff_surf_param !AM -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r6027 r6028 95 95 use wxios_mod, ONLY: g_ctx, wxios_set_context 96 96 USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post 97 USE lmdz_call_blo wing_snow, ONLY : call_blowing_snow97 USE lmdz_call_blosno, ONLY : call_blosno 98 98 USE lmdz_call_lscp, ONLY: call_lscp 99 99 USE lmdz_call_reevap, ONLY : call_reevap … … 109 109 USE calltherm_mod, ONLY : calltherm 110 110 USE lmdz_thermcell_dtke, ONLY : thermcell_dtke 111 USE lmdz_blo wing_snow_ini, ONLY : blowing_snow_ini , qbst_bs111 USE lmdz_blosno_ini, ONLY : blosno_ini , qbst_bs 112 112 USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas 113 113 USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini … … 1873 1873 CALL thermcell_ini(iflag_thermals,prt_level,tau_thermals,lunout, & 1874 1874 & 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 blo wing_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, & 1879 1879 RVTMP2, RTT,RD,RG, RV, RPI) 1880 1880 ! Test de coherence sur oc_cdnc utilisé uniquement par cloud_optics_prop … … 3083 3083 IF (ok_bs) THEN 3084 3084 3085 CALL call_blo wing_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, & 3086 3086 t_seri,q_seri,qbs_seri,pplay,paprs, & 3087 3087 d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall) … … 3974 3974 pfrac_impa, pfrac_nucl, pfrac_1nucl, & 3975 3975 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, & 3978 3978 pbl_tke(:,:,is_ave), pbl_eps(:,:,is_ave), & 3979 3979 fm_therm, entr_therm, detr_therm, & -
LMDZ6/trunk/libf/phylmd/surf_landice_mod.F90
r5969 r6028 89 89 USE clesphys_mod_h 90 90 USE yomcst_mod_h 91 USE lmdz_blo wing_snow_ini, ONLY : c_esalt_bs, zeta_bs, pbst_bs, prt_bs, rhoice_bs, rhohard_bs92 USE lmdz_blo wing_snow_ini, ONLY : rhofresh_bs, tau_eqsalt_bs, tau_dens0_bs, tau_densmin_bs91 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 93 93 USE surf_inlandsis_mod, ONLY : surf_inlandsis 94 94 -
LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90
r5943 r6028 487 487 frac_tersrf, z0m_tersrf, ratio_z0m_z0h_tersrf, albedo_tersrf !AM 488 488 USE phys_output_var_mod, ONLY : tkt, tks, taur, sss 489 USE lmdz_blo wing_snow_ini, ONLY : zeta_bs489 USE lmdz_blosno_ini, ONLY : zeta_bs 490 490 USE wxios_mod, ONLY : missing_val_xios => missing_val, using_xios 491 491 USE netcdf, ONLY : missing_val_netcdf => nf90_fill_real -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r6012 r6028 97 97 USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post 98 98 USE lmdz_lscp_old, ONLY : fisrtilp, fisrtilp_first 99 !USE lmdz_call_blowing_snow, ONLY : call_blowing_snow100 99 USE calwake_mod, ONLY : calwake, calwake_first 101 100 USE lmdz_wake_ini, ONLY : wake_ini … … 107 106 USE calltherm_mod, ONLY : calltherm 108 107 USE lmdz_thermcell_dtke, ONLY : thermcell_dtke 109 USE lmdz_blo wing_snow_ini, ONLY : blowing_snow_ini, qbst_bs108 USE lmdz_blosno_ini, ONLY : blosno_ini, qbst_bs 110 109 USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas 111 110 USE lmdz_lscp_subgridvarq, ONLY : ratqs_main, ratqs_main_first … … 2024 2023 CALL thermcell_ini(iflag_thermals,prt_level,tau_thermals,lunout, & 2025 2024 & 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 2031 2031 ! Test de coherence sur oc_cdnc utilisé uniquement par cloud_optics_prop 2032 2032 IF (ok_newmicro) then … … 3617 3617 !IF (ok_bs) THEN 3618 3618 3619 ! CALL call_blo wing_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, & 3620 3620 ! t_seri,q_seri,qbs_seri,pplay,paprs, & 3621 3621 ! d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall) -
LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90
r5943 r6028 51 51 USE yomcst_mod_h 52 52 USE ioipsl_getin_p_mod, ONLY : getin_p 53 USE lmdz_blo wing_snow_ini, ONLY : c_esalt_bs, zeta_bs, pbst_bs, prt_bs, rhoice_bs, rhohard_bs54 USE lmdz_blo wing_snow_ini, ONLY : rhofresh_bs, tau_eqsalt_bs, tau_dens0_bs, tau_densmin_bs53 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 55 55 USE surf_inlandsis_mod, ONLY : surf_inlandsis 56 56
Note: See TracChangeset
for help on using the changeset viewer.
