Changeset 6011
- Timestamp:
- Jan 9, 2026, 9:14:13 PM (2 days ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 1 added
- 1 deleted
- 6 edited
-
phylmd/lmdz_blowing_snow_sublim_sedim.f90 (modified) (2 diffs)
-
phylmd/lmdz_call_blowing_snow.f90 (modified) (1 diff)
-
phylmd/lmdz_call_lscp.f90 (added)
-
phylmd/lmdz_lscp_ini.f90 (modified) (3 diffs)
-
phylmd/lmdz_lscp_phase.f90 (modified) (1 diff)
-
phylmd/physiq_mod.F90 (modified) (19 diffs)
-
phylmdiso/lmdz_call_blowing_snow.f90 (deleted)
-
phylmdiso/physiq_mod.F90 (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_blowing_snow_sublim_sedim.f90
r5912 r6011 29 29 !INPUT 30 30 !===== 31 32 31 integer, intent(in) :: ngrid ! number of horizontal grid points 33 32 integer, intent(in) :: nlay ! number of vertical layers … … 44 43 ! OUTPUT 45 44 !======== 46 47 48 45 real, intent(out), dimension(ngrid,nlay) :: dtemp_bs ! temperature tendency [K/s] 49 46 real, intent(out), dimension(ngrid,nlay) :: dqv_bs ! water vapor tendency [kg/kg/s] -
LMDZ6/trunk/libf/phylmd/lmdz_call_blowing_snow.f90
r5912 r6011 4 4 contains 5 5 6 subroutine call_blowing_snow_sublim_sedim(ngrid,nlay,dtime,ustar,temp,q,qbs,pplay,paprs, &7 dtemp_bs,dq_bs,dqbs_bs,bsfl,precip_bs)6 subroutine call_blowing_snow(ngrid, nlay, abortphy, flag_inhib_tend, itap, dtime, ustar, temp, q, qb, pplay, paprs, & 7 dtemp_bs, dq_bs, dqb_bs, bsfl, precip_bs) 8 8 9 use lmdz_blowing_snow_sublim_sedim, only : blowing_snow_sublim_sedim 10 implicit none 9 !================================================================================================== 10 ! call_blowing_snow in the main interface between the LMDZ physics monitor physiq_mod 11 ! and the blowing snow parameterizations 12 ! 13 ! contact: Etienne Vignon etienne.vignon@lmd.ipsl.fr 14 !================================================================================================ 15 16 use lmdz_blowing_snow_sublim_sedim, only: blowing_snow_sublim_sedim 17 USE add_phys_tend_mod, ONLY: add_phys_tend, prt_enerbil 18 19 implicit none 20 !====================================================== 21 ! Declarations 22 !====================================================== 11 23 12 24 !INPUT 13 25 !===== 14 26 15 integer, intent(in) :: ngrid,nlay 16 real, intent(in) :: dtime 17 real, intent(in), dimension(ngrid) :: ustar 18 real, intent(in), dimension(ngrid,nlay) :: temp 19 real, intent(in), dimension(ngrid,nlay) :: q 20 real, intent(in), dimension(ngrid,nlay) :: qbs 21 real, intent(in), dimension(ngrid,nlay) :: pplay 22 real, intent(in), dimension(ngrid,nlay+1) :: paprs 23 27 INTEGER, INTENT(IN) :: abortphy, flag_inhib_tend, itap ! flag and physics time counter for add_phys_tend 28 integer, intent(in) :: ngrid ! number of horizontal grid points 29 integer, intent(in) :: nlay ! number of vertical layers 30 real, intent(in) :: dtime ! physics time step [s] 31 real, intent(in), dimension(ngrid) :: ustar ! surface friction velocity [m/s] 32 real, intent(in), dimension(ngrid, nlay) :: temp ! temperature of the air [K] 33 real, intent(in), dimension(ngrid, nlay) :: q ! specific content of water [kg/kg] 34 real, intent(in), dimension(ngrid, nlay) :: qb ! specific content of blowing snow [kg/kg] 35 real, intent(in), dimension(ngrid, nlay) :: pplay ! pressure at the middle of layers [Pa] 36 real, intent(in), dimension(ngrid, nlay + 1) :: paprs ! pressure at the layer bottom interface [Pa] 24 37 25 38 ! OUTPUT 26 39 !======== 40 real, intent(out), dimension(ngrid, nlay) :: dtemp_bs ! temperature tendency [K/s] 41 real, intent(out), dimension(ngrid, nlay) :: dq_bs ! water vapor tendency [kg/kg/s] 42 real, intent(out), dimension(ngrid, nlay) :: dqb_bs ! blowing snow mass tendancy [kg/kg/s] 43 real, intent(out), dimension(ngrid, nlay + 1) :: bsfl ! vertical profile of blowing snow vertical flux [kg/m2/s] 44 real, intent(out), dimension(ngrid) :: precip_bs ! surface sedimentation flux of blowing snow [kg/s/m2] 27 45 46 ! LOCAL 47 !======== 48 real, dimension(ngrid, nlay) :: du0, dv0, dql0, dqi0 28 49 29 real, intent(out), dimension(ngrid,nlay) :: dtemp_bs 30 real, intent(out), dimension(ngrid,nlay) :: dq_bs 31 real, intent(out), dimension(ngrid,nlay) :: dqbs_bs 32 real, intent(out), dimension(ngrid,nlay+1) :: bsfl 33 real, intent(out), dimension(ngrid) :: precip_bs 50 !================================================================= 51 ! Call to main routine of blowing snow sublimation and sedim. 52 !================================================================= 53 call blowing_snow_sublim_sedim(ngrid, nlay, dtime, ustar, temp, q, qb, pplay, paprs, & 54 dtemp_bs, dq_bs, dqb_bs, bsfl, precip_bs) 34 55 35 56 !================================================================= 57 ! Add tendencies 58 !================================================================= 59 du0(:, :) = 0. 60 dv0(:, :) = 0. 61 dql0(:, :) = 0. 62 dqi0(:, :) = 0. 36 63 64 CALL add_phys_tend(du0, dv0, dtemp_bs, dq_bs, dql0, dqi0, dqb_bs, paprs, & 65 'bsss', abortphy, flag_inhib_tend, itap, 0) 37 66 38 call blowing_snow_sublim_sedim(ngrid,nlay,dtime,ustar,temp,q,qbs,pplay,paprs, & 39 dtemp_bs,dq_bs,dqbs_bs,bsfl,precip_bs) 40 41 42 43 44 45 end subroutine call_blowing_snow_sublim_sedim 67 end subroutine call_blowing_snow 46 68 47 69 end module lmdz_call_blowing_snow -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.f90
r6006 r6011 23 23 REAL, SAVE, PROTECTED :: min_frac_thermals=1.e-10 ! minimum thermals fraction for use of bigaussian distribution 24 24 !$OMP THREADPRIVATE(min_frac_thermals) 25 26 REAL, SAVE, PROTECTED :: qlmax=999. ! maximum possible liquid water specific content in a mesh [kg/kg] 27 !$OMP THREADPRIVATE(qlmax) 28 29 REAL, SAVE, PROTECTED :: qimax=999. ! maximum possible ice water specific content in a mesh [kg/kg] 30 !$OMP THREADPRIVATE(qimax) 31 25 32 26 33 INTEGER, SAVE :: lunout, prt_level ! Logical unit number and level for standard output … … 443 450 CALL getin_p('iflag_evap_prec',iflag_evap_prec) 444 451 CALL getin_p('seuil_neb',seuil_neb) 452 453 CALL getin_p('oliqmax',qlmax) 454 CALL getin_p('qlmax',qlmax) 455 456 CALL getin_p('oicemax',qimax) 457 CALL getin_p('qimax',qimax) 458 445 459 CALL getin_p('ok_radocond_snow',ok_radocond_snow) 446 460 CALL getin_p('t_glace_max',t_glace_max) … … 562 576 WRITE(lunout,*) 'lscp_ini, iflag_evap_prec:', iflag_evap_prec 563 577 WRITE(lunout,*) 'lscp_ini, seuil_neb:', seuil_neb 578 WRITE(lunout,*) 'lscp_ini, qlmax:', qlmax 579 WRITE(lunout,*) 'lscp_ini, qimax:', qimax 564 580 WRITE(lunout,*) 'lscp_ini, ok_radocond_snow:', ok_radocond_snow 565 581 WRITE(lunout,*) 'lscp_ini, t_glace_max:', t_glace_max -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_phase.f90
r5999 r6011 1 !$gpum horizontal klon 1 2 MODULE lmdz_lscp_phase 2 3 -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r6007 r6011 95 95 USE write_field_phy 96 96 use wxios_mod, ONLY: g_ctx, wxios_set_context 97 USE lmdz_lscp_main, ONLY : lscp98 97 USE lmdz_call_cloud_optics_prop, ONLY : call_cloud_optics_prop, call_cloud_optics_prop_post 99 USE lmdz_ lscp_old, ONLY : fisrtilp, fisrtilp_first100 USE lmdz_call_ blowing_snow, ONLY : call_blowing_snow_sublim_sedim98 USE lmdz_call_blowing_snow, ONLY : call_blowing_snow 99 USE lmdz_call_lscp, ONLY: call_lscp 101 100 USE calwake_mod, ONLY : calwake, calwake_first 102 101 USE lmdz_wake_ini, ONLY : wake_ini … … 110 109 USE lmdz_blowing_snow_ini, ONLY : blowing_snow_ini , qbst_bs 111 110 USE lmdz_lscp_ini, ONLY : lscp_ini, ratqsbas 112 USE lmdz_lscp_subgridvarq, ONLY : ratqs_main, ratqs_main_first113 111 USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini 114 112 USE phys_output_var_mod, ONLY : cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv … … 748 746 INTEGER,SAVE :: iflag_adjwk=0 !jyg 749 747 !$OMP THREADPRIVATE(iflag_adjwk) !jyg 750 REAL,SAVE :: oliqmax=999.,oicemax=999.751 !$OMP THREADPRIVATE(oliqmax,oicemax)752 748 REAL, SAVE :: alp_offset 753 749 !$OMP THREADPRIVATE(alp_offset) … … 893 889 REAL dialiq(klon,klev) ! eau liquide nuageuse 894 890 REAL diafra(klon,klev) ! fraction nuageuse 895 REAL radocond(klon,klev) ! eau condensee nuageuse 891 REAL radocond(klon,klev) ! condensed water content seen by radiative scheme [kg/kg] 892 REAL radicefrac(klon,klev)! fraction of radocond that is ice [-] 896 893 ! 897 894 !XXX PB … … 1035 1032 !$OMP THREADPRIVATE(iflag_cld_th) 1036 1033 LOGICAL ptconvth(klon,klev) 1037 REAL picefra(klon,klev)1038 1034 REAL nm_oro(klon) 1039 1035 ! Variables liees a l'ecriture de la bande histoire physique … … 1501 1497 CALL getin_p('dtcon_multistep_max',dtcon_multistep_max) 1502 1498 CALL getin_p('dqcon_multistep_max',dqcon_multistep_max) 1503 CALL getin_p('oliqmax',oliqmax)1504 CALL getin_p('oicemax',oicemax)1505 1499 iflag_wake_tend = 0 1506 1500 CALL getin_p('iflag_wake_tend',iflag_wake_tend) … … 3087 3081 IF (ok_bs) THEN 3088 3082 3089 CALL call_blowing_snow_sublim_sedim(klon,klev,phys_tstep,zustar,t_seri,q_seri,qbs_seri,pplay,paprs, & 3090 d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall) 3091 3092 CALL add_phys_tend & 3093 (du0,dv0,d_t_bsss,d_q_bsss,dql0,dqi0,d_qbs_bsss,paprs,& 3094 'bsss',abortphy,flag_inhib_tend,itap,0) 3083 CALL call_blowing_snow(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, & 3084 t_seri,q_seri,qbs_seri,pplay,paprs, & 3085 d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall) 3095 3086 3096 3087 ENDIF … … 3956 3947 ! water distribution 3957 3948 3958 3959 CALL ratqs_main_first(klon, cell_area) 3960 CALL ratqs_main(klon,klev,nbsrf,is_ter,is_lic, & 3961 iflag_cld_th, pdtphys, & 3962 pctsrf,s_pblh,zstd, wake_s, wake_deltaq, & 3963 paprs,pplay,t_seri,q_seri, & 3964 qtc_cv, sigt_cv,detrain_cv,fm_cv,fqd,fqcomp,sigd,zqsat, & 3965 fm_therm,entr_therm,detr_therm,cell_area, & 3966 ratqsc,ratqs,ratqs_inter_,sigma_qtherm) 3967 3968 3969 picefra(:,:)=0. 3970 3971 IF (ok_new_lscp) THEN 3972 3973 DO k = 1, klev 3974 DO i = 1, klon 3975 ql_seri_lscp(i,k) = ratio_ql_qtot(i,k) * q_seri(i,k) 3976 qi_seri_lscp(i,k) = ratio_qi_qtot(i,k) * q_seri(i,k) 3977 ENDDO 3978 ENDDO 3979 3980 3981 !--mise à jour de flight_m et flight_h2o dans leur module 3982 !IF (ok_plane_h2o .OR. ok_plane_contrail) THEN 3983 ! CALL airplane(debut,pphis,pplay,paprs,t_seri) 3984 !ENDIF 3985 3986 3987 CALL lscp(klon,klev,phys_tstep,missing_val,paprs,pplay,omega, & 3988 t_seri, q_seri, ql_seri_lscp, qi_seri_lscp, ptconv, ratqs, sigma_qtherm, & 3989 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol, & 3990 pfraclr, pfracld, cldfraliq, cldfraliqth, & 3991 sigma2_icefracturb, sigma2_icefracturbth, & 3992 mean_icefracturb, mean_icefracturbth, & 3993 radocond, picefra, rain_lsc, snow_lsc, & 3994 frac_impa, frac_nucl, beta_prec_fisrt, & 3995 prfl, psfl, rhcl, & 3996 zqasc, fraca,ztv,zpspsk,ztla,zthl,zw2,iflag_cld_th, & 3997 iflag_ice_thermo, distcltop, temp_cltop, & 3998 pbl_tke(:,:,is_ave), pbl_eps(:,:,is_ave), & 3999 entr_therm, detr_therm, & 4000 cell_area, & 4001 cf_seri, rvc_seri, u_seri, v_seri, & 4002 qsub, qissr, qcld, subfra, issrfra, gamma_cond, & 4003 dcf_sub, dcf_con, dcf_mix, dqi_adj, dqi_sub, dqi_con, dqi_mix, & 4004 dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice, & 4005 Tcontr, qcontr, qcontr2, fcontrN, fcontrP, & 4006 dcf_avi, dqi_avi, dqvc_avi, flight_dist, flight_h2o, & 4007 cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, & 4008 qraindiag, qsnowdiag, dqreva, dqssub, dqrauto, dqrcol, dqrmelt, & 4009 dqrfreez, dqsauto, dqsagg, dqsrim, dqsmelt, dqsfreez) 4010 4011 4012 ELSE 4013 4014 CALL fisrtilp_first(klon, klev, phys_tstep, pfrac_impa, pfrac_nucl, pfrac_1nucl) 4015 CALL fisrtilp(klon,klev,phys_tstep,paprs,pplay, & 4016 t_seri, q_seri,ptconv,ratqs,sigma_qtherm, & 4017 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol, radocond, & 4018 rain_lsc, snow_lsc, & 4019 pfrac_impa, pfrac_nucl, pfrac_1nucl, & 4020 frac_impa, frac_nucl, beta_prec_fisrt, & 4021 prfl, psfl, rhcl, & 4022 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, & 4023 iflag_ice_thermo, & 4024 cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv) 4025 4026 ENDIF 4027 4028 WHERE (rain_lsc < 0) rain_lsc = 0. 4029 WHERE (snow_lsc < 0) snow_lsc = 0. 3949 CALL call_lscp(klon, klev, nbsrf, is_ter, is_lic, & 3950 abortphy, flag_inhib_tend, itap, & 3951 nqo, pdtphys, missing_val, ok_new_lscp, & 3952 paprs, pplay, omega, t_seri, q_seri, ql_seri, qs_seri, & 3953 zmasse, ptconv, ratqsc, ratqs, ratqs_inter_, sigma_qtherm, & 3954 qtc_cv, sigt_cv,detrain_cv,fm_cv,fqd,fqcomp, & 3955 sigd, zqsat, ratio_ql_qtot, ratio_qi_qtot, & 3956 pctsrf, s_pblh, zstd, wake_s, wake_deltaq, & 3957 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneblsvol, & 3958 pfraclr, pfracld, & 3959 cldfraliq, cldfraliqth, & 3960 sigma2_icefracturb,sigma2_icefracturbth, & 3961 mean_icefracturb,mean_icefracturbth, & 3962 radocond, radicefrac, rain_lsc, snow_lsc, & 3963 frac_impa, frac_nucl, beta, & 3964 pfrac_impa, pfrac_nucl, pfrac_1nucl, & 3965 prfl, psfl, rhcl, zqasc, fraca, & 3966 ztv, zpspsk, ztla, zthl, zw2, iflag_cld_th, & 3967 iflag_ice_thermo, distcltop, temp_cltop, & 3968 pbl_tke(:,:,is_ave), pbl_eps(:,:,is_ave), & 3969 fm_therm, entr_therm, detr_therm, & 3970 cell_area, & 3971 cf_seri, rvc_seri, u_seri, v_seri, & 3972 qsub, qissr, qcld, subfra, issrfra, gamma_cond, & 3973 dcf_sub, dcf_con, dcf_mix, & 3974 dqi_adj, dqi_sub, dqi_con, dqi_mix, dqvc_adj, & 3975 dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice, & 3976 Tcontr, qcontr, qcontr2, fcontrN, fcontrP, dcf_avi,& 3977 dqi_avi, dqvc_avi, flight_dist, flight_h2o, & 3978 cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, & 3979 qraindiag, qsnowdiag, dqreva, dqssub, dqrauto, & 3980 dqrcol, dqrmelt, dqrfreez, dqsauto, dqsagg, dqsrim,& 3981 dqsmelt, dqsfreez) 3982 4030 3983 4031 3984 CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc,dqbs0,paprs, & 4032 3985 'lsc',abortphy,flag_inhib_tend,itap,0) 4033 3986 CALL prt_enerbil('lsc',itap) 4034 4035 rain_num(:)=0.4036 DO k = 1, klev4037 DO i = 1, klon4038 IF (ql_seri(i,k)>oliqmax) THEN4039 rain_num(i)=rain_num(i)+(ql_seri(i,k)-oliqmax)*zmasse(i,k)/pdtphys4040 ql_seri(i,k)=oliqmax4041 ENDIF4042 ENDDO4043 ENDDO4044 4045 IF (nqo >= 3) THEN4046 DO k = 1, klev4047 DO i = 1, klon4048 IF (qs_seri(i,k)>oicemax) THEN4049 rain_num(i)=rain_num(i)+(qs_seri(i,k)-oicemax)*zmasse(i,k)/pdtphys4050 qs_seri(i,k)=oicemax4051 ENDIF4052 ENDDO4053 ENDDO4054 ENDIF4055 3987 4056 3988 4057 3989 !=============================================================================== 3990 ! from Clouds to Radiation (cloud2rad) 3991 ! computation of cloud variables that are useful for the radiative transfer 3992 3993 3994 4058 3995 DO k = 1, klev 4059 3996 DO i = 1, klon … … 4070 4007 4071 4008 IF (ok_bs .AND. ok_rad_bs) THEN 4072 IF (ok_ new_lscp .AND. ok_icefra_lscp) THEN4009 IF (ok_icefra_lscp) THEN 4073 4010 DO k=1,klev 4074 4011 DO i=1,klon 4075 4012 radocond(i,k)=radocond(i,k)+qbs_seri(i,k) 4076 picefra(i,k)=(radocond(i,k)*picefra(i,k)+qbs_seri(i,k))/(radocond(i,k))4013 radicefrac(i,k)=(radocond(i,k)*radicefrac(i,k)+qbs_seri(i,k))/(radocond(i,k)) 4077 4014 qbsfra=min(qbs_seri(i,k)/qbst_bs,1.0) 4078 4015 cldfra(i,k)=max(cldfra(i,k),qbsfra) … … 4081 4018 ELSE 4082 4019 WRITE(lunout,*)"PAY ATTENTION, you try to activate the radiative effect of blowing snow" 4083 WRITE(lunout,*)"with ok_ new_lscp=false and/or ok_icefra_lscp=false"4020 WRITE(lunout,*)"with ok_icefra_lscp=false. You must use ok_icefra_lscp=y and ok_new_lscp=y." 4084 4021 abort_message='inconsistency in cloud phase for blowing snow' 4085 4022 CALL abort_physic(modname,abort_message,1) … … 4095 4032 ENDIF 4096 4033 4097 !4098 !-------------------------------------------------------------------4099 ! PRESCRIPTION DES NUAGES POUR LE RAYONNEMENT4100 !-------------------------------------------------------------------4101 4034 4102 4035 ! 1. NUAGES CONVECTIFS … … 4301 4234 EXP((Lheat *qsat2m(i))/(RCPD*zt2m(i))) 4302 4235 ENDDO 4236 4237 4238 4239 !=============================================================================== 4240 ! Aerosols and chemistry 4241 ! 4242 4243 4303 4244 4304 4245 IF (ANY(type_trac == ['inca','inco'])) THEN ! ModThL … … 4541 4482 !Rajout appel a interface calcul proprietes optiques des nuages 4542 4483 CALL call_cloud_optics_prop(klon, klev, ok_newmicro, & 4543 paprs, pplay, t_seri, radocond, picefra, cldfra, &4484 paprs, pplay, t_seri, radocond, radicefrac, cldfra, & 4544 4485 cldtau, cldemi, cldh, cldl, cldm, cldt, cldq, & 4545 4486 flwp, fiwp, flwc, fiwc, ok_aie, & … … 4733 4674 IF (carbon_cycle_rad) RCO2=RCO2_glo 4734 4675 ! 4676 4677 !=============================================================================== 4678 ! Radiative scheme 4679 ! 4680 4681 4735 4682 IF (prt_level .GE.10) THEN 4736 4683 print *,' ->radlwsw, number 1 ' … … 4994 4941 bils(i) = radsol(i) - sens(i) + zxfluxlat(i) 4995 4942 ENDDO 4996 ! 4997 !moddeblott(jan95) 4998 ! Appeler le programme de parametrisation de l'orographie 4999 ! a l'echelle sous-maille: 5000 ! 5001 4943 4944 !=============================================================================== 4945 ! Gravity waves' drag parameterizations 4946 ! 4947 ! 4948 ! Drag by subgrid orography 4949 !========================= 4950 ! 5002 4951 ! calculation of nm_oro 5003 4952 DO i=1,klon … … 5065 5014 ENDIF 5066 5015 5016 ! Lifting by subgrid orography 5017 !============================== 5018 5067 5019 IF (ok_orolf) THEN 5068 5020 ! … … 5102 5054 CALL prt_enerbil('lif',itap) 5103 5055 ENDIF ! fin de test sur ok_orolf 5056 5057 ! GW drag from Hines 5058 !=================== 5104 5059 5105 5060 IF (ok_hines) then … … 5127 5082 ENDIF 5128 5083 5084 ! Drag by GWs generated by fronts (stochastic approach) 5085 !====================================================== 5086 5129 5087 IF (.not. ok_hines .and. ok_gwd_rando) then 5130 5088 ! ym missing init for east_gwstress & west_gwstress -> added in phys_local_var_mod … … 5146 5104 CALL prt_enerbil('front_gwd_rando',itap) 5147 5105 ENDIF 5106 5107 ! Drag by convective GWs (stochastic approach) 5108 !============================================== 5148 5109 5149 5110 IF (ok_gwd_rando) THEN -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r6008 r6011 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_snow_sublim_sedim99 !USE lmdz_call_blowing_snow, ONLY : call_blowing_snow 100 100 USE calwake_mod, ONLY : calwake, calwake_first 101 101 USE lmdz_wake_ini, ONLY : wake_ini … … 3608 3608 ! ================================================================== 3609 3609 ! Blowing snow sublimation and sedimentation 3610 ! cannot be activated with isotopes so far 3610 3611 3611 3612 d_t_bsss(:,:)=0. … … 3614 3615 bsfl(:,:)=0. 3615 3616 bs_fall(:)=0. 3616 IF (ok_bs) THEN 3617 3618 CALL call_blowing_snow_sublim_sedim(klon,klev,phys_tstep,zustar,t_seri,q_seri,qbs_seri,pplay,paprs, & 3619 d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall) 3620 3621 CALL add_phys_tend & 3622 (du0,dv0,d_t_bsss,d_q_bsss,dql0,dqi0,d_qbs_bsss,paprs,& 3623 'bsss',abortphy,flag_inhib_tend,itap,0 & 3624 #ifdef ISO 3625 & ,dxt0,dxtl0,dxti0 & 3626 #endif 3627 & ) 3628 3629 ENDIF 3617 !IF (ok_bs) THEN 3618 3619 ! CALL call_blowing_snow(klon,klev,abortphy,flag_inhib_tend,itap,phys_tstep,zustar, & 3620 ! t_seri,q_seri,qbs_seri,pplay,paprs, & 3621 ! d_t_bsss,d_q_bsss,d_qbs_bsss,bsfl,bs_fall) 3622 3623 !ENDIF 3630 3624 3631 3625 ! =================================================================== c
Note: See TracChangeset
for help on using the changeset viewer.
