Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
MVCM
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
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
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
Paolo Veglio
MVCM
Commits
3c9bdd36
Commit
3c9bdd36
authored
2 years ago
by
Paolo Veglio
Browse files
Options
Downloads
Patches
Plain Diff
more tests implemented. SST Test shows reasonable results.
parent
e1466f07
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
main.py
+23
-11
23 additions, 11 deletions
main.py
preprocess_thresholds.py
+38
-1
38 additions, 1 deletion
preprocess_thresholds.py
tests.py
+11
-2
11 additions, 2 deletions
tests.py
thresholds.mvcm.snpp.v0.0.1.yaml
+471
-0
471 additions, 0 deletions
thresholds.mvcm.snpp.v0.0.1.yaml
with
543 additions
and
14 deletions
main.py
+
23
−
11
View file @
3c9bdd36
import
ruamel_yaml
as
yml
import
ruamel_yaml
as
yml
import
numpy
as
np
import
numpy
as
np
import
xarray
as
xr
#
import xarray as xr
from
glob
import
glob
from
glob
import
glob
import
read_data
as
rd
import
read_data
as
rd
import
scene
as
scn
#
import scene as scn
from
tests
import
CloudTests
from
tests
import
CloudTests
# import tests
# import tests
import
ocean_day_tests
as
odt
#
import ocean_day_tests as odt
import
restoral
#
import restoral
# #################################################################### #
# #################################################################### #
# TEST CASE
# TEST CASE
...
@@ -22,7 +22,7 @@ _fname_img02 = glob(f'{_datapath}/VNP02IMG.A2022173.1454.001.*.uwssec_bowtie_res
...
@@ -22,7 +22,7 @@ _fname_img02 = glob(f'{_datapath}/VNP02IMG.A2022173.1454.001.*.uwssec_bowtie_res
_fname_img03
=
glob
(
f
'
{
_datapath
}
/VNP03IMG.A2022173.1454.001.*.uwssec.nc
'
)[
0
]
_fname_img03
=
glob
(
f
'
{
_datapath
}
/VNP03IMG.A2022173.1454.001.*.uwssec.nc
'
)[
0
]
# thresholds:
# thresholds:
_threshold_file
=
'
/home/pveglio/mvcm
_leo
/thresholds
/new_thresholds
.mvcm.snpp.v
1
.0.
0
.yaml
'
_threshold_file
=
'
/home/pveglio/mvcm/thresholds.mvcm.snpp.v
0
.0.
1
.yaml
'
# ancillary files:
# ancillary files:
_geos_atm_1
=
'
GEOS.fpit.asm.inst3_2d_asm_Nx.GEOS5124.20220622_1200.V01.nc4
'
_geos_atm_1
=
'
GEOS.fpit.asm.inst3_2d_asm_Nx.GEOS5124.20220622_1200.V01.nc4
'
...
@@ -80,6 +80,10 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
...
@@ -80,6 +80,10 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
cmin_G1
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
cmin_G1
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
cmin_G2
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
cmin_G2
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
cmin_G3
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
cmin_G4
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
cmin_G5
=
np
.
ones
(
viirs_data
.
M01
.
shape
)
# cmin_test = {'Ocean_Day': np.ones(viirs_data.M01.shape),
# cmin_test = {'Ocean_Day': np.ones(viirs_data.M01.shape),
# 'Polar_Ocean_Day': np.ones(viirs_data.M01.shape),
# 'Polar_Ocean_Day': np.ones(viirs_data.M01.shape),
# 'Polar_Ocean_Night': np.ones(viirs_data.M01.shape)
# 'Polar_Ocean_Night': np.ones(viirs_data.M01.shape)
...
@@ -95,9 +99,9 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
...
@@ -95,9 +99,9 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
'
CO2 High Clouds Test
'
:
False
,
'
CO2 High Clouds Test
'
:
False
,
'
Water Vapor High Clouds Test
'
:
False
,
'
Water Vapor High Clouds Test
'
:
False
,
'
Surface Temperature Test
'
:
False
,
'
Surface Temperature Test
'
:
False
,
'
SST Test
'
:
Fals
e
,
'
SST Test
'
:
Tru
e
,
'
8.6-11um BT Difference Test
'
:
False
,
'
8.6-11um BT Difference Test
'
:
False
,
'
11-12um BTD Thin Cirrus Test
'
:
Tru
e
,
'
11-12um BTD Thin Cirrus Test
'
:
Fals
e
,
'
11-4um BT Difference Test
'
:
False
,
'
11-4um BT Difference Test
'
:
False
,
'
7.3-11um BT Difference Mid-level Clouds
'
:
False
,
'
7.3-11um BT Difference Mid-level Clouds
'
:
False
,
'
Water Vapor Cloud Test
'
:
False
,
'
Water Vapor Cloud Test
'
:
False
,
...
@@ -233,10 +237,17 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
...
@@ -233,10 +237,17 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
# --------------------- #
# --------------------- #
if
perform
[
'
1.38um High Cloud Test
'
]
is
True
:
if
perform
[
'
1.38um High Cloud Test
'
]
is
True
:
# for scene_name in ['Land_Day', 'Land_Day_Coast', 'Land_Day_Desert', 'Land_Day_Desert_Coast',
# 'Ocean_Day', 'Polar_Day_Land', 'Polar_Day_Coast', 'Polar_Day_Desert',
# 'Polar_Day_Desert_Coast', 'Polar_Ocean_Day', 'Day_Snow']:
for
scene_name
in
[
'
Land_Day
'
,
'
Land_Day_Coast
'
,
'
Land_Day_Desert
'
,
'
Land_Day_Desert_Coast
'
,
for
scene_name
in
[
'
Land_Day
'
,
'
Land_Day_Coast
'
,
'
Land_Day_Desert
'
,
'
Land_Day_Desert_Coast
'
,
'
Ocean_Day
'
,
'
Polar_Day_Land
'
,
'
Polar_Day_Coast
'
,
'
Polar_Day_Desert
'
,
'
Polar_Day_Land
'
,
'
Polar_Day_Coast
'
,
'
Polar_Day_Desert
'
,
'
Polar_Day_Desert_Coast
'
,
'
Polar_OCean_Day
'
,
'
Day_Snow
'
]:
'
Polar_Day_Desert_Coast
'
,
'
Day_Snow
'
]:
pass
# The current loop is missing Ocean_Day and Polar_Ocean_Day because they need some
# preprocessing to compute the thresholds. Once things are implemented I can use the commented
# loop
SceneType
=
CloudTests
(
viirs_data
,
scene_name
,
thresholds
)
cmin_G4
=
SceneType
.
single_threshold_test
(
'
1.38um_High_Cloud_Test
'
,
'
M09
'
,
cmin_G4
)
# --------------------- #
# --------------------- #
# ### Group 5 tests ### #
# ### Group 5 tests ### #
...
@@ -246,7 +257,8 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
...
@@ -246,7 +257,8 @@ def main(*, data_path=_datapath, mod02=_fname_mod02, mod03=_fname_mod03,
for
scene_name
in
[
'
Land_Night
'
,
'
Polar_Night_Land
'
,
'
Polar_Night_Snow
'
,
'
Night_Snow
'
]:
for
scene_name
in
[
'
Land_Night
'
,
'
Polar_Night_Land
'
,
'
Polar_Night_Snow
'
,
'
Night_Snow
'
]:
pass
pass
return
cmin_G2
cmin_total
=
cmin_G1
*
cmin_G2
*
cmin_G3
*
cmin_G4
*
cmin_G5
return
cmin_total
'''
'''
Land_Day = CloudTests(viirs_data,
'
Land_Day
'
, thresholds)
Land_Day = CloudTests(viirs_data,
'
Land_Day
'
, thresholds)
...
...
This diff is collapsed.
Click to expand it.
preprocess_thresholds.py
+
38
−
1
View file @
3c9bdd36
...
@@ -40,6 +40,8 @@ def preproc(data, thresholds):
...
@@ -40,6 +40,8 @@ def preproc(data, thresholds):
midpt
=
thr_xr
.
coeffs
[:,
:,
0
].
where
((
thr
<
0.1
)
|
(
np
.
abs
(
schi
-
99
)
<
0.0001
),
thr
)
midpt
=
thr_xr
.
coeffs
[:,
:,
0
].
where
((
thr
<
0.1
)
|
(
np
.
abs
(
schi
-
99
)
<
0.0001
),
thr
)
locut
=
midpt
+
(
thr_xr
.
cmult
*
midpt
)
locut
=
midpt
+
(
thr_xr
.
cmult
*
midpt
)
hicut
=
midpt
-
thr_xr
.
adj
hicut
=
midpt
-
thr_xr
.
adj
# this below is for the method 2 of computing hicut
# hicut = midpt - (thr_xr.adj * midpt)
thr_out
=
xr
.
DataArray
(
data
=
np
.
dstack
((
locut
,
midpt
,
hicut
,
np
.
ones
(
locut
.
shape
),
np
.
ones
(
locut
.
shape
))),
thr_out
=
xr
.
DataArray
(
data
=
np
.
dstack
((
locut
,
midpt
,
hicut
,
np
.
ones
(
locut
.
shape
),
np
.
ones
(
locut
.
shape
))),
dims
=
(
'
number_of_lines
'
,
'
number_of_pixels
'
,
'
z
'
))
dims
=
(
'
number_of_lines
'
,
'
number_of_pixels
'
,
'
z
'
))
...
@@ -47,7 +49,22 @@ def preproc(data, thresholds):
...
@@ -47,7 +49,22 @@ def preproc(data, thresholds):
# return locut, hicut, midpt
# return locut, hicut, midpt
# NOTE: About the 11-12um Cirrus Test
def
preproc_sst
(
data
,
thresholds
):
m31c
=
data
.
M15
-
273.16
m32c
=
data
.
M16
-
273.16
m31c_m32c
=
m31c
-
m32c
sstc
=
data
.
geos_sfct
-
273.16
cosvza
=
np
.
cos
(
data
.
sensor_zenith
*
_dtr
)
a
=
thresholds
[
'
coeffs
'
]
modsst
=
273.16
+
a
[
0
]
+
a
[
1
]
*
m31c
+
a
[
2
]
*
m31c_m32c
*
sstc
+
a
[
3
]
*
m31c_m32c
*
((
1
/
cosvza
)
-
1
)
sfcdif
=
data
.
geos_sfct
-
modsst
return
sfcdif
# NOTE: 11-12um Cirrus Test
# hicut is computed in different ways depending on the scene
# hicut is computed in different ways depending on the scene
# 1. midpt - adj
# 1. midpt - adj
# - Land_Day
# - Land_Day
...
@@ -72,3 +89,23 @@ def preproc(data, thresholds):
...
@@ -72,3 +89,23 @@ def preproc(data, thresholds):
# - Polar_Night_Snow
# - Polar_Night_Snow
# - Day_Snow
# - Day_Snow
# - Night_Snow
# - Night_Snow
# NOTE: 1.38um High Cloud Test
# thresholds are not always computed the same way. In group 1 there's no preprocessing required,
# in group 2 some calcuations are needed
# 1.
# - Land_Day
# - Land_Day_Coast
# - Land_Day_Desert
# - Land_Day_Desert_Coast
# - Polar_Day_Land
# - Polar_Day_Coast
# - Polar_Day_Desert
# - Polar_Day_Desert_Coast
# - Polar_Day_Snow
# - Day_Snow
#
# 2.
# - Ocean_Day
# - Polar_Ocean_Day
This diff is collapsed.
Click to expand it.
tests.py
+
11
−
2
View file @
3c9bdd36
...
@@ -255,19 +255,28 @@ class CloudTests:
...
@@ -255,19 +255,28 @@ class CloudTests:
return
cmin
return
cmin
print
(
f
'
Running test
"
{
test_name
}
"
for
"
{
self
.
scene_name
}
"'
)
print
(
f
'
Running test
"
{
test_name
}
"
for
"
{
self
.
scene_name
}
"'
)
# preproc_thresholds()
# preproc_thresholds()
thr
=
np
.
array
(
self
.
thresholds
[
self
.
scene_name
][
test_name
])
thr
=
np
.
array
(
self
.
thresholds
[
self
.
scene_name
][
test_name
]
[
'
thr
'
]
)
thr_xr
=
xr
.
Dataset
()
thr_xr
=
xr
.
Dataset
()
if
test_name
==
'
11-12um_Cirrus_Test
'
:
if
test_name
==
'
11-12um_Cirrus_Test
'
:
thr_xr
[
'
threshold
'
]
=
pt
.
preproc
(
self
.
data
,
self
.
thresholds
[
self
.
scene_name
])
thr_xr
[
'
threshold
'
]
=
pt
.
preproc
(
self
.
data
,
self
.
thresholds
[
self
.
scene_name
])
thr
=
np
.
ones
((
5
,))
# This is only temporary to force the logic of the code
thr
=
np
.
ones
((
5
,))
# This is only temporary to force the logic of the code
# I need to find a better solution at some point
# I need to find a better solution at some point
elif
test_name
==
'
SST_Test
'
:
thr_xr
[
'
threshold
'
]
=
((
'
number_of_lines
'
,
'
number_of_pixels
'
,
'
z
'
),
np
.
ones
((
self
.
data
[
band
].
shape
[
0
],
self
.
data
[
band
].
shape
[
1
],
5
))
*
thr
)
else
:
else
:
thr_xr
[
'
threshold
'
]
=
((
'
number_of_lines
'
,
'
number_of_pixels
'
,
'
z
'
),
thr_xr
[
'
threshold
'
]
=
((
'
number_of_lines
'
,
'
number_of_pixels
'
,
'
z
'
),
np
.
ones
((
self
.
data
[
band
].
shape
[
0
],
self
.
data
[
band
].
shape
[
1
],
5
))
*
thr
)
np
.
ones
((
self
.
data
[
band
].
shape
[
0
],
self
.
data
[
band
].
shape
[
1
],
5
))
*
thr
)
data
=
xr
.
Dataset
(
self
.
data
,
coords
=
thr_xr
)
data
=
xr
.
Dataset
(
self
.
data
,
coords
=
thr_xr
)
if
test_name
==
'
SST_Test
'
:
data
[
'
sfcdif
'
]
=
((
'
number_of_lines
'
,
'
number_of_pixels
'
),
pt
.
preproc_sst
(
data
,
self
.
thresholds
[
self
.
scene_name
][
test_name
]).
values
)
band
=
'
sfcdif
'
if
thr
[
4
]
==
1
:
if
thr
[
4
]
==
1
:
print
(
'
test running
'
)
print
(
'
test running
...
'
)
confidence
=
conf_xr
.
conf_test
(
data
,
band
)
confidence
=
conf_xr
.
conf_test
(
data
,
band
)
cmin
=
np
.
fmin
(
cmin
,
confidence
)
cmin
=
np
.
fmin
(
cmin
,
confidence
)
...
...
This diff is collapsed.
Click to expand it.
thresholds.mvcm.snpp.v0.0.1.yaml
0 → 100644
+
471
−
0
View file @
3c9bdd36
# MODIS-VIIRS Continuity Cloud Mask (MVCCM) Thresholds
# Version string
thresholds_file_ver
:
v3.3.1_NPP
Land_Day
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
1.25
dl_ref3_tpw
:
-10.00
test11_4lo
:
[
-16.0
,
-14.0
,
-12.0
,
1.0
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
vis_refl_test
:
[
0.207
,
0.169
,
0.132
,
1.0
,
1.0
]
# used to be dlref1
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.0
,
1.0
]
dlvrat
:
[
1.80
,
1.85
,
1.90
,
1.0
,
1.0
]
# dl11_12lcmult : 0.3
# dl11_12hcadj : 1.25
b1bias_adj
:
0.94
Land_Night
:
nl4_12hi
:
[
15.0
,
10.0
,
5.00
,
1.0
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
nl7_11s
:
[
-8.0
,
-10.0
,
-11.0
,
1.0
,
1.0
]
nl_11_4l
:
[
0.0
,
-0.5
,
-1.0
,
1.0
]
nl_11_4h
:
[
6.5
,
6.0
,
5.5
,
1.0
]
nl_11_4m
:
[
-0.5
,
6.0
,
0.5
,
1.0
]
nl_11_4_pfm
:
1.0
Surface_Temperature_Test_df1
:
[
-0.2
,
1.0
]
Surface_Temperature_Test_df2
:
[
-0.5
,
1.0
]
Surface_Temperature_Test_difference
:
[
-0.2
,
1.0
,
-0.5
,
1.0
]
# <- this merges the previous two arrays
bt_diff_bounds
:
[
1.0
,
-1.0
]
11-12um_Cirrus_Test
:
[
3.0
,
1.0
]
Surface_Temperature_Test_1
:
20.0
# | might be worth figuring out if we can
Surface_Temperature_Test_2
:
12.0
# | merge these three coefficients
Surface_Temperature_Test_pfm
:
1.0
# __|
Surface_Temperature_Test
:
[
20.0
,
12.0
,
1.0
]
# <- First attempt to merge the three values above
nlbt1
:
270.0
nl_lat
:
30.0
nl_ndvi
:
0.25
nl_ndvi_Aust
:
0.40
nl_intadj
:
0.0
nl_btd1
:
-2.0
nl11_4coef
:
[
-0.3476
,
0.5307
,
-0.1930
]
Land_Day_Coast
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
1.25
dl_ref3_tpw_t2
:
-10.00
test11_4lo
:
[
-16.0
,
-14.0
,
-12.0
,
1.0
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
dlref1_t2
:
[
0.207
,
0.169
,
0.132
,
1.0
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.0
,
1.0
]
# dl11_12lcmult_t2 : 0.3
# dl11_12hcadj_t2 : 1.25
Land_Day_Desert
:
# lds11_12hi : [3.5, 1.0]
11-12um_Cirrus_Test
:
coeffs
:
[
3.5
,
1.0
]
cmult
:
0.3
adj
:
1.25
lds11_4hi
:
[
2.0
,
0.0
,
-2.0
,
1.00
,
1.0
]
lds11_4lo
:
[
-28.0
,
-26.0
,
-24.0
,
1.00
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
ldsref2
:
[
0.326
,
0.288
,
0.250
,
1.00
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.00
,
1.0
]
ldsgemi0
:
[
0.085
,
0.095
,
0.115
,
1.00
,
1.0
]
ldsgemi1
:
[
0.145
,
0.170
,
0.220
,
1.00
]
ldsgemi2
:
[
0.310
,
0.335
,
0.360
,
1.00
]
lds_ref3_tpw
:
-10.00
ldsbt1
:
320.0
lds_ndvi
:
0.25
# lds11_12lcmult : 0.3
# lds11_12hcadj : 1.25
Land_Day_Desert_Coast
:
# lds11_12hi_c : [3.5, 1.0]
11-12um_Cirrus_Test
:
coeffs
:
[
3.5
,
1.0
]
cmult
:
0.3
adj
:
1.25
lds11_4hi_c
:
[
2.00
,
0.00
,
-2.00
,
1.00
]
lds11_4lo_c
:
[
-23.0
,
-21.0
,
-19.0
,
1.00
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
ldsref2_c
:
[
0.326
,
0.288
,
0.250
,
1.00
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.00
,
1.0
]
lds_ref3_tpw_c
:
-10.00
ldsbt1_c
:
320.0
lds_ndvi_c
:
0.25
# lds11_12lcmult_c : 0.3
# lds11_12hcadj_c : 1.25
Ocean_Day
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
1.25
test11_4lo
:
[
-11.0
,
-9.0
,
-7.0
,
1.0
,
1.0
]
11um_Test
:
[
267.0
,
270.0
,
273.0
,
1.0
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
do_b7coeffs
:
[
1.01339303876915
,
-0.00277128813739
,
0.00027804834484
,
-0.00001549681141
,
0.00000016623006
,
0.00000000000000
]
do_b7adj
:
0.0125
do_b7mid
:
0.0070
do_b7lo
:
0.0100
do_b7pfm
:
1.0
ref2
:
[
0.062
,
0.043
,
0.029
,
1.0
,
1.0
]
# vnir_ratio_hi : [1.001, 1.154, 1.205, 1.0, 1.0]
# vnir_ratio_lo : [0.934, 0.889, 0.837, 1.0]
vis_nir_ratio
:
[
0.837
,
0.889
,
0.934
,
1.001
,
1.154
,
1.205
,
1.0
,
1.0
]
# This replace dovrathi and dovratlo
# The values are sorted left to right
# so that they follow the scheme:
# Hi-Mid-Lo--Lo-Mid-Hi
# Last two values are power and switch
# to turn the test on/off
8.6-11um_Test
:
[
-0.50
,
-1.00
,
-1.50
,
1.0
,
1.0
]
SST_Test
:
thr
:
[
3.000
,
2.500
,
2.000
,
1.0
,
1.0
]
coeffs
:
[
1.886
,
0.938
,
0.128
,
1.094
]
b2coeffs
:
[
1.7291
,
0.0715
,
-0.0026
,
0.000025889
]
b2adj
:
0.0050
b2mid
:
0.0200
b2lo
:
0.0100
do_b26coeffs
:
[
-0.2419
,
0.0455
,
-0.0024
,
0.000059029
,
-0.00000069964
,
0.000000003204
]
do_b26adj
:
0.0010
do_b26_szafac
:
4.0
do_b26pfm
:
1.0
b2bias_adj
:
0.96
do_b6bias_adj
:
0.98
do_b7bias_adj
:
0.97
Ocean_Night
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
1.0
no_intadj
:
0.0
no11_4lo
:
[
1.25
,
1.00
,
0.25
,
1.0
,
1.0
]
11um_Test
:
[
267.0
,
270.0
,
273.0
,
2.0
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
no86_73
:
[
14.0
,
15.0
,
16.0
,
1.0
,
1.0
]
11um_var
:
[
3.0
,
6.0
,
7.0
,
1.0
,
1.0
]
8.6-11um_Test
:
[
-0.5
,
-1.0
,
-1.5
,
1.0
,
1.0
]
SST_Test
:
thr
:
[
3.000
,
2.500
,
2.000
,
1.0
,
1.0
]
coeffs
:
[
1.8860
,
0.9380
,
0.1280
,
1.094
]
no11_4coef
:
[
-0.7093
,
0.1128
,
-0.1567
]
no11_4hiad
:
[
-1.5
,
1.5
]
no11_4mdad
:
[
-2.5
,
2.5
]
no11_4load
:
[
-4.0
,
4.0
]
no11_4_pfm
:
1.0
Polar_Day_Land
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
0.3
pdl_ref3_tpw
:
-10.00
test11_4lo
:
[
-16.0
,
-14.0
,
-12.0
,
1.0
,
1.0
]
pdlh20
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pdlref1
:
[
0.207
,
0.169
,
0.132
,
1.0
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.0
,
1.0
]
Polar_Night_Land
:
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
pnlbt1
:
270.0
pnlbt2
:
270.0
Surface_Temperature_Test_pfm
:
1.0
pnl_11_4_pfm
:
1.0
pnl_7_11_pfm
:
1.0
pnl_4_12_pfm
:
1.0
pnl_11_4l
:
[
2.00
,
1.70
,
1.40
,
1.0
]
pnl_11_4h
:
[
1.00
,
0.70
,
0.40
,
1.0
]
pnl_11_4m1
:
[
1.70
,
0.70
,
0.300
,
1.0
]
pnl_11_4m2
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pnl_11_4m3
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pnl_11_bounds
:
[
235.0
,
000.0
,
000.0
,
265.0
]
Polar_Day_Coast
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
pdl_ref3_tpw_t2
:
-10.00
test11_4lo
:
[
-16.0
,
-14.0
,
-12.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pdlref1_t2
:
[
0.207
,
0.169
,
0.132
,
1.0
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.0
,
1.0
]
Polar_Day_Desert
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.5
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
pds11_4hi
:
[
2.00
,
0.00
,
-2.00
,
1.00
]
pds11_4lo
:
[
-22.0
,
-20.0
,
-18.0
,
1.00
]
pds11_4_pfm
:
1.0
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pdsref2
:
[
0.326
,
0.288
,
0.250
,
1.00
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.00
,
1.0
]
pdsgemi0
:
[
0.085
,
0.110
,
0.135
,
1.00
,
1.0
]
pdsgemi1
:
[
0.170
,
0.220
,
0.270
,
1.00
]
pdsgemi2
:
[
0.310
,
0.335
,
0.360
,
1.00
]
pds_ref3_tpw
:
-10.00
pdsbt1
:
320.0
Polar_Day_Desert_Coast
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.5
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
pds11_4hi_c
:
[
2.00
,
0.00
,
-2.00
,
1.00
]
pds11_4lo_c
:
[
-23.0
,
-21.0
,
-19.0
,
1.00
]
pds11_4_c_pfm
:
1.0
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pdsref2_c
:
[
0.326
,
0.288
,
0.250
,
1.00
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.0375
,
0.0250
,
0.0125
,
1.00
,
1.0
]
pds_ref3_tpw_c
:
-10.00
pdsbt1_c
:
320.0
Polar_Day_Snow
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
dps_ref3_tpw
:
0.75
dpsbt1
:
230.0
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.060
,
0.0525
,
0.045
,
1.0
,
1.0
]
dps11_12adj
:
0.8
dps4_11l
:
[
20.0
,
18.0
,
16.0
,
1.0
]
dps4_11h
:
[
18.0
,
16.0
,
14.0
,
1.0
]
dps4_11m1
:
[
18.0
,
16.0
,
2.0
,
1.0
]
dps4_11m2
:
[
0.0
,
0.0
,
0.0
,
0.0
]
dps4_11m3
:
[
0.0
,
0.0
,
0.0
,
0.0
]
dps4_11_pfm
:
1.0
bt_11_bnds3
:
[
230.0
,
0.0
,
0.0
,
245.0
]
Polar_Night_Snow
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
pn_4_12l
:
[
4.50
,
4.00
,
3.50
,
1.0
]
pn_4_12h
:
[
2.50
,
2.00
,
1.50
,
1.0
]
pn_4_12m1
:
[
4.00
,
2.00
,
0.500
,
1.0
]
pn_4_12m2
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pn_4_12m3
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pns_4_12_pfm
:
1.0
pn_7_11l
:
[
-1.00
,
0.00
,
1.00
,
1.0
,
1.0
]
pn_7_11h
:
[
-21.0
,
-20.0
,
-19.0
,
1.0
]
pn_7_11m1
:
[
0.00
,
-4.50
,
-1.00
,
1.0
]
pn_7_11m2
:
[
-4.50
,
-10.50
,
-1.00
,
1.0
]
pn_7_11m3
:
[
-10.50
,
-20.0
,
-1.00
,
1.0
]
pn_7_11lw
:
[
0.00
,
1.00
,
2.00
,
1.0
]
pn_7_11hw
:
[
-21.0 -20.0
,
-19.0
,
1.0
]
pn_7_11m1w
:
[
1.00
,
-7.00
,
-1.00
,
1.0
]
pn_7_11m2w
:
[
-7.00
,
-16.50
,
-1.00
,
1.0
]
pn_7_11m3w
:
[
-16.50
,
-20.0
,
-1.00
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pn_11_4l
:
[
2.00
,
1.70
,
1.40
,
1.0
]
pn_11_4h
:
[
0.60
,
0.30
,
0.00
,
1.0
]
pn_11_4m1
:
[
1.70
,
0.30
,
0.300
,
1.0
]
pn_11_4m2
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pn_11_4m3
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pns_11_4_pfm
:
1.0
bt_11_bounds
:
[
235.0
,
000.0
,
000.0
,
265.0
]
bt_11_bnds2
:
[
220.0
,
245.0
,
255.0
,
265.0
]
pn_11_4bl
:
[
-3.00
,
-2.50
,
-2.00
,
1.0
]
pn_11_4bh
:
[
-3.00
,
-2.50
,
-2.00
,
1.0
]
pn_11_4bm1
:
[
-2.50
,
-2.50
,
-0.50
,
1.0
]
pn_11_4bm2
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pn_11_4bm3
:
[
0.00
,
0.00
,
0.00
,
0.0
]
pn11_12adj
:
0.8
pnbt1
:
270.0
pnbt2
:
270.0
pnbt3
:
230.0
pntpw
:
0.2
Polar_Ocean_Day
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
1.25
pdo11_4lo
:
[
-11.0
,
-9.0
,
-7.0
,
1.0
,
1.0
]
11um_Test
:
[
267.0
,
270.0
,
273.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pdovrathi
:
[
1.001
,
1.154
,
1.205
,
1.0
,
1.0
]
pdovratlo
:
[
0.934
,
0.889
,
0.837
,
1.0
]
8.6-11um_Test
:
[
-0.50
,
-1.00
,
-1.50
,
1.0
,
1.0
]
SST_Test
:
thr
:
[
3.000
,
2.500
,
2.000
,
1.0
,
1.0
]
coeffs
:
[
1.998
,
0.938
,
0.128
,
1.094
]
pdo_b7pfm
:
1.0
pdo_b26pfm
:
1.0
pdo_b2bias_adj
:
0.96
pdo_b6bias_adj
:
0.98
pdo_b7bias_adj
:
0.97
Polar_Ocean_Night
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
0.3
adj
:
1.0
pnobt1
:
280.0
pno_intadj
:
0.0
pno11_4lo
:
[
1.25
,
1.00
,
0.25
,
1.0
,
1.0
]
pno_11_4_pfm
:
1.0
11um_Test
:
[
267.0
,
270.0
,
273.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
pno86_73
:
[
14.0
,
15.0
,
16.0
,
1.0
,
1.0
]
pno_11var
:
[
3.0
,
6.0
,
7.0
,
1.0
,
1.0
]
8.6-11um_Test
:
[
-0.5
,
-1.0
,
-1.5
,
1.0
,
1.0
]
SST_Test
:
thr
:
[
3.000
,
2.500
,
2.000
,
1.0
,
1.0
]
coeffs
:
[
1.8860
,
0.9380
,
0.1280
,
1.094
]
pno11_4hiad
:
[
-1.5
,
1.5
]
pno11_4mdad
:
[
-2.5
,
2.5
]
pno11_4load
:
[
-4.0
,
4.0
]
pno11_4coef
:
[
-0.7093
,
0.1128
,
-0.1567
]
Day_Snow
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
ds_ref3_tpw
:
0.75
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
1.38um_High_Cloud_Test
:
[
0.060
,
0.0525
,
0.045
,
1.0
,
1.0
]
ds11_12adj
:
0.8
ds11_12lcmult
:
0.3
ds11_12hcmult
:
0.3
ds4_11_pfm
:
1.0
Night_Snow
:
11-12um_Cirrus_Test
:
coeffs
:
[
3.0
,
1.0
]
cmult
:
[]
# I NEED TO WORK ON THIS
adj
:
[]
# I NEED TO WORK ON THIS
nsbt1
:
270.0
nsbt2
:
270.0
nsbt3
:
230.0
ns11_4lo
:
[
0.70
,
0.60
,
0.50
,
1.0
,
1.0
]
ns4_12hi
:
[
4.50
,
4.00
,
3.50
,
1.0
,
1.0
]
CO2_High_Clouds_Test
:
[
222.0
,
224.0
,
226.0
,
1.0
,
1.0
]
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
ns11_12adj
:
0.8
nstpw
:
0.2
ns_7_11_pfm
:
1.0
Antarctic_Day
:
Water_Vapor_High_Clouds_Test
:
[
215.0
,
220.0
,
225.0
,
1.0
,
1.0
]
ant4_11l
:
[
26.0 23.0
,
20.0
,
1.0
]
ant4_11h
:
[
18.0
,
15.0
,
12.0
,
1.0
]
ant4_11m1
:
[
23.0
,
15.0
,
3.0 1.0
]
ant4_11m2
:
[
0.0
,
0.0
,
0.0
,
0.0
]
ant4_11m3
:
[
0.0
,
0.0
,
0.0
,
0.0
]
bt_11_bnds4
:
[
240.0
,
0.0
,
0.0
,
255.0
]
antbt1
:
230.0
ant4_11_pfm
:
1.0
Daytime_Ocean_Spatial_Variability
:
dovar11
:
0.40
dovar86
:
0.0020
Sun_Glint
:
# snglntv : [1.02, 1.17]
# snglntvch : [0.97, 1.28]
# snglntvcl : [1.07, 1.12]
snglnt
:
[
0.97
,
1.02
,
1.07
,
1.12
,
1.17
,
1.28
]
# This replaces snglntv, snglntvch snglntvcl
# The values are sorted left to right such that
# Hi-Mid-Lo--Lo-Mid-Hi
sg_tbdfl
:
13.0
sngm09
:
0.568
sngm02vm
:
0.001
band2_0deg
:
[
.1296
,
.1152
,
.1008
,
1.0
]
# snglnt0_b2
band2_10deg
:
[
.1152
,
.0624
,
.0144
,
1.0
]
# snglnt10_b2
band2_20deg
:
[
.0624
,
.0432
,
.0144
,
1.0
]
# snglnt20_b2
band7_0deg
:
[
.1176
,
.1078
,
.0980
,
1.0
]
# snglnt0_b7
band7_10deg
:
[
.1078
,
.0686
,
.0098
,
1.0
]
# snglnt10_b7
band7_20deg
:
[
.0686
,
.0196
,
.0098
,
1.0
]
# snglnt20_b7
bounds
:
[
0.0
,
10.0
,
25.0
,
40.0
]
# snglnt_bounds
Land_Restoral
:
ldsr5_4_thr
:
1.96
ldr5_4_thr
:
2.94
ld20m22
:
11.0
ld22m31
:
15.0
ldsbt11
:
[
295.0
,
300.0
,
305.0
]
ldsbt11bd
:
[
290.0
,
295.0
,
305.0
]
lnbt11
:
[
287.5
,
292.5
,
297.5
]
Night_Snow_Inversion
:
pn65_11
:
[
10.0
,
1.0
]
pn13_11
:
[
3.0
,
1.0
]
pn7_11
:
[
5.0
,
1.0
]
n65_11
:
[
10.0
,
1.0
]
Snow_Mask
:
sm_bt11
:
280.0
sm_ndsi
:
0.31
Grnlnd_ndsi
:
0.66
sm_ref2
:
0.1056
sm85_11
:
0.0
sm85_11hel
:
1.5
sm37_11
:
11.0
sm37_11hel
:
16.0
sm_mnir
:
0.196
sm_lsfcdif
:
20.0
sm_wsfcdif
:
20.0
sm_bt1
:
273.0
prd_ndvi_const
:
-0.2015
Coastal_NDVI_Thresholds
:
coast_ndvi
:
[
-0.18
,
0.40
]
# Ocean NDVI and shallow (turbid) water test thresholds.
Ocean_NDVI_and_Shallow_Water
:
swc_ndvi
:
[
-0.35
,
0.40
]
swc_124std
:
0.0023
Thin_Cirrus_Tests
:
tci_ref3_tpw
:
0.75
dltci
:
[
0.0250
,
0.0125
]
dstci
:
[
0.0350
,
0.0300
]
# Power cosine(VZA) is raised to in VZA-correction codes
VZA_correction
:
vzcpow
:
[
0.75
,
0.75
,
0.25
]
# Thresholds used in calculating 0.66 and 0.413 um cloud test thresholds
Misc
:
des_ndvi
:
0.25
fill_ndvi
:
[
32.000
,
0.00
]
# replaces fill_ndvi1 and fill_ndvi2
ndvi_bnd1
:
0.05
ndvi_bnd2
:
0.95
adj_fac_desert
:
0.10
adj_fac_land
:
0.00
# Coefficients for band 1 land thresholds
Coeffs_Band1_land_thresh
:
-
[
32.00000000
,
0.00000000
,
0.00000000
,
0.00000000
,
42.00000000
,
0.00000000
,
0.00000000
,
0.00000000
,
52.00000000
,
0.00000000
,
0.00000000
,
0.00000000
]
-
[
24.00000000
,
0.00000000
,
0.00000000
,
0.00000000
,
28.00000000
,
0.00000000
,
0.00000000
,
0.00000000
,
32.00000000
,
0.00000000
,
0.00000000
,
0.00000000
]
-
[
99.13076923
,
-2.00907925
,
0.01492075
,
-0.00003531
,
122.19090909
,
-2.32652292
,
0.01659848
,
-0.00003681
,
142.66293706
,
-2.57860528
,
0.01773252
,
-0.00003685
]
-
[
85.07902098
,
-1.59413364
,
0.01123310
,
-0.00002556
,
144.56573427
,
-2.81054779
,
0.01967366
,
-0.00004324
,
204.35454545
,
-4.03411810
,
0.02816667
,
-0.00006103
]
-
[
85.03846154
,
-1.50831391
,
0.01006760
,
-0.00002199
,
165.15314685
,
-3.24716783
,
0.02255594
,
-0.00004965
,
242.06363636
,
-4.90912587
,
0.03445455
,
-0.00007587
]
-
[
81.00979021
,
-1.37731935
,
0.00881294
,
-0.00001859
,
220.36783217
,
-4.44111888
,
0.03087762
,
-0.00006888
,
359.72587413
,
-7.50491841
,
0.05294231
,
-0.00011917
]
-
[
76.94055944
,
-1.35441725
,
0.00896096
,
-0.00001952
,
172.36783217
,
-3.33144911
,
0.02242308
,
-0.00004810
,
267.90909091
,
-5.31620047
,
0.03597727
,
-0.00007698
]
-
[
85.83006993
,
-1.55480575
,
0.01025932
,
-0.00002216
,
160.73706294
,
-3.07291375
,
0.02041900
,
-0.00004330
,
237.37622378
,
-4.63444833
,
0.03091317
,
-0.00006525
]
-
[
105.02447552
,
-1.98017094
,
0.01319522
,
-0.00002877
,
135.50699301
,
-2.59097902
,
0.01749301
,
-0.00003811
,
165.33006993
,
-3.18872183
,
0.02171387
,
-0.00004734
]
-
[
105.02447552
,
-1.98017094
,
0.01319522
,
-0.00002877
,
135.50699301
,
-2.59097902
,
0.01749301
,
-0.00003811
,
165.33006993
,
-3.18872183
,
0.02171387
,
-0.00004734
]
# Coefficients for band 8 land thresholds
Coeffs_Band8_land_thresh
:
-
[
282.74916084
,
-5.42869658
,
0.03660781
,
-0.00008092
,
344.87048951
,
-6.80660839
,
0.04770163
,
-0.00010991
,
407.83734266
,
-8.20392385
,
0.05894114
,
-0.00013926
]
-
[
229.50727273
,
-4.31606061
,
0.02868182
,
-0.00006212
,
316.38517483
,
-6.41910256
,
0.04603089
,
-0.00010787
,
403.78188811
,
-8.52743395
,
0.06335781
,
-0.00015340
]
-
[
239.32391608
,
-4.49928127
,
0.02977214
,
-0.00006436
,
270.31741259
,
-5.33625680
,
0.03757168
,
-0.00008609
,
301.76013986
,
-6.18557498
,
0.04546562
,
-0.00010806
]
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