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

Last change on this file since 5202 was 5119, checked in by abarral, 4 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.