My Project
 All Classes Files Functions Variables Macros
cosp_constants.F90
Go to the documentation of this file.
1 ! (c) British Crown Copyright 2008, the Met Office.
2 ! All rights reserved.
3 !
4 ! Redistribution and use in source and binary forms, with or without modification, are permitted
5 ! provided that the following conditions are met:
6 !
7 ! * Redistributions of source code must retain the above copyright notice, this list
8 ! of conditions and the following disclaimer.
9 ! * Redistributions in binary form must reproduce the above copyright notice, this list
10 ! of conditions and the following disclaimer in the documentation and/or other materials
11 ! provided with the distribution.
12 ! * Neither the name of the Met Office nor the names of its contributors may be used
13 ! to endorse or promote products derived from this software without specific prior written
14 ! permission.
15 !
16 ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
17 ! IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
18 ! FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
19 ! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 ! DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 ! DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
22 ! IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
23 ! OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 
25 !
26 ! History:
27 ! Jul 2007 - A. Bodas-Salcedo - Initial version
28 ! Jul 2008 - A. Bodas-Salcedo - Added definitions of ISCCP axes
29 ! Oct 2008 - H. Chepfer - Added PARASOL_NREFL
30 !
31 !
33 ! use netcdf, only: nf90_fill_rea
34  IMPLICIT NONE
35 
36  ! Indices to address arrays of LS and CONV hydrometeors
37  integer,parameter :: I_LSCLIQ = 1
38  integer,parameter :: I_LSCICE = 2
39  integer,parameter :: I_LSRAIN = 3
40  integer,parameter :: I_LSSNOW = 4
41  integer,parameter :: I_CVCLIQ = 5
42  integer,parameter :: I_CVCICE = 6
43  integer,parameter :: I_CVRAIN = 7
44  integer,parameter :: I_CVSNOW = 8
45  integer,parameter :: I_LSGRPL = 9
46 
47  ! Missing value
48 !! real,parameter :: R_UNDEF = -1.0E30
49  real,parameter :: R_UNDEF = 9.96921e+36
50 ! real,parameter :: R_UNDEF = nf90_fill_rea
51  ! Number of possible output variables
52  integer,parameter :: N_OUT_LIST = 27
53  ! Value for forward model result from a level that is under the ground
54  real,parameter :: R_GROUND = -1.0E20
55 
56  ! Stratiform and convective clouds in frac_out
57  integer, parameter :: I_LSC = 1, & ! Large-scale clouds
58  I_CVC = 2 ! Convective clouds
59 
60  !--- Radar constants
61  ! CFAD constants
62  integer,parameter :: DBZE_BINS = 15 ! Number of dBZe bins in histogram (cfad)
63  real,parameter :: DBZE_MIN = -100.0 ! Minimum value for radar reflectivity
64  real,parameter :: DBZE_MAX = 80.0 ! Maximum value for radar reflectivity
65  real,parameter :: CFAD_ZE_MIN = -50.0 ! Lower value of the first CFAD Ze bin
66  real,parameter :: CFAD_ZE_WIDTH = 5.0 ! Bin width (dBZe)
67 
68 
69  !--- Lidar constants
70  ! CFAD constants
71  integer,parameter :: SR_BINS = 15
72  integer,parameter :: DPOL_BINS = 6
73  real,parameter :: LIDAR_UNDEF = 999.999
74  ! Other constants
75  integer,parameter :: LIDAR_NCAT = 4
76  integer,parameter :: PARASOL_NREFL = 5 ! parasol
77  real,parameter,dimension(PARASOL_NREFL) :: PARASOL_SZA = (/0.0, 20.0, 40.0, 6.0, 80.0/)
78 ! real,parameter,dimension(PARASOL_NREFL) :: PARASOL_SZA = (/1.0, 2.0, 3.0, 4.0, 5.0/)
79  real,parameter :: DEFAULT_LIDAR_REFF = 30.0e-6 ! Default lidar effective radius
80 
81  !--- MISR constants
82  integer,parameter :: MISR_N_CTH = 16
83 
84  !--- RTTOV constants
85  integer,parameter :: RTTOV_MAX_CHANNELS = 20
86 
87  ! ISCCP tau-Pc axes
88  real,parameter,dimension(7) :: ISCCP_TAU = (/0.15, 0.80, 2.45, 6.5, 16.2, 41.5, 50000.0/)
89  real,parameter,dimension(2,7) :: ISCCP_TAU_BNDS = reshape(source=(/0.0,0.3,0.3,1.30,1.30,3.6,3.6,9.4, &
90  9.4,23.0,23.0,60.0,60.0,100000.0/), shape=(/2,7/))
91 
92 ! real,parameter,dimension(7) :: ISCCP_PC = (/9000., 24500., 37500., 50000., 62000., 74000., 90000./)
93 ! real,parameter,dimension(2,7) :: ISCCP_PC_BNDS = reshape(source=(/0.0,18000.0,18000.0,31000.0,31000.0, &
94 ! 44000.0,44000.0,56000.0,56000.0,68000.0,68000.0,80000.0,80000.0,100000.0/), shape=(/2,7/))
95 
96  real,parameter,dimension(7) :: ISCCP_PC = (/90000., 74000., 62000., 50000., 37500., 24500., 9000./)
97  real,parameter,dimension(2,7) :: ISCCP_PC_BNDS = reshape(source=(/100000.0,80000.0,80000.0,68000.0,68000.0,56000.0 &
98  ,56000.0,44000.0,44000.0,31000.0,31000.0,18000.0,18000.0,0.0/), shape=(/2,7/))
99 
100  real,parameter,dimension(MISR_N_CTH) :: MISR_CTH = (/ 0., 0.25, 0.75, 1.25, 1.75, 2.25, 2.75, 3.5, &
101  4.5, 6., 8., 10., 12., 14.5, 16., 18./)
102  real,parameter,dimension(2,MISR_N_CTH) :: MISR_CTH_BNDS = reshape(source=(/ &
103  -99.0, 0.0, 0.0, 0.5, 0.5, 1.0, 1.0, 1.5, &
104  1.5, 2.0, 2.0, 2.5, 2.5, 3.0, 3.0, 4.0, &
105  4.0, 5.0, 5.0, 7.0, 7.0, 9.0, 9.0, 11.0, &
106  11.0, 13.0, 13.0, 15.0, 15.0, 17.0, 17.0, 99.0/), &
107  shape=(/2,MISR_N_CTH/))
108 
109  ! Table hclass for quickbeam
110  integer,parameter :: N_HYDRO = 9
111  real :: HCLASS_TYPE(N_HYDRO),HCLASS_COL(N_HYDRO),HCLASS_PHASE(N_HYDRO), &
112  HCLASS_CP(N_HYDRO),HCLASS_DMIN(N_HYDRO),HCLASS_DMAX(N_HYDRO)
113  real :: HCLASS_APM(N_HYDRO),HCLASS_BPM(N_HYDRO),HCLASS_RHO(N_HYDRO), &
114  HCLASS_P1(N_HYDRO),HCLASS_P2(N_HYDRO),HCLASS_P3(N_HYDRO)
115  data hclass_type/5,1,2,2,5,1,2,2,2/
116  data hclass_col/1,2,3,4,5,6,7,8,9/
117  data hclass_phase/0,1,0,1,0,1,0,1,1/
118  data hclass_cp/0,0,1,1,0,0,1,1,1/
119  data hclass_dmin/-1,-1,-1,-1,-1,-1,-1,-1,-1/
120  data hclass_dmax/-1,-1,-1,-1,-1,-1,-1,-1,-1/
121  data hclass_apm/524,110.8,524,-1,524,110.8,524,-1,-1/
122  data hclass_bpm/3,2.91,3,-1,3,2.91,3,-1,-1/
123  data hclass_rho/-1,-1,-1,100,-1,-1,-1,100,400/
124  data hclass_p1/-1,-1,8000000.,3000000.,-1,-1,8000000.,3000000.,4000000./
125  data hclass_p2/6,40,-1,-1,6,40,-1,-1,-1/
126  data hclass_p3/0.3,2,-1,-1,0.3,2,-1,-1,-1/
127 
128 
129 
130 END MODULE mod_cosp_constants