1 | module lmdz_blowing_snow_ini |
---|
2 | |
---|
3 | implicit none |
---|
4 | |
---|
5 | save |
---|
6 | integer :: prt_level=0,lunout |
---|
7 | real RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG |
---|
8 | real coef_eva_bs, expo_eva_bs, fallv_bs, zeta_bs |
---|
9 | real prt_bs, pbst_bs, qbst_bs |
---|
10 | integer :: iflag_saltation_bs |
---|
11 | |
---|
12 | !$OMP THREADPRIVATE(prt_level, lunout) |
---|
13 | !$OMP THREADPRIVATE(RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG) |
---|
14 | !$OMP THREADPRIVATE(coef_eva_bs, expo_eva_bs, fallv_bs, zeta_bs) |
---|
15 | !$OMP THREADPRIVATE(pbst_bs, prt_bs, qbst_bs) |
---|
16 | !$OMP THREADPRIVATE(iflag_saltation_bs) |
---|
17 | |
---|
18 | real tbsmelt ! parameter to calculate melting fraction of BS sedimentation |
---|
19 | parameter (tbsmelt=278.15) |
---|
20 | |
---|
21 | real taumeltbs0 ! Melting time scale of blowing snow at 273.15K |
---|
22 | parameter (taumeltbs0=1800.0) |
---|
23 | |
---|
24 | real qbsmin ! Minimum blowing snow specific content |
---|
25 | parameter (qbsmin=1.E-10) |
---|
26 | |
---|
27 | |
---|
28 | contains |
---|
29 | |
---|
30 | subroutine blowing_snow_ini(prt_level_in,lunout_in, & |
---|
31 | RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in,& |
---|
32 | RVTMP2_in, RTT_in,RD_in,RG_in) |
---|
33 | |
---|
34 | USE ioipsl_getin_p_mod, ONLY : getin_p |
---|
35 | |
---|
36 | integer, intent(in) :: prt_level_in,lunout_in |
---|
37 | real, intent(in) :: RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in |
---|
38 | real, intent(in) :: RVTMP2_in, RTT_in, RD_in, RG_in |
---|
39 | |
---|
40 | |
---|
41 | prt_level=prt_level_in |
---|
42 | RG=RG_in |
---|
43 | RD=RD_in |
---|
44 | RCPD=RCPD_in |
---|
45 | RLVTT=RLVTT_in |
---|
46 | RLSTT=RLSTT_in |
---|
47 | RLMLT=RLMLT_in |
---|
48 | RTT=RTT_in |
---|
49 | RG=RG_in |
---|
50 | RVTMP2=RVTMP2_in |
---|
51 | lunout=lunout_in |
---|
52 | |
---|
53 | |
---|
54 | qbst_bs= 0.001 |
---|
55 | CALL getin_p('qbst_bs',qbst_bs) |
---|
56 | |
---|
57 | pbst_bs= 0.0003 |
---|
58 | CALL getin_p('pbst_bs',pbst_bs) |
---|
59 | |
---|
60 | prt_bs= 0.0003 |
---|
61 | CALL getin_p('prt_bs',prt_bs) |
---|
62 | |
---|
63 | |
---|
64 | zeta_bs= 3. |
---|
65 | CALL getin_p('zeta_bs',zeta_bs) |
---|
66 | |
---|
67 | fallv_bs = 0.1 |
---|
68 | CALL getin_p('fallv_bs',fallv_bs) |
---|
69 | |
---|
70 | coef_eva_bs = 2.e-5 |
---|
71 | CALL getin_p('coef_eva_bs',coef_eva_bs) |
---|
72 | |
---|
73 | expo_eva_bs = 0.5 |
---|
74 | CALL getin_p('expo_eva_bs',expo_eva_bs) |
---|
75 | |
---|
76 | iflag_saltation_bs=0 |
---|
77 | CALL getin_p('iflag_saltation_bs',iflag_saltation_bs) |
---|
78 | |
---|
79 | |
---|
80 | end subroutine blowing_snow_ini |
---|
81 | |
---|
82 | end module lmdz_blowing_snow_ini |
---|