[1262] | 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 | ! |
---|
| 32 | MODULE MOD_COSP_CONSTANTS |
---|
| 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 |
---|
[1414] | 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 |
---|
[1262] | 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 |
---|
[1414] | 64 | real,parameter :: DBZE_MAX = 80.0 ! Maximum value for radar reflectivity |
---|
[1262] | 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 |
---|
[1414] | 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/) |
---|
[1262] | 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 |
---|