|
character(len=32),
|
public |
|
:: |
COSP_VERSION |
|
|
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
R_UNDEF |
= |
-1.0E30 |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
R_GROUND |
= |
-1.0E20 |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
scops_ccfrac |
= |
0.05 |
|
|
logical,
|
public |
|
:: |
use_vgrid |
|
|
|
|
integer,
|
public, |
parameter
|
:: |
SR_BINS |
= |
15 |
|
|
integer,
|
public, |
parameter
|
:: |
N_HYDRO |
= |
9 |
|
|
logical,
|
public |
|
:: |
ok_debug_cosp |
= |
.true. |
|
|
integer,
|
public, |
parameter
|
:: |
ntau |
= |
7 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(ntau+1)
|
:: |
tau_binBounds |
= |
(/0.0, 0.3, 1.3, 3.6, 9.4, 23., 60., 10000./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(ntau)
|
:: |
tau_binCenters |
= |
(/0.15, 0.80, 2.45, 6.5, 16.2, 41.5, 100.0/) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,ntau)
|
:: |
tau_binEdges |
= |
reshape(source=(/0.0, 0.3, 0.3, 1.3, 1.3, 3.6, 3.6, 9.4, 9.4, 23.0, 23.0, 60.0, 60.0, 100000.0/), shape=(/2, ntau/)) |
|
|
integer,
|
public |
|
:: |
l |
|
|
|
|
integer,
|
public |
|
:: |
k |
|
|
|
|
integer,
|
public, |
parameter
|
:: |
ntauV1p4 |
= |
6 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(ntauV1p4+1)
|
:: |
tau_binBoundsV1p4 |
= |
(/0.3, 1.3, 3.6, 9.4, 23., 60., 10000./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,ntauV1p4)
|
:: |
tau_binEdgesV1p4 |
= |
reshape(source=(/tau_binBoundsV1p4(1), ((tau_binBoundsV1p4(k), l=1, 2), k=2, ntauV1p4), 100000._wp/), shape=(/2, ntauV1p4/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(ntauV1p4)
|
:: |
tau_binCentersV1p4 |
= |
(tau_binEdgesV1p4(1, :)+tau_binEdgesV1p4(2, :))/2._wp |
|
|
integer,
|
public, |
parameter
|
:: |
npres |
= |
7 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(npres+1)
|
:: |
pres_binBounds |
= |
(/0., 180., 310., 440., 560., 680., 800., 10000./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(npres)
|
:: |
pres_binCenters |
= |
(/90000., 74000., 62000., 50000., 37500., 24500., 9000./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,npres)
|
:: |
pres_binEdges |
= |
reshape(source=(/100000.0, 80000.0, 80000.0, 68000.0, 68000.0, 56000.0, 56000.0, 44000.0, 44000.0, 31000.0, 31000.0, 18000.0, 18000.0, 0.0/), shape=(/2, npres/)) |
|
|
integer,
|
public, |
parameter
|
:: |
nhgt |
= |
16 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nhgt+1)
|
:: |
hgt_binBounds |
= |
(/-.99, 0., 0.5, 1., 1.5, 2., 2.5, 3., 4., 5., 7., 9., 11., 13., 15., 17., 99./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nhgt)
|
:: |
hgt_binCenters |
= |
1000*(/0., 0.25, 0.75, 1.25, 1.75, 2.25, 2.75, 3.5, 4.5, 6., 8., 10., 12., 14.5, 16., 18./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,nhgt)
|
:: |
hgt_binEdges |
= |
1000.0*reshape(source=(/-99.0, 0.0, 0.0, 0.5, 0.5, 1.0, 1.0, 1.5, 1.5, 2.0, 2.0, 2.5, 2.5, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 7.0, 7.0, 9.0, 9.0, 11.0, 11.0, 13.0, 13.0, 15.0, 15.0, 17.0, 17.0, 99.0/), shape=(/2, nhgt/)) |
|
|
integer,
|
public |
|
:: |
i |
|
|
|
|
integer,
|
public |
|
:: |
j |
|
|
|
|
integer,
|
public, |
parameter
|
:: |
nReffLiq |
= |
6 |
|
|
integer,
|
public, |
parameter
|
:: |
nReffIce |
= |
6 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffLiq+1)
|
:: |
reffLIQ_binBounds |
= |
(/0., 8e-6, 1.0e-5, 1.3e-5, 1.5e-5, 2.0e-5, 3.0e-5/) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffIce+1)
|
:: |
reffICE_binBounds |
= |
(/0., 1.0e-5, 2.0e-5, 3.0e-5, 4.0e-5, 6.0e-5, 9.0e-5/) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,nReffICE)
|
:: |
reffICE_binEdges |
= |
reshape(source=(/reffICE_binBounds(1), ((reffICE_binBounds(k), l=1, 2), k=2, nReffICE), reffICE_binBounds(nReffICE+1)/), shape=(/2, nReffICE/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,nReffLIQ)
|
:: |
reffLIQ_binEdges |
= |
reshape(source=(/reffLIQ_binBounds(1), ((reffLIQ_binBounds(k), l=1, 2), k=2, nReffLIQ), reffLIQ_binBounds(nReffICE+1)/), shape=(/2, nReffLIQ/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffICE)
|
:: |
reffICE_binCenters |
= |
(reffICE_binEdges(1, :)+reffICE_binEdges(2, :))/2._wp |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffLIQ)
|
:: |
reffLIQ_binCenters |
= |
(reffLIQ_binEdges(1, :)+reffLIQ_binEdges(2, :))/2._wp |
|
|
integer,
|
public, |
parameter
|
:: |
RTTOV_MAX_CHANNELS |
= |
20 |
|
|
character(len=256),
|
public, |
parameter
|
:: |
rttovDir |
= |
'/homedata/rguzman/CALIPSO/RTTOV/rttov_11.3/' |
|
|
integer,
|
public, |
parameter
|
:: |
PARASOL_NREFL |
= |
5 |
|
|
integer,
|
public, |
parameter
|
:: |
PARASOL_NTAU |
= |
7 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(PARASOL_NREFL)
|
:: |
PARASOL_SZA |
= |
(/0.0, 20.0, 40.0, 60.0, 80.0/) |
|
|
real(kind=WP),
|
public, |
parameter, dimension(PARASOL_NTAU)
|
:: |
PARASOL_TAU |
= |
(/0., 1., 5., 10., 20., 50., 100./) |
|
|
real(kind=WP),
|
public, |
parameter, dimension(PARASOL_NREFL,PARASOL_NTAU)
|
:: |
rlumA |
= |
reshape(source=(/0.03, 0.03, 0.03, 0.03, 0.03, 0.090886, 0.072185, 0.058410, 0.052498, 0.034730, 0.283965, 0.252596, 0.224707, 0.175844, 0.064488, 0.480587, 0.436401, 0.367451, 0.252916, 0.081667, 0.695235, 0.631352, 0.509180, 0.326551, 0.098215, 0.908229, 0.823924, 0.648152, 0.398581, 0.114411, 1.0, 0.909013, 0.709554, 0.430405, 0.121567/), shape=(/PARASOL_NREFL, PARASOL_NTAU/)) |
|
|
real(kind=WP),
|
public, |
parameter, dimension(PARASOL_NREFL,PARASOL_NTAU)
|
:: |
rlumB |
= |
reshape(source=(/0.03, 0.03, 0.03, 0.03, 0.03, 0.092170, 0.087082, 0.083325, 0.084935, 0.054157, 0.311941, 0.304293, 0.285193, 0.233450, 0.089911, 0.511298, 0.490879, 0.430266, 0.312280, 0.107854, 0.712079, 0.673565, 0.563747, 0.382376, 0.124127, 0.898243, 0.842026, 0.685773, 0.446371, 0.139004, 0.976646, 0.912966, 0.737154, 0.473317, 0.145269/), shape=(/PARASOL_NREFL, PARASOL_NTAU/)) |
|
|
integer,
|
public, |
parameter
|
:: |
numISCCPTauBins |
= |
ntau |
|
|
integer,
|
public, |
parameter
|
:: |
numISCCPPresBins |
= |
npres |
|
|
real(kind=wp),
|
public, |
parameter, dimension(ntau+1)
|
:: |
isccp_histTau |
= |
tau_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(npres+1)
|
:: |
isccp_histPres |
= |
pres_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(ntau)
|
:: |
isccp_histTauCenters |
= |
tau_binCenters |
|
|
real(kind=wp),
|
public, |
parameter, dimension(npres)
|
:: |
isccp_histPresCenters |
= |
pres_binCenters |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,ntau)
|
:: |
isccp_histTauEdges |
= |
tau_binEdges |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,npres)
|
:: |
isccp_histPresEdges |
= |
pres_binEdges |
|
|
integer,
|
public, |
parameter
|
:: |
numMISRHgtBins |
= |
nhgt |
|
|
integer,
|
public, |
parameter
|
:: |
numMISRTauBins |
= |
ntau |
|
|
real(kind=wp),
|
public, |
parameter, dimension(numMISRHgtBins+1)
|
:: |
misr_histHgt |
= |
hgt_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(numMISRTauBins+1)
|
:: |
misr_histTau |
= |
tau_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(numMISRHgtBins)
|
:: |
misr_histHgtCenters |
= |
hgt_binCenters |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,numMISRHgtBins)
|
:: |
misr_histHgtEdges |
= |
hgt_BinEdges |
|
|
integer,
|
public, |
parameter
|
:: |
numMODISPresBins |
= |
npres |
|
|
real(kind=wp),
|
public, |
parameter, dimension(numMODISPresBins + 1)
|
:: |
modis_histPres |
= |
100*pres_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2, numMODISPresBins)
|
:: |
modis_histPresEdges |
= |
100*pres_binEdges |
|
|
real(kind=wp),
|
public, |
parameter, dimension(numMODISPresBins)
|
:: |
modis_histPresCenters |
= |
100*pres_binCenters |
|
|
integer,
|
public |
|
:: |
numMODISTauBins |
|
|
|
|
real(kind=wp),
|
public, |
save, allocatable, dimension(:)
|
:: |
modis_histTau |
|
|
|
|
real(kind=wp),
|
public, |
save, allocatable, dimension(:,:)
|
:: |
modis_histTauEdges |
|
|
|
|
real(kind=wp),
|
public, |
save, allocatable, dimension(:)
|
:: |
modis_histTauCenters |
|
|
|
|
integer,
|
public, |
parameter
|
:: |
numMODISReffIceBins |
= |
nReffIce |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffIce+1)
|
:: |
modis_histReffIce |
= |
reffICE_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffIce)
|
:: |
modis_histReffIceCenters |
= |
reffICE_binCenters |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,nReffICE)
|
:: |
modis_histReffIceEdges |
= |
reffICE_binEdges |
|
|
integer,
|
public, |
parameter
|
:: |
numMODISReffLiqBins |
= |
nReffLiq |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffLiq+1)
|
:: |
modis_histReffLiq |
= |
reffLIQ_binBounds |
|
|
real(kind=wp),
|
public, |
parameter, dimension(nReffLiq)
|
:: |
modis_histReffLiqCenters |
= |
reffICE_binCenters |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,nReffICE)
|
:: |
modis_histReffLiqEdges |
= |
reffLIQ_binEdges |
|
|
integer,
|
public, |
parameter
|
:: |
CLOUDSAT_DBZE_BINS |
= |
15 |
|
|
integer,
|
public, |
parameter
|
:: |
CLOUDSAT_DBZE_MIN |
= |
-100 |
|
|
integer,
|
public, |
parameter
|
:: |
CLOUDSAT_DBZE_MAX |
= |
80 |
|
|
integer,
|
public, |
parameter
|
:: |
CLOUDSAT_CFAD_ZE_MIN |
= |
-50 |
|
|
integer,
|
public, |
parameter
|
:: |
CLOUDSAT_CFAD_ZE_WIDTH |
= |
5 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(CLOUDSAT_DBZE_BINS+1)
|
:: |
cloudsat_histRef |
= |
(/CLOUDSAT_DBZE_MIN, (/(i, i=int(CLOUDSAT_CFAD_ZE_MIN+CLOUDSAT_CFAD_ZE_WIDTH), int(CLOUDSAT_CFAD_ZE_MIN+(CLOUDSAT_DBZE_BINS-1)*CLOUDSAT_CFAD_ZE_WIDTH), int(CLOUDSAT_CFAD_ZE_WIDTH))/), CLOUDSAT_DBZE_MAX/) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,CLOUDSAT_DBZE_BINS)
|
:: |
cloudsat_binEdges |
= |
reshape(source=(/cloudsat_histRef(1), ((cloudsat_histRef(k), l=1, 2), k=2, CLOUDSAT_DBZE_BINS), cloudsat_histRef(CLOUDSAT_DBZE_BINS+1)/), shape=(/2, CLOUDSAT_DBZE_BINS/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(CLOUDSAT_DBZE_BINS)
|
:: |
cloudsat_binCenters |
= |
(cloudsat_binEdges(1, :)+cloudsat_binEdges(2, :))/2._wp |
|
|
integer,
|
public, |
parameter
|
:: |
nCloudsatPrecipClass |
= |
10 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_noPrecip |
= |
0 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Rain1 |
= |
1 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Rain2 |
= |
2 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Rain3 |
= |
3 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Snow1 |
= |
4 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Snow2 |
= |
5 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Mixed1 |
= |
6 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Mixed2 |
= |
7 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_Rain4 |
= |
8 |
|
|
integer,
|
public, |
parameter
|
:: |
pClass_default |
= |
9 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(4)
|
:: |
Zenonbinval |
= |
(/0._wp, -5._wp, -7.5_wp, -15._wp/) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(6)
|
:: |
Zbinvallnd |
= |
(/10._wp, 5._wp, 2.5_wp, -2.5_wp, -5._wp, -15._wp/) |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
S_cld |
= |
5.0 |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
S_att |
= |
0.01 |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
S_cld_att |
= |
30. |
|
|
real(kind=wp),
|
public, |
parameter, dimension(SR_BINS+1)
|
:: |
calipso_histBsct |
= |
(/-1., 0.01, 1.2, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 25.0, 30.0, 40.0, 50.0, 60.0, 80.0, 999./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,SR_BINS)
|
:: |
calipso_binEdges |
= |
reshape(source=(/calipso_histBsct(1), ((calipso_histBsct(k), l=1, 2), k=2, SR_BINS), calipso_histBsct(SR_BINS+1)/), shape=(/2, SR_BINS/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(SR_BINS)
|
:: |
calipso_binCenters |
= |
(calipso_binEdges(1, :)+calipso_binEdges(2, :))/2._wp |
|
|
integer,
|
public, |
parameter
|
:: |
LIDAR_NTEMP |
= |
40 |
|
|
integer,
|
public, |
parameter
|
:: |
LIDAR_NCAT |
= |
4 |
|
|
integer,
|
public, |
parameter
|
:: |
LIDAR_NTYPE |
= |
3 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(LIDAR_NTEMP)
|
:: |
LIDAR_PHASE_TEMP |
= |
(/-91.5, -88.5, -85.5, -82.5, -79.5, -76.5, -73.5, -70.5, -67.5, -64.5, -61.5, -58.5, -55.5, -52.5, -49.5, -46.5, -43.5, -40.5, -37.5, -34.5, -31.5, -28.5, -25.5, -22.5, -19.5, -16.5, -13.5, -10.5, -7.5, -4.5, -1.5, 1.5, 4.5, 7.5, 10.5, 13.5, 16.5, 19.5, 22.5, 25.5/) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,LIDAR_NTEMP)
|
:: |
LIDAR_PHASE_TEMP_BNDS |
= |
reshape(source=(/-273.15, -90., -90., -87., -87., -84., -84., -81., -81., -78., -78., -75., -75., -72., -72., -69., -69., -66., -66., -63., -63., -60., -60., -57., -57., -54., -54., -51., -51., -48., -48., -45., -45., -42., -42., -39., -39., -36., -36., -33., -33., -30., -30., -27., -27., -24., -24., -21., -21., -18., -18., -15., -15., -12., -12., -9., -9., -6., -6., -3., -3., 0., 0., 3., 3., 6., 6., 9., 9., 12., 12., 15., 15., 18., 18., 21., 21., 24., 24., 100./), shape=(/2, 40/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(SR_BINS+1)
|
:: |
grLidar532_histBsct |
= |
(/-1., 0.01, 1.2, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 25.0, 30.0, 40.0, 50.0, 60.0, 80.0, 999./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,SR_BINS)
|
:: |
grLidar532_binEdges |
= |
reshape(source=(/grLidar532_histBsct(1), ((grLidar532_histBsct(k), l=1, 2), k=2, SR_BINS), grLidar532_histBsct(SR_BINS+1)/), shape=(/2, SR_BINS/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(SR_BINS)
|
:: |
grLidar532_binCenters |
= |
(grLidar532_binEdges(1, :)+grLidar532_binEdges(2, :))/2._wp |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
S_cld_atlid |
= |
1.74 |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
S_att_atlid |
= |
0.01 |
|
|
real(kind=wp),
|
public, |
parameter
|
:: |
S_cld_att_atlid |
= |
6.67 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(SR_BINS+1)
|
:: |
atlid_histBsct |
= |
(/-1., 0.01, 1.03, 1.38, 1.74, 2.07, 2.62, 3.65, 4.63, 5.63, 6.67, 8.8, 11.25, 13.2, 17.2, 999./) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(2,SR_BINS)
|
:: |
atlid_binEdges |
= |
reshape(source=(/atlid_histBsct(1), ((atlid_histBsct(k), l=1, 2), k=2, SR_BINS), atlid_histBsct(SR_BINS+1)/), shape=(/2, SR_BINS/)) |
|
|
real(kind=wp),
|
public, |
parameter, dimension(SR_BINS)
|
:: |
atlid_binCenters |
= |
(atlid_binEdges(1, :)+atlid_binEdges(2, :))/2._wp |
|
|
integer,
|
public |
|
:: |
Nlvgrid |
|
|
|
|
real(kind=wp),
|
public, |
dimension(:), save, allocatable
|
:: |
vgrid_zl |
|
|
|
|
real(kind=wp),
|
public, |
dimension(:), save, allocatable
|
:: |
vgrid_zu |
|
|
|
|
real(kind=wp),
|
public, |
dimension(:), save, allocatable
|
:: |
vgrid_z |
|
|
|
|
integer,
|
public, |
parameter
|
:: |
niv_sorties |
= |
40 |
|
|
real(kind=wp),
|
public, |
parameter, dimension(niv_sorties)
|
:: |
vgrid_z_in |
= |
(/240.0, 720.0, 1200.0, 1680.0, 2160.0, 2640.0, 3120.0, 3600.0, 4080.0, 4560.0, 5040.0, 5520.0, 6000.0, 6480.0, 6960.0, 7440.0, 7920.0, 8400.0, 8880.0, 9360.0, 9840.0, 10320.0, 10800.0, 11280.0, 11760.0, 12240.0, 12720.0, 13200.0, 13680.0, 14160.0, 14640.0, 15120.0, 15600.0, 16080.0, 16560.0, 17040.0, 17520.0, 18000.0, 18480.0, 18960.0/) |
|