module lmdz_blowing_snow_ini implicit none real, save, protected :: RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG real, save, protected :: coef_eva_bs, expo_eva_bs, fallv_bs, zeta_bs real, save, protected :: prt_bs, pbst_bs, qbst_bs integer, save, protected :: iflag_saltation_bs !$OMP THREADPRIVATE(RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG) !$OMP THREADPRIVATE(coef_eva_bs, expo_eva_bs, fallv_bs, zeta_bs) !$OMP THREADPRIVATE(pbst_bs, prt_bs, qbst_bs) !$OMP THREADPRIVATE(iflag_saltation_bs) real, save, protected :: tbsmelt=278.15 ! parameter to calculate melting fraction of BS sedimentation real, save, protected :: taumeltbs0=1800.0 ! Melting time scale of blowing snow at 273.15K real, save, protected :: qbsmin=1.E-10 ! Minimum blowing snow specific content !$OMP THREADPRIVATE(tbsmelt, taumeltbs0, qbsmin) contains subroutine blowing_snow_ini(RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in,& RVTMP2_in, RTT_in,RD_in,RG_in) USE ioipsl_getin_p_mod, ONLY : getin_p real, intent(in) :: RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in real, intent(in) :: RVTMP2_in, RTT_in, RD_in, RG_in RG=RG_in RD=RD_in RCPD=RCPD_in RLVTT=RLVTT_in RLSTT=RLSTT_in RLMLT=RLMLT_in RTT=RTT_in RG=RG_in RVTMP2=RVTMP2_in qbst_bs= 0.001 CALL getin_p('qbst_bs',qbst_bs) pbst_bs= 0.0003 CALL getin_p('pbst_bs',pbst_bs) prt_bs= 0.0003 CALL getin_p('prt_bs',prt_bs) zeta_bs= 3. CALL getin_p('zeta_bs',zeta_bs) fallv_bs = 0.1 CALL getin_p('fallv_bs',fallv_bs) coef_eva_bs = 2.e-5 CALL getin_p('coef_eva_bs',coef_eva_bs) expo_eva_bs = 0.5 CALL getin_p('expo_eva_bs',expo_eva_bs) iflag_saltation_bs=0 CALL getin_p('iflag_saltation_bs',iflag_saltation_bs) end subroutine blowing_snow_ini end module lmdz_blowing_snow_ini