source: LMDZ6/branches/Portage_acc/libf/phylmdiso/lscp_ini_mod.F90 @ 4500

Last change on this file since 4500 was 4447, checked in by Laurent Fairhead, 17 months ago

Added some routines from the trunk that were previously links and that svn did not want to commit on the previous commit (with an
"Node filename has unexpectedly changed kind" error)

File size: 3.5 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  LOGICAL, SAVE :: ok_debug_autoconversion=.true.   ! removes a bug in the autoconversion process
41  !$OMP THREADPRIVATE(ok_debug_autoconversion)
42
43
44CONTAINS
45
46SUBROUTINE lscp_ini(dtime,ok_ice_sursat)
47
48
49   USE ioipsl_getin_p_mod, ONLY : getin_p
50   USE print_control_mod, ONLY: prt_level, lunout
51   USE ice_sursat_mod, ONLY: ice_sursat_init
52
53   REAL, INTENT(IN)      :: dtime
54   LOGICAL, INTENT(IN)   :: ok_ice_sursat 
55
56    CALL getin_p('ninter',ninter)
57    CALL getin_p('iflag_evap_prec',iflag_evap_prec)
58    CALL getin_p('seuil_neb',seuil_neb)
59    CALL getin_p('rain_int_min',rain_int_min)
60    CALL getin_p('iflag_mpc_bl',iflag_mpc_bl)
61    CALL getin_p('ok_radocond_snow',ok_radocond_snow)
62    CALL getin_p('ok_debug_autoconversion',ok_debug_autoconversion)   
63    WRITE(lunout,*) 'lscp, ninter:', ninter
64    WRITE(lunout,*) 'lscp, iflag_evap_prec:', iflag_evap_prec
65    WRITE(lunout,*) 'lscp, seuil_neb:', seuil_neb
66    WRITE(lunout,*) 'lscp, rain_int_min:', rain_int_min
67    WRITE(lunout,*) 'lscp, iflag_mpc_bl:', iflag_mpc_bl
68    WRITE(lunout,*) 'lscp, ok_radocond_snow:', ok_radocond_snow
69    WRITE(lunout,*) 'lscp, ok_debug_autoconversion:', ok_debug_autoconversion
70
71    ! check for precipitation sub-time steps
72    IF (ABS(dtime/REAL(ninter)-360.0).GT.0.001) THEN
73        WRITE(lunout,*) 'lscp: it is not expected, see Z.X.Li', dtime
74        WRITE(lunout,*) 'I would prefer a 6 min sub-timestep'
75    ENDIF
76
77
78    !AA Temporary initialisation
79    a_tr_sca(1) = -0.5
80    a_tr_sca(2) = -0.5
81    a_tr_sca(3) = -0.5
82    a_tr_sca(4) = -0.5
83   
84    IF (ok_ice_sursat) CALL ice_sursat_init()
85
86
87
88end subroutine lscp_ini
89
90end module lscp_ini_mod
Note: See TracBrowser for help on using the repository browser.