source: LMDZ6/trunk/libf/phylmd/lscp_ini_mod.F90 @ 4412

Last change on this file since 4412 was 4412, checked in by evignon, 17 months ago

travail de l'atelier nuages du 30/01/23: on renomme cldliq (ou radliq) en radocond
car le nom est tres trompeur + on ajoute des commentaires dans lscp_mod

File size: 3.2 KB
Line 
1module lscp_ini_mod
2
3implicit none
4
5  ! PARAMETERS for lscp:
6  !--------------------
7 
8  REAL, SAVE :: seuil_neb=0.001                 ! cloud fraction threshold: a cloud really exists when exceeded
9  !$OMP THREADPRIVATE(seuil_neb)
10
11  INTEGER, SAVE :: ninter=5                     ! number of iterations to calculate autoconversion to precipitation
12  !$OMP THREADPRIVATE(ninter)
13
14  INTEGER,SAVE :: iflag_evap_prec=1             ! precipitation evaporation flag. 0: nothing, 1: "old way",
15                                                ! 2: Max cloud fraction above to calculate the max of reevaporation
16                                                ! 4: LTP'method i.e. evaporation in the clear-sky fraction of the mesh only
17  !$OMP THREADPRIVATE(iflag_evap_prec)
18
19  REAL t_coup                                   ! temperature threshold which determines the phase
20  PARAMETER (t_coup=234.0)                      ! for which the saturation vapor pressure is calculated
21
22  REAL DDT0                                     ! iteration parameter
23  PARAMETER (DDT0=.01)
24
25  REAL ztfondue                                 ! parameter to calculate melting fraction of precipitation
26  PARAMETER (ztfondue=278.15)
27
28  REAL, SAVE    :: rain_int_min=0.001           ! Minimum local rain intensity [mm/s] before the decrease in associated precipitation fraction
29  !$OMP THREADPRIVATE(rain_int_min)
30
31  REAL, SAVE :: a_tr_sca(4)                     ! Variables for tracers temporary: alpha parameter for scavenging, 4 possible scavenging processes
32  !$OMP THREADPRIVATE(a_tr_sca)
33 
34  INTEGER, SAVE ::  iflag_mpc_bl=0              ! flag to activate boundary layer mixed phase cloud param
35  !$OMP THREADPRIVATE(iflag_mpc_bl)
36 
37  LOGICAL, SAVE :: ok_radocond_snow=.false.       ! take into account the mass of ice precip in the cloud ice content seen by radiation
38  !$OMP THREADPRIVATE(ok_radocond_snow)
39
40
41CONTAINS
42
43SUBROUTINE lscp_ini(dtime,ok_ice_sursat)
44
45
46   USE ioipsl_getin_p_mod, ONLY : getin_p
47   USE print_control_mod, ONLY: prt_level, lunout
48   USE ice_sursat_mod, ONLY: ice_sursat_init
49
50   REAL, INTENT(IN)      :: dtime
51   LOGICAL, INTENT(IN)   :: ok_ice_sursat 
52
53    CALL getin_p('ninter',ninter)
54    CALL getin_p('iflag_evap_prec',iflag_evap_prec)
55    CALL getin_p('seuil_neb',seuil_neb)
56    CALL getin_p('rain_int_min',rain_int_min)
57    CALL getin_p('iflag_mpc_bl',iflag_mpc_bl)
58    CALL getin_p('ok_radocond_snow',ok_radocond_snow)         
59    WRITE(lunout,*) 'lscp, ninter:', ninter
60    WRITE(lunout,*) 'lscp, iflag_evap_prec:', iflag_evap_prec
61    WRITE(lunout,*) 'lscp, seuil_neb:', seuil_neb
62    WRITE(lunout,*) 'lscp, rain_int_min:', rain_int_min
63    WRITE(lunout,*) 'lscp, iflag_mpc_bl:', iflag_mpc_bl
64    WRITE(lunout,*) 'lscp, ok_radocond_snow:', ok_radocond_snow
65   
66    ! check for precipitation sub-time steps
67    IF (ABS(dtime/REAL(ninter)-360.0).GT.0.001) THEN
68        WRITE(lunout,*) 'lscp: it is not expected, see Z.X.Li', dtime
69        WRITE(lunout,*) 'I would prefer a 6 min sub-timestep'
70    ENDIF
71
72
73    !AA Temporary initialisation
74    a_tr_sca(1) = -0.5
75    a_tr_sca(2) = -0.5
76    a_tr_sca(3) = -0.5
77    a_tr_sca(4) = -0.5
78   
79    IF (ok_ice_sursat) CALL ice_sursat_init()
80
81
82
83end subroutine lscp_ini
84
85end module lscp_ini_mod
Note: See TracBrowser for help on using the repository browser.