Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
icwg
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Andi Walther
icwg
Commits
01a759e7
Commit
01a759e7
authored
6 years ago
by
Andi Walther
Browse files
Options
Downloads
Patches
Plain Diff
add files
parent
922fb65f
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
cws2__add_c.pro
+20
-2
20 additions, 2 deletions
cws2__add_c.pro
cws2__define.pro
+2
-38
2 additions, 38 deletions
cws2__define.pro
cws_stats__caliop_profile.pro
+183
-118
183 additions, 118 deletions
cws_stats__caliop_profile.pro
cws_stats_do_it.pro
+11
-11
11 additions, 11 deletions
cws_stats_do_it.pro
with
216 additions
and
169 deletions
cws2__add_c.pro
+
20
−
2
View file @
01a759e7
...
@@ -16,8 +16,7 @@ pro cws2::add_c, overpass = overpass, cth_reference = cth_reference, affi = affi
...
@@ -16,8 +16,7 @@ pro cws2::add_c, overpass = overpass, cth_reference = cth_reference, affi = affi
orbit_2_time
,
overpass
,
year
,
month
,
day
,
hour
,
minute
orbit_2_time
,
overpass
,
year
,
month
,
day
,
hour
,
minute
print
,
'... add data to AVAC-S level C file for '
+
affi
+
'/'
+
sensor
+
'/'
+
product
+
' '
,
year
,
month
,
day
print
,
'... add data to AVAC-S level C file for '
+
affi
+
'/'
+
sensor
+
'/'
+
product
+
' '
,
year
,
month
,
day
endif
endif
;
default
,
day
,
13
;
default
,
month
,
6
;
read
time
from
level
B
data
;
read
time
from
level
B
data
bTime
=
self
->
get_data
(
product
=
'YDT'
,
/
data
)
bTime
=
self
->
get_data
(
product
=
'YDT'
,
/
data
)
...
@@ -241,3 +240,22 @@ pro cws2::add_c, overpass = overpass, cth_reference = cth_reference, affi = affi
...
@@ -241,3 +240,22 @@ pro cws2::add_c, overpass = overpass, cth_reference = cth_reference, affi = affi
print
,
''
print
,
''
end
end
pro
_do_it
o
=
cws2
()
prd_list
=
[
$
'cmb'
,
'ctp'
,
'cth'
,
'ctt'
,
'cod'
,
'ref'
,
'cph'
,
'lwp'
]
grp_list
=
[
'CMS'
,
'EUM'
,
'OCA'
,
'MPF'
,
'FUB'
,
'DLR'
,
'MFR'
,
'RMB'
,
'AWG'
,
'UKM'
,
'GSF'
,
'LAR'
,
'COX'
,
'OCA2'
,
'KNM'
,
'TPS'
,
'SUI'
,
'CLV'
,
'LARN'
]
foreach
grp
,
grp_list
do
begin
foreach
prd
,
prd_list
do
begin
o
.
add_c
,
affi
=
grp
,
ov
=
11317
,
product
=
prd
endforeach
endforeach
end
This diff is collapsed.
Click to expand it.
cws2__define.pro
+
2
−
38
View file @
01a759e7
...
@@ -28,7 +28,8 @@ function cws2::_get_data, affi = affi, sensor = sensor, $
...
@@ -28,7 +28,8 @@ function cws2::_get_data, affi = affi, sensor = sensor, $
product
=
product
,
general
=
general
product
=
product
,
general
=
general
COMMON
FEEDBACK
,
quiet
,
verbose
,
debug
COMMON
FEEDBACK
,
quiet
,
verbose
,
debug
if
not
quiet
then
print
,
'... start cws2::_get_data (cws2__define.pro)'
;
set
defaults
;
set
defaults
if
n_elements
(
affi
)
eq
0
then
affi
=
self
.
affi
if
n_elements
(
affi
)
eq
0
then
affi
=
self
.
affi
...
@@ -189,43 +190,6 @@ end
...
@@ -189,43 +190,6 @@ end
;
+
;
;
;
;
-
pro
cws2
::
create_c
self
->
set_sensor
,
'_GENERAL'
;
read
number
of
x
pixel
in
Seviri
coordinates
xlin
=
self
->
get_data
(
product
=
'XLIN'
,
/
data
)
;
read
number
of
y
pixel
in
Seviri
coordinates
xele
=
self
->
get_data
(
product
=
'XELE'
,
/
data
)
;
read
time
time
=
self
->
get_data
(
product
=
'YDT'
,
/
data
)
;
get
C
-
file
cFile
=
self
->
get_cfile
()
self
->
h5add
,
cfile
,
xele
$
,
Par_Name
=
'Column on SEVIRI disk (x) '
$
,
sensor
=
'_GENERAL'
$
,
prd_code
=
'XELE'
$
,
Par_Info
=
'Column index of grid cell on SEVIRI disk'
$
,
/
no_append
self
->
h5add
,
cfile
,
xlin
$
,
Par_Name
=
'Row on SEVIRI disk (y) '
$
,
sensor
=
'_GENERAL'
$
,
prd_code
=
'XLIN'
$
,
par_Info
=
'Row index of grid cell on SEVIRI disk'
self
->
h5add
,
cfile
,
time
$
,
sensor
=
'_GENERAL'
$
,
prd_code
=
'YDT'
$
,
par_Name
=
'Year, day and time'
$
,
par_Info
=
'YDT given in seconds since midnight UT at the beginning of May 24 1968'
end
;
+
;
+
;
procedure
;
procedure
...
...
This diff is collapsed.
Click to expand it.
cws_stats__caliop_profile.pro
+
183
−
118
View file @
01a759e7
;
;
;
pro
cws_stats
::
caliop_profile
,
start
,
nr
$
pro
cws_stats
::
caliop_profile
,
start
,
nr
$
,
overpass
=
overpass
$
,
overpass
=
overpass
$
,
cut
=
cut
$
,
cut
=
cut
$
,
noPS
=
noPS
$
,
noPS
=
noPS
$
,
group
=
group
,
group
=
group
COMMON
FEEDBACK
,
quiet
,
verbose
,
debug
if
not
quiet
then
print
,
'... start caliop_profile'
if
not
self
.
quiet
then
print
,
'... start caliop_profile'
default
,
noPs
,
0
default
,
noPs
,
0
;
noPs
=
0
;
noPs
=
0
default
,
group
,
'AWG'
default
,
group
,
'AWG'
if
not
quiet
then
print
,
'... group = '
,
group
if
not
self
.
quiet
then
print
,
'... group = '
,
group
default
,
cut
,
5
default
,
cut
,
5
if
not
quiet
then
print
,
'... cut = '
,
cut
if
not
self
.
quiet
then
print
,
'... cut = '
,
cut
;
convert
date
to
orbit
number
;
convert
date
to
orbit
number
orbt_nr
=
time_2_orbit
(
$
orbt_nr
=
time_2_orbit
(
$
julday
(
self
.
month
,
self
.
day
,
self
.
year
,
self
.
hour
,
self
.
minute
))
julday
(
self
.
month
,
self
.
day
,
self
.
year
,
self
.
hour
,
self
.
minute
))
default
,
overpass
,
orbt_nr
default
,
overpass
,
orbt_nr
if
not
quiet
then
print
,
'... ATRAIN orbit number = '
,
orbt_nr
if
not
self
.
quiet
then
print
,
'... ATRAIN orbit number = '
,
orbt_nr
;
create
cws2
object
;
create
cws2
object
oCwsAtrain
=
obj_new
(
'cws2'
,
overpass
=
overpass
)
oCwsAtrain
=
obj_new
(
'cws2'
,
overpass
=
overpass
)
if
verbose
then
print
,
'... read lon, lat, ydt'
if
self
.
verbose
then
print
,
'... read lon, lat, ydt'
lon
=
oCwsAtrain
->
get_data
(
prod
=
'LON'
,
/
data
)
lon
=
oCwsAtrain
->
get_data
(
prod
=
'LON'
,
/
data
)
lat
=
oCwsAtrain
->
get_data
(
prod
=
'LAT'
,
/
data
)
lat
=
oCwsAtrain
->
get_data
(
prod
=
'LAT'
,
/
data
)
ydt
=
oCwsAtrain
->
get_data
(
pr
=
'YDT'
,
/
data
)
ydt
=
oCwsAtrain
->
get_data
(
pr
=
'YDT'
,
/
data
)
if
verbose
then
print
,
'... convert (lon,lat) to pixel numbers'
if
self
.
verbose
then
print
,
'... convert (lon,lat) to pixel numbers'
pxl
=
geo_2_msg
(
lon
,
lat
)
pxl
=
geo_2_msg
(
lon
,
lat
)
lidar
=
oCwsAtrain
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'TAB_0532'
,
/
DATA
)
lidar
=
oCwsAtrain
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'TAB_0532'
,
/
DATA
)
...
@@ -59,7 +61,7 @@ pro cws_stats::caliop_profile, start , nr $
...
@@ -59,7 +61,7 @@ pro cws_stats::caliop_profile, start , nr $
rfl
=
o
->
get_data
(
pro
=
'RFL'
,
sens
=
'CPR'
,
/
data
)
rfl
=
o
->
get_data
(
pro
=
'RFL'
,
sens
=
'CPR'
,
/
data
)
lidar
=
o
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'TAB_0532'
,
/
DATA
)
lidar
=
o
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'TAB_0532'
,
/
DATA
)
height
=
o
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'HGT'
,
/
DATA
)
height
=
o
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'HGT'
,
/
DATA
)
;
sfcbin
=
o
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'SHB'
,
/
DATA
)
sfcbin
=
o
->
get_data
(
sen
=
'CALIOP'
,
pro
=
'SHB'
,
/
DATA
)
time
=
o
->
get_data
(
pro
=
'YDT'
,
/
DATA
)
time
=
o
->
get_data
(
pro
=
'YDT'
,
/
DATA
)
cth_cal
=
o
->
get_data
(
sen
=
'CALIOP'
,
prod
=
'CTH'
,
/
data
)
cth_cal
=
o
->
get_data
(
sen
=
'CALIOP'
,
prod
=
'CTH'
,
/
data
)
...
@@ -142,68 +144,107 @@ pro cws_stats::caliop_profile, start , nr $
...
@@ -142,68 +144,107 @@ pro cws_stats::caliop_profile, start , nr $
thisP
=
!
p
thisP
=
!
p
!
p
.
charsize
=
0.8
!
p
.
charsize
=
0.8
if
~
keyword_set
(
noPS
)
then
startps
,
outname
=
outfile
,
xs
=
2
,
ys
=
2
;
if
~
keyword_set
(
noPS
)
then
startps
,
outname
=
outfile
,
xs
=
2
,
ys
=
2
w
=
window
(
dimension
=
[
700
,
1200
])
loadct
,
11
for
p
=
2
,
160
do
tvlct
,
fsc_color
(
'gray'
,
/
triple
),
p
contour
,
r
,
l
,
h
,
/
FILL
,
/
color
,
NLEV
=
10
,
_EXTRA
=
_EXTRA
,
YRANGE
=
[
0
,
20
],
$
YSTY
=
5
,
XStyle
=
5
,
XRANGE
=
[
MIN
(
l
),
MAX
(
l
)]
$
,
title
=
group
,
charsize
=
1
.,
pos
=
[
0.1
,
0.68
,
0.9
,
0.95
],
/
norm
;
stop
xyouts
,
0.05
,
0.96
,
'SEVIRI scene: '
+
self
->
get_date
(
/
string
),
/
normal
,
charsize
=
0.7
xyouts
,
0.95
,
0.96
,
' CUT: '
+
string
(
cut
,
fo
=
'(i2.2)'
)
$
+
' OVP: '
+
string
(
overpass
,
format
=
'(i5.5)'
),
align
=
1
.,
/
normal
loadct
,
39
oplot
,
cth_affi
/
1000
.,
color
=
fsc_color
(
'white'
),
psym
=
1
,
symsize
=
0.44
oplot
,
height
[
sfcbin
,
indgen
(
nr_idx
)]
/
1000
.
axis
,
yax
=
0
,
yrange
=
[
0
,
20
]
,
yticks
=
yticks
,
YSTY
=
1
,
ytitle
=
'km'
axis
,
yax
=
1
,
yticks
=
yticks
,
ytickform
=
'(A1)'
,
yminor
=
1
;
draw
right
y
axis
w
/
o
labels
.
axis
,
xax
=
0
,
xticks
=
1
,
xtickform
=
'(A1)'
,
xminor
=
1
;
draw
lower
x
axis
w
/
o
labels
.
axis
,
xax
=
1
,
xticks
=
1
,
xtickform
=
'(A1)'
,
xminor
=
1
;
draw
lower
x
axis
w
/
o
labels
.
cloud_idx
=
where
(
cmb
gt
1.5
,
c
,
compl
=
compl
)
if
c
gt
0
then
plots
,
cloud_idx
,
make_array
(
c
,
value
=-
0.5
),
color
=
fsc_color
(
'blue'
),
psym
=
3
no_cloud_idx
=
where
(
cmb
eq
1
,
cNoCloud
)
values
=
[
-
0.04
,
0.004
,
0.015
,
0.02
,
0.03
,
0.04
,
0.05
,
0.1
,
0.3
]
if
cNoCloud
gt
0
then
plots
,
compl
,
make_array
(
cNoCloud
,
value
=-
0.8
),
color
=
fsc_color
(
'gold'
),
psym
=
1
,
symsize
=
0.12
levels
=
n_elements
(
values
)
ctable
=
COLORTABLE
([[
085
,
026
,
139
],[
135
,
206
,
255
],[
0
,
255
,
0
]],
NCOLORS
=
levels
,
/
TRANSPOSE
)
ctable
[
*,
0
]
=
fsc_color
(
'gray'
,
/
triple
)
c
=
contour
(
r
,
l
,
reverse
(
h
)
/
1000
.,
/
current
,
pos
=
[
0.1
,
0.68
,
0.9
,
0.95
],
yrange
=
[
0
,
20
]
$
,
c_value
=
values
$
,
c_color
=
ctable
,
/
fill
,
/
xstyle
)
c
[
'axis0'
].
SHOWTEXT
=
0
c
.
title
=
group
t1
=
text
(
0.05
,
0.96
,
'SEVIRI scene: '
+
self
->
get_date
(
/
string
))
t2
=
text
(
0.95
,
0.96
,
' CUT: '
+
string
(
cut
,
fo
=
'(i2.2)'
)
$
+
' OVP: '
+
string
(
overpass
,
format
=
'(i5.5)'
),
align
=
1
.
)
cloud_idx
=
where
(
cmb
gt
1.5
,
n_idx
,
compl
=
compl
)
;
if
n_idx
gt
0
then
p00
=
plot
(
cloud_idx
,
make_array
(
n_idx
,
value
=
1.5
),
'b+'
,
/
overplot
)
p01
=
plot
(
indgen
(
n_elements
(
l
)),
make_array
(
n_elements
(
l
),
value
=
4
),
'y+'
,
/
current
$
,
pos
=
[
0.1
,
0.64
,
0.9
,
0.68
],
/
xstyle
,
/
nodata
,
yrange
=
[
0
,
5
])
for
ii
=
0
,
3
do
(
p01
.
axes
)[
ii
].
HIDE
=
1
no_cloud_idx
=
where
(
cmb
eq
1
,
cNoCloud
)
if
cNoCloud
gt
0
then
begin
p010
=
plot
(
compl
,
make_array
(
cNoCloud
,
value
=
1
),
'y+'
,
/
overplot
)
endif
phase_idx_wat
=
where
(
cph
eq
1
,
cWat
)
phase_idx_wat
=
where
(
cph
eq
1
,
cWat
)
if
cWat
gt
1
then
plots
,
phase_idx_wat
,
make_array
(
cWat
,
value
=-
1.3
),
color
=
fsc_color
(
'green'
),
psym
=
3
if
cWat
gt
1
then
begin
p011
=
plot
(
phase_idx_wat
,
make_array
(
cWat
,
value
=
2
),
'g+'
,
/
overplot
)
endif
phase_idx_ice
=
where
(
cph
eq
2
,
cIce
)
phase_idx_ice
=
where
(
cph
eq
2
,
cIce
)
if
cIce
gt
1
then
plots
,
phase_idx_ice
,
make_array
(
cIce
,
value
=-
1.8
),
color
=
fsc_color
(
'red'
),
psym
=
1
,
symsize
=
0.12
if
cIce
gt
1
then
begin
p012
=
plot
(
phase_idx_ice
,
make_array
(
cIce
,
value
=
3
),
'r+'
,
/
overplot
)
endif
phase_idx_mix
=
where
(
cph
eq
3
,
cMix
)
phase_idx_mix
=
where
(
cph
eq
3
,
cMix
)
if
cMix
gt
1
then
plots
,
phase_idx_mix
,
make_array
(
cMix
,
value
=-
2.3
),
color
=
fsc_color
(
'purple'
),
psym
=
1
,
symsize
=
0.12
if
cMix
gt
1
then
begin
p013
=
plot
(
phase_idx_mix
,
make_array
(
cMix
,
value
=
4
),
'purple+'
,
/
overplot
)
endif
thisP
=
!
P
thisP
=
!
P
!
p
.
charsize
/=
2.4
!
p
.
charsize
/=
2.4
xyouts
,
nr_idx
+
10
,
-
0
.,
'Cl'
,
color
=
fsc_color
(
'blue'
)
xyouts
,
nr_idx
+
10
,
-
0.8
,
'NCl'
,
color
=
fsc_color
(
'gold'
)
t30
=
text
(
nr_idx
+
10
,
-
0
.
,
'Cl'
,
color
=
'blue'
,
/
data
)
xyouts
,
nr_idx
+
10
,
-
1.6
,
'Wat'
,
color
=
fsc_color
(
'green'
)
t31
=
text
(
nr_idx
+
10
,
-
0.8
,
'Cl'
,
color
=
'gold'
,
/
data
)
xyouts
,
nr_idx
+
10
,
-
2.4
,
'Ice'
,
color
=
fsc_color
(
'red'
)
t32
=
text
(
nr_idx
+
10
,
-
1.6
,
'Cl'
,
color
=
'green'
,
/
data
)
xyouts
,
nr_idx
+
10
,
-
3.2
,
'Mix'
,
color
=
fsc_color
(
'purple'
)
t33
=
text
(
nr_idx
+
10
,
-
2.4
,
'Cl'
,
color
=
'red'
,
/
data
)
t34
=
text
(
nr_idx
+
10
,
-
3.2
,
'Cl'
,
color
=
'purple'
,
/
data
)
!
p
=
thisP
!
p
=
thisP
cod_wat
=
cod
*
(
cph
eq
1
)
-
999
.
*
(
cph
ne
1
)
cod_wat
=
cod
*
(
cph
eq
1
)
-
999
.
*
(
cph
ne
1
)
plot
,
indgen
(
n_elements
(
ind
)),
cod
,
pos
=
[
0.1
,
0.46
,
0.9
,
0.62
],
/
noerase
$
,
yRange
=
[
0
,
50
],
psym
=
1
$
p1
=
plot
(
indgen
(
n_elements
(
ind
)),
cod
,
/
current
,
symbol
=
'.'
,
/
nodata
,
yrange
=
[
0
,
50
],
/
xstyle
)
;,
xTickformat
=
'NOLABEL'
$
;!!!!!!!!!!!!!!!!!
p1
.
position
=
[
0.1
,
0.46
,
0.9
,
0.62
]
,
yTitle
=
'cod []'
$
,
symsize
=
0.3
,
/
nodata
,
/
xstyle
,
xrange
=
[
0
,
n_elements
(
ind
)
-
1
]
xyouts
,
0.5
,
0.627
,
'Cloud optical depth'
,
charsize
=.
6
,
/
normal
,
align
=
0.5
p1
[
'axis1'
].
Title
=
'cod []'
oplot
,
indgen
(
n_elements
(
ind
)),
cod
,
psym
=
1
$
p1
[
'axis1'
].
Axis_Range
=
[
0
,
50
]
,
symsize
=
0.6
,
col
=
fsc_color
(
'red'
)
p1
[
'axis0'
].
SHOWTEXT
=
0
p10
=
plot
(
indgen
(
n_elements
(
ind
)),
cod
,
'r+'
,
/
overplot
,
sym_size
=
0.5
)
p11
=
plot
(
indgen
(
n_elements
(
ind
)),
cod_wat
,
'g+'
,
/
overplot
,
sym_size
=
0.5
)
p12
=
plot
(
indgen
(
n_elements
(
ind
)),
cod_modis
,
'b+'
,
/
overplot
,
sym_size
=
0.5
)
t12
=
text
(
0.5
,
0.627
,
'Cloud optical depth'
,
align
=
0.5
)
oplot
,
indgen
(
n_elements
(
ind
)),
cod_wat
,
psym
=
1
$
;
plot
,
indgen
(
n_elements
(
ind
)),
cod
,
pos
=
[
0.1
,
0.46
,
0.9
,
0.62
],
/
noerase
$
,
symsize
=
0.6
,
col
=
fsc_color
(
'green'
)
;
,
yRange
=
[
0
,
50
],
psym
=
1
$
;
;,
xTickformat
=
'NOLABEL'
$
;!!!!!!!!!!!!!!!!!
oplot
,
indgen
(
n_elements
(
ind
)),
cod_modis
,
psym
=
1
$
;
,
yTitle
=
'cod []'
$
,
symsize
=
0.2
,
col
=
fsc_color
(
'blue'
)
;
,
symsize
=
0.3
,
/
nodata
,
/
xstyle
,
xrange
=
[
0
,
n_elements
(
ind
)
-
1
]
;
xyouts
,
0.5
,
0.627
,
'Cloud optical depth'
,
charsize
=.
6
,
/
normal
,
align
=
0.5
;
oplot
,
indgen
(
n_elements
(
ind
)),
cod
,
psym
=
1
$
;
,
symsize
=
0.6
,
col
=
fsc_color
(
'red'
)
;
;
oplot
,
indgen
(
n_elements
(
ind
)),
cod_wat
,
psym
=
1
$
;
,
symsize
=
0.6
,
col
=
fsc_color
(
'green'
)
;
;
oplot
,
indgen
(
n_elements
(
ind
)),
cod_modis
,
psym
=
1
$
;
,
symsize
=
0.2
,
col
=
fsc_color
(
'blue'
)
;
;
!!!!!!!!!!!!!!!!!
;
!!!!!!!!!!!!!!!!!
;
legend
,[
'Water'
,
' Ice'
,
' MODIS'
]
$
;
legend
,[
'Water'
,
' Ice'
,
' MODIS'
]
$
;
,
psym
=
[
1
,
1
,
1
],
color
=
[
fsc_color
(
'green'
)
$
;
,
psym
=
[
1
,
1
,
1
],
color
=
[
fsc_color
(
'green'
)
$
...
@@ -214,72 +255,96 @@ pro cws_stats::caliop_profile, start , nr $
...
@@ -214,72 +255,96 @@ pro cws_stats::caliop_profile, start , nr $
if
size
(
lwp_amsr
,
/
tname
)
eq
'STRING'
then
lwp_amsr
=
make_array
(
size
(
lwp_amsr
,
/
dim
),
val
=
0
)
if
size
(
lwp_amsr
,
/
tname
)
eq
'STRING'
then
lwp_amsr
=
make_array
(
size
(
lwp_amsr
,
/
dim
),
val
=
0
)
wat
=
where
(
cph
eq
1
,
c
)
wat
=
where
(
cph
eq
1
,
n_wat
)
plot
,
lat
[
ind
],(
lwp_amsr
>
0
)
*
1000
.
$
,
pos
=
[
0.1
,
0.06
,
0.9
,
0.22
],
/
noerase
$
,
yRange
=
[
00
,
300
]
,
symsize
=
0.3
$
p2
=
plot
(
lat
[
ind
],(
lwp_amsr
>
0
)
*
1000
.
$
,
yTitle
=
'lwp [g/m!U2!X]'
,
/
xstyle
,
xtitle
=
'Latitude'
,
/
nodata
,
pos
=
[
0.1
,
0.06
,
0.9
,
0.22
]
,
/
current
,
/
xstyle
,
/
nodata
$
,
yrange
=
[
0
,
300
])
xyouts
,
0.5
,
0.227
,
'Liquid water path'
,
charsize
=.
6
,
/
normal
,
align
=
0.5
p2
[
'axis0'
].
TITLE
=
'Latitude'
p2
[
'axis1'
].
TITLE
=
'lwp [g/m!U2!N]'
axis
,
xax
=
1
,
xrange
=
[
0
,
n_elements
(
ind
)
-
1
],
/
xstyle
$
;
,
xTickformat
=
'NOLABEL'
$
;
!!!!!!!!!!!!!!!!!
,
/
save
t20
=
text
(
0.5
,
0.227
,
'Liquid water path'
,
align
=
0.5
)
if
c
gt
0
then
begin
oplot
,(
indgen
(
n_elements
(
ind
)))[
wat
],(
lwp
[
wat
]
>
0
)
$
;
ax0
=
Axis
(
'x'
,
axis_range
=
[
0
,
n_elements
(
ind
)
-
1
],
style
=
0
)
,
color
=
fsc_color
(
'green'
)
$
,
symsize
=
0.5
,
psym
=
1
if
n_wat
gt
0
then
begin
p20
=
plot
(
(
indgen
(
n_elements
(
ind
)))[
wat
],(
lwp
[
wat
]
>
0
)
$
oplot
,(
indgen
(
n_elements
(
ind
)))[
wat
],(
lwp_amsr
[
wat
]
>
0
)
*
1000
.
$
,
'g+'
$
,
color
=
fsc_color
(
'blue'
),
psym
=
1
,
symsize
=
0.5
,
sym_size
=
0.5
,
/
current
,
pos
=
[
0.1
,
0.06
,
0.9
,
0.22
]
$
,
axis_style
=
0
)
p21
=
plot
((
indgen
(
n_elements
(
ind
)))[
wat
],(
lwp_amsr
[
wat
]
>
0
)
*
1000
.
$
,
'b+'
,
sym_size
=
0.5
,
/
current
,
pos
=
[
0.1
,
0.06
,
0.9
,
0.22
]
$
,
axis_style
=
0
)
endif
endif
;
!!!!!!!!!!!!!!!!!
if
add_legend_lwp
ne
''
then
t21
=
text
(
0.1
,
0.01
,
'+ calculated from COD and REF '
,
font_size
=
0.3
)
;
legend
,[
group
+
' !U+!X'
,
'AMSR-E'
],
linestyle
=
[
0
,
0
],
charsize
=
0.5
$
if
add_legend_lwp
eq
''
then
t22
=
text
(
0.1
,
0.01
,
'+ LWP provided by group '
,
font_size
=
0.3
)
;
,
box
=
0
,
spacing
=
0.3
,
color
=
[
fsc_color
(
'green'
)
$
;
,
fsc_color
(
'blue'
)]
,
/
clear
,
pos
=
[
0.1
,
0.252
],
/
norm
if
add_legend_lwp
ne
''
then
xyouts
,
0.1
,
0.01
,
'+ calculated from COD and REF '
,
/
normal
,
charsize
=
0.3
if
add_legend_lwp
eq
''
then
xyouts
,
0.1
,
0.01
,
'+ LWP provided by group '
,
/
normal
,
charsize
=
0.3
ref_idx
=
where
(
ref
le
0
,
cRef
)
ref_idx
=
where
(
ref
le
0
,
cRef
)
if
cRef
gt
0
then
ref
[
ref_idx
]
=
-
999
.
if
cRef
gt
0
then
ref
[
ref_idx
]
=
-
999
.
ref_wat
=
ref
*
(
cph
eq
1
)
-
999
.
*
(
cph
ne
1
)
ref_wat
=
ref
*
(
cph
eq
1
)
-
999
.
*
(
cph
ne
1
)
ref_ice
=
ref
*
(
cph
ne
1
)
-
999
.
*
(
cph
eq
1
)
ref_ice
=
ref
*
(
cph
ne
1
)
-
999
.
*
(
cph
eq
1
)
plot
,
indgen
(
n_elements
(
ind
)),
ref
$
,
pos
=
[
0.1
,
0.26
,
0.9
,
0.42
],
/
noerase
$
,
yRange
=
[
00
,
50
],
psym
=
1
,
symsize
=
0.3
$
p3
=
plot
(
indgen
(
n_elements
(
ind
)),
ref
$
,
yTitle
=
'ref ['
+
textoidl
(
'\mu'
)
+
'm]'
,
/
nodata
$
,
pos
=
[
0.1
,
0.26
,
0.9
,
0.42
]
$
;,
xTickformat
=
'NOLABEL'
$
;
!!!!!!!!!!!!!!!!!
,
/
current
,
/
xstyle
,
yrange
=
[
0
,
50
],
/
nodata
$
,
/
xstyle
,
xrange
=
[
0
,
n_elements
(
ind
)
-
1
]
,
xrange
=
[
0
,
n_elements
(
ind
)
-
1
]
)
xyouts
,
0.5
,
0.427
,
'Cloud effective radius'
,
charsize
=.
6
,
/
normal
,
align
=
0.5
;
!!!!!!!!!!!!!!!!!
;
legend
,[
'Water'
,
' Ice'
,
' MODIS'
]
$
;
,
psym
=
[
1
,
1
,
1
],
color
=
[
fsc_color
(
'green'
)
$
;
,
fsc_color
(
'red'
),
fsc_color
(
'blue'
)]
$
;
,
charsize
=
0.5
$
;
,
box
=
0
$
;
,
spacing
=
0.5
,
/
Fill
,
/
clear
ref_modis
=
float
(
ref_modis
)
oplot
,
indgen
(
n_elements
(
ind
)),
ref_modis
,
psym
=
1
$
,
symsize
=
0.2
,
col
=
fsc_color
(
'blue'
)
oplot
,
indgen
(
n_elements
(
ind
)),
ref_ice
,
psym
=
1
$
,
symsize
=
0.6
,
col
=
fsc_color
(
'red'
)
oplot
,
indgen
(
n_elements
(
ind
)),
ref_wat
,
psym
=
1
$
,
symsize
=
0.6
,
col
=
fsc_color
(
'green'
)
if
~
keyword_set
(
noPS
)
then
begin
p3
[
'axis1'
].
TITLE
=
"ref [$\mu$m]"
spawn
,
'convert -density 200 '
+
outfile
+
'.eps '
+
outfile
+
'.jpg'
p3
[
'axis0'
].
SHOWTEXT
=
0
spawn
,
'rm -f '
+
outfile
+
'.eps'
t30
=
text
(
0.5
,
0.427
,
'Cloud effective radius'
,
align
=
0.5
)
endps
endif
ref_modis
=
float
(
ref_modis
)
p30
=
plot
(
indgen
(
n_elements
(
ind
)),
ref_modis
,
'b+'
$
,
sym_size
=
0.5
,
/
overplot
)
p31
=
plot
(
indgen
(
n_elements
(
ind
)),
ref_ice
,
'r+'
$
,
sym_size
=
0.5
,
/
overplot
)
p32
=
plot
(
indgen
(
n_elements
(
ind
)),
ref_wat
,
'g+'
$
,
sym_size
=
0.5
,
/
overplot
)
;
;
plot
,
indgen
(
n_elements
(
ind
)),
ref
$
;
,
pos
=
[
0.1
,
0.26
,
0.9
,
0.42
],
/
noerase
$
;
,
yRange
=
[
00
,
50
],
psym
=
1
,
symsize
=
0.3
$
;
,
yTitle
=
'ref ['
+
textoidl
(
'\mu'
)
+
'm]'
,
/
nodata
$
;
;,
xTickformat
=
'NOLABEL'
$
;
!!!!!!!!!!!!!!!!!
;
,
/
xstyle
,
xrange
=
[
0
,
n_elements
(
ind
)
-
1
]
;
;
;
xyouts
,
0.5
,
0.427
,
'Cloud effective radius'
,
charsize
=.
6
,
/
normal
,
align
=
0.5
;
;
;
!!!!!!!!!!!!!!!!!
;
;
legend
,[
'Water'
,
' Ice'
,
' MODIS'
]
$
;
;
,
psym
=
[
1
,
1
,
1
],
color
=
[
fsc_color
(
'green'
)
$
;
;
,
fsc_color
(
'red'
),
fsc_color
(
'blue'
)]
$
;
;
,
charsize
=
0.5
$
;
;
,
box
=
0
$
;
;
,
spacing
=
0.5
,
/
Fill
,
/
clear
;
;
ref_modis
=
float
(
ref_modis
)
;
;
oplot
,
indgen
(
n_elements
(
ind
)),
ref_modis
,
psym
=
1
$
;
,
symsize
=
0.2
,
col
=
fsc_color
(
'blue'
)
;
oplot
,
indgen
(
n_elements
(
ind
)),
ref_ice
,
psym
=
1
$
;
,
symsize
=
0.6
,
col
=
fsc_color
(
'red'
)
;
oplot
,
indgen
(
n_elements
(
ind
)),
ref_wat
,
psym
=
1
$
;
,
symsize
=
0.6
,
col
=
fsc_color
(
'green'
)
;
w
.
save
,
outFile
+
'.png'
print
,
outFile
+
'.png'
end
end
...
...
This diff is collapsed.
Click to expand it.
cws_stats_do_it.pro
+
11
−
11
View file @
01a759e7
...
@@ -12,16 +12,16 @@ pro cws_stats_do_it $
...
@@ -12,16 +12,16 @@ pro cws_stats_do_it $
error_n
=
0
error_n
=
0
;
if
n_elements
(
hour
)
eq
0
and
n_elements
(
cut
)
eq
1
then
begin
if
n_elements
(
hour
)
eq
0
and
n_elements
(
cut
)
eq
1
then
begin
;
case
cut
of
case
cut
of
;
2
:
hour
=
1230
2
:
hour
=
1230
;
3
:
hour
=
1345
3
:
hour
=
1345
;
4
:
hour
=
1345
4
:
hour
=
1345
;
5
:
hour
=
1345
5
:
hour
=
1345
;
6
:
hour
=
1400
6
:
hour
=
1400
;
else
:
hour
=
1200
else
:
hour
=
1200
;
endcase
endcase
;
endif
endif
default
,
cut
,
0
default
,
cut
,
0
default
,
product
,
'cod'
default
,
product
,
'cod'
...
@@ -79,7 +79,7 @@ pro cws_stats_do_it $
...
@@ -79,7 +79,7 @@ pro cws_stats_do_it $
group
=
[
'CMS'
,
'EUM'
,
'OCA'
,
'MPF'
,
'FUB'
,
'DLR'
,
'MFR'
,
'AWG'
,
'UKM'
,
'GSF'
,
'LAR'
]
group
=
[
'CMS'
,
'EUM'
,
'OCA'
,
'MPF'
,
'FUB'
,
'DLR'
,
'MFR'
,
'AWG'
,
'UKM'
,
'GSF'
,
'LAR'
]
for
tt
=
0
,
n_elements
(
group
)
-
1
do
$
for
tt
=
0
,
n_elements
(
group
)
-
1
do
$
o
->
caliop_profile
,
group
=
group
[
tt
],
cut
=
cut
,
_extra
=
_extra
o
->
caliop_profile
,
group
=
group
[
tt
],
cut
=
cut
,
_extra
=
_extra
endif
else
o
->
caliop_profile
,
cut
=
cut
,
_extra
=
_extra
endif
else
o
->
caliop_profile
,
cut
=
cut
,
_extra
=
_extra
,
group
=
group
end
end
13
:
o
->
cth_all
,
cut
=
cut
13
:
o
->
cth_all
,
cut
=
cut
14
:
o
->
lwp_all
,
cut
=
cut
14
:
o
->
lwp_all
,
cut
=
cut
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment