1 | MODULE lmdz_cloud_optics_prop_ini |
---|
2 | IMPLICIT NONE |
---|
3 | |
---|
4 | SAVE |
---|
5 | |
---|
6 | INTEGER, PROTECTED :: prt_level, lunout |
---|
7 | INTEGER, PROTECTED :: flag_aerosol |
---|
8 | INTEGER, PROTECTED :: iflag_t_glace=0 |
---|
9 | LOGICAL, PROTECTED ::ok_cdnc |
---|
10 | REAL, PROTECTED :: bl95_b0, bl95_b1 ! Parameter in B&L 95-Formula |
---|
11 | REAL, ALLOCATABLE :: latitude_deg(:) |
---|
12 | !$OMP THREADPRIVATE(latitude_deg) |
---|
13 | REAL, PROTECTED :: cdnc_max=-1. |
---|
14 | REAL, PROTECTED :: cdnc_max_m3=-1. |
---|
15 | REAL, PROTECTED :: cdnc_min=-1. |
---|
16 | REAL, PROTECTED :: cdnc_min_m3=-1. |
---|
17 | |
---|
18 | CONTAINS |
---|
19 | |
---|
20 | SUBROUTINE cloud_optics_prop_ini(klon, prt_level_in, lunout_in, flag_aerosol_in, & |
---|
21 | & ok_cdnc_in, bl95_b0_in, & |
---|
22 | & bl95_b1_in, latitude_deg_in) |
---|
23 | |
---|
24 | USE ioipsl_getin_p_mod, ONLY : getin_p |
---|
25 | |
---|
26 | IMPLICIT NONE |
---|
27 | INTEGER, INTENT(IN) :: klon |
---|
28 | INTEGER, INTENT(IN) :: prt_level_in, lunout_in |
---|
29 | INTEGER, INTENT(IN) :: flag_aerosol_in |
---|
30 | LOGICAL, INTENT(IN) :: ok_cdnc_in |
---|
31 | REAL, INTENT(IN) :: bl95_b0_in, bl95_b1_in |
---|
32 | REAL, INTENT(IN) :: latitude_deg_in(klon) |
---|
33 | |
---|
34 | ALLOCATE(latitude_deg(klon)) |
---|
35 | |
---|
36 | prt_level = prt_level_in |
---|
37 | lunout = lunout_in |
---|
38 | flag_aerosol = flag_aerosol_in |
---|
39 | ok_cdnc = ok_cdnc_in |
---|
40 | bl95_b0 = bl95_b0_in |
---|
41 | bl95_b1 = bl95_b1_in |
---|
42 | latitude_deg(:) = latitude_deg_in(:) |
---|
43 | call getin_p('cdnc_min',cdnc_min) |
---|
44 | cdnc_min_m3=cdnc_min*1.E6 |
---|
45 | IF (cdnc_min_m3<0.) cdnc_min_m3=20.E6 ! astuce pour retrocompatibilite |
---|
46 | write(lunout,*)'cdnc_min=', cdnc_min_m3/1.E6 |
---|
47 | call getin_p('cdnc_max',cdnc_max) |
---|
48 | cdnc_max_m3=cdnc_max*1.E6 |
---|
49 | IF (cdnc_max_m3<0.) cdnc_max_m3=1000.E6 ! astuce pour retrocompatibilite |
---|
50 | write(lunout,*)'cdnc_max=', cdnc_max_m3/1.E6 |
---|
51 | CALL getin_p('iflag_t_glace',iflag_t_glace) |
---|
52 | write(lunout,*)'iflag_t_glace= ',iflag_t_glace |
---|
53 | |
---|
54 | END SUBROUTINE cloud_optics_prop_ini |
---|
55 | |
---|
56 | END MODULE lmdz_cloud_optics_prop_ini |
---|