source: LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_blowing_snow_ini.F90 @ 5231

Last change on this file since 5231 was 5119, checked in by abarral, 12 months ago

enforce PRIVATE by default in several modules, expose PUBLIC as needed
move eigen.f90 to obsolete/
(lint) aslong the way

File size: 3.2 KB
Line 
1module lmdz_blowing_snow_ini
2
3IMPLICIT NONE
4
5   REAL, SAVE, protected :: RCPD, RV, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG, RPI
6   REAL, SAVE, protected :: coef_sub_bs, fallv_bs, zeta_bs, c_esalt_bs
7   REAL, SAVE, protected :: prt_bs, pbst_bs, qbst_bs, r_bs
8   INTEGER, SAVE, protected :: iflag_saltation_bs, iflag_sedim_bs, iflag_sublim_bs
9
10   !$OMP THREADPRIVATE(RCPD, RV, RLSTT, RLVTT, RLMLT, RVTMP2, RTT,RD,RG, RPI)
11   !$OMP THREADPRIVATE(coef_sub_bs, fallv_bs, r_bs, zeta_bs, c_esalt_bs)
12   !$OMP THREADPRIVATE(pbst_bs, prt_bs, qbst_bs)
13   !$OMP THREADPRIVATE(iflag_sedim_bs, iflag_sublim_bs)
14
15   REAL, SAVE, protected :: tbsmelt=278.15    ! parameter to calculate melting fraction of BS sedimentation
16   REAL, SAVE, protected :: taumeltbs0=600.0  ! Melting time scale of blowing snow at 273.15K
17   REAL, SAVE, protected :: qbmin=1.E-10      ! Minimum blowing snow specific content
18   !$OMP THREADPRIVATE(tbsmelt, taumeltbs0, qbmin)
19
20   REAL, SAVE, protected :: tau_dens0_bs=864000.      ! 10 days by default, in s
21   REAL, SAVE, protected :: tau_densmin_bs= 21600.    ! 1/4 days according to in situ obs by C. Amory during blowing snow +
22                                                      ! Marshall et al. 1999 (snow densification during rain)
23   REAL, SAVE, protected :: tau_eqsalt_bs= 10.        ! Nemoto and Nishimura 2004 show that steady-state saltation is achieved within a time tau_eqsalt of about 10s
24   REAL, SAVE, protected :: rhofresh_bs = 300.0       ! fresh snow density kg/m3
25   REAL, SAVE, protected :: rhohard_bs = 450.0       ! hard snow density kg/m3
26   REAL, SAVE, protected :: rhoice_bs = 920.0         ! ice density kg/m3
27   REAL, SAVE, protected :: rhobs=900.0               ! blowing snow density (kg/m3) following Bintanja et al. 2001 part I
28   !$OMP THREADPRIVATE(rhoice_bs, rhofresh_bs, rhohard_bs, tau_dens0_bs, tau_densmin_bs, tau_eqsalt_bs, rhobs)
29
30
31CONTAINS
32
33   SUBROUTINE blowing_snow_ini(RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in,&
34                                  RVTMP2_in, RTT_in,RD_in,RG_in, RV_in, RPI_in)
35
36         USE lmdz_ioipsl_getin_p, ONLY: getin_p
37
38         REAL, INTENT(IN) :: RCPD_in, RLSTT_in, RLVTT_in, RLMLT_in, RPI_in
39         REAL, INTENT(IN) ::  RVTMP2_in, RTT_in, RD_in, RG_in, RV_in
40
41
42         RG=RG_in
43         RD=RD_in
44         RV=RV_in
45         RCPD=RCPD_in
46         RLVTT=RLVTT_in
47         RLSTT=RLSTT_in
48         RLMLT=RLMLT_in
49         RTT=RTT_in
50         RG=RG_in
51         RVTMP2=RVTMP2_in
52         RPI=RPI_in
53
54         c_esalt_bs= 3.25
55         CALL getin_p('c_esalt_bs',c_esalt_bs)
56
57         qbst_bs= 0.001
58         CALL getin_p('qbst_bs',qbst_bs)
59
60         pbst_bs= 0.0003
61         CALL getin_p('pbst_bs',pbst_bs)
62
63         prt_bs= 0.0003
64         CALL getin_p('prt_bs',prt_bs)
65
66         zeta_bs= 3.
67         CALL getin_p('zeta_bs',zeta_bs)
68
69         fallv_bs = 0.1
70         CALL getin_p('fallv_bs',fallv_bs)
71
72         coef_sub_bs =  0.1
73         CALL getin_p('coef_sub_bs',coef_sub_bs)
74
75         iflag_sublim_bs=1
76         CALL getin_p('iflag_sublim_bs',iflag_sublim_bs)
77
78         iflag_sedim_bs=1
79         CALL getin_p('iflag_sedim_bs',iflag_sedim_bs)
80
81         r_bs=150.0e-6
82         CALL getin_p('r_bs',r_bs)
83
84      END SUBROUTINE  blowing_snow_ini
85
86END MODULE lmdz_blowing_snow_ini
Note: See TracBrowser for help on using the repository browser.