Skip to content

Commit 0607990

Browse files
authored
Introducing GMAO ODAS obs sources (#444)
* initial changes * fix calc_scales and vertical corr. length configuration * add first set of ODAS obs * more obs * fix get_obs for multiple providers, missing obs, and add marine yamls * add cryosat and sentinel3b * add MERRA2 SST * fix blacklist, simplify generate B task * fix for using obs_providers as a list * fix code issues * take two
1 parent 7eacb97 commit 0607990

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1698
-61
lines changed

src/swell/configuration/jedi/interfaces/geos_atmosphere/task_questions.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ obs_experiment:
158158

159159
obs_provider:
160160
default_value: ncdiag
161+
options:
162+
- ncdiag
161163

162164
observations:
163165
default_value:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
obs space:
2+
name: adt_cryosat2n
3+
obsdatain:
4+
engine:
5+
type: H5File
6+
obsfile: '{{cycle_dir}}/adt_cryosat2n.{{window_begin}}.nc4'
7+
obsdataout:
8+
engine:
9+
type: H5File
10+
obsfile: '{{cycle_dir}}/{{experiment_id}}.adt_cryosat2n.{{window_begin}}.nc4'
11+
simulated variables: [absoluteDynamicTopography]
12+
obs operator:
13+
name: ADT
14+
obs error:
15+
covariance model: diagonal
16+
obs filters:
17+
- filter: Domain Check
18+
where:
19+
- variable: {name: GeoVaLs/sea_area_fraction}
20+
minvalue: 0.9
21+
- filter: Domain Check
22+
where:
23+
- variable: { name: GeoVaLs/sea_surface_temperature}
24+
minvalue: 15.0
25+
- filter: Background Check
26+
absolute threshold: 0.2
27+
- filter: Domain Check
28+
where:
29+
- variable: {name: GeoVaLs/sea_floor_depth_below_sea_surface}
30+
minvalue: 500
31+
# - filter: Perform Action
32+
# action:
33+
# name: assign error
34+
# error function:
35+
# name: ObsFunction/LinearCombination
36+
# options:
37+
# variables: [mesoscale_representation_error@GeoVaLs,
38+
# absolute_dynamic_topography@ObsError]
39+
# coefs: [0.1,
40+
# 0.5]
41+
# - filter: BlackList
42+
# where:
43+
# - variable:
44+
# name: MetaData/latitude
45+
# minvalue: -65
46+
# maxvalue: -30
47+
# - variable:
48+
# name: MetaData/longitude
49+
# minvalue: -125
50+
# maxvalue: -90
51+
# - filter: BlackList
52+
# where:
53+
# - variable:
54+
# name: MetaData/latitude
55+
# minvalue: -65
56+
# maxvalue: -30
57+
# - variable:
58+
# name: MetaData/longitude
59+
# minvalue: 60
60+
# maxvalue: 110
61+
# - filter: Domain Check
62+
# where:
63+
# - variable: { name: GeoVaLs/sea_ice_area_fraction}
64+
# maxvalue: 0.00001
65+
- filter: Domain Check
66+
where:
67+
- variable: { name: GeoVaLs/distance_from_coast}
68+
minvalue: 100e3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
obs space:
2+
name: adt_jason3
3+
obsdatain:
4+
engine:
5+
type: H5File
6+
obsfile: '{{cycle_dir}}/adt_jason3.{{window_begin}}.nc4'
7+
obsdataout:
8+
engine:
9+
type: H5File
10+
obsfile: '{{cycle_dir}}/{{experiment_id}}.adt_jason3.{{window_begin}}.nc4'
11+
simulated variables: [absoluteDynamicTopography]
12+
obs operator:
13+
name: ADT
14+
obs error:
15+
covariance model: diagonal
16+
obs filters:
17+
- filter: Domain Check
18+
where:
19+
- variable: {name: GeoVaLs/sea_area_fraction}
20+
minvalue: 0.9
21+
- filter: Domain Check
22+
where:
23+
- variable: { name: GeoVaLs/sea_surface_temperature}
24+
minvalue: 15.0
25+
- filter: Background Check
26+
absolute threshold: 0.2
27+
- filter: Domain Check
28+
where:
29+
- variable: {name: GeoVaLs/sea_floor_depth_below_sea_surface}
30+
minvalue: 500
31+
# - filter: Perform Action
32+
# action:
33+
# name: assign error
34+
# error function:
35+
# name: ObsFunction/LinearCombination
36+
# options:
37+
# variables: [mesoscale_representation_error@GeoVaLs,
38+
# absolute_dynamic_topography@ObsError]
39+
# coefs: [0.1,
40+
# 0.5]
41+
# - filter: BlackList
42+
# where:
43+
# - variable:
44+
# name: MetaData/latitude
45+
# minvalue: -65
46+
# maxvalue: -30
47+
# - variable:
48+
# name: MetaData/longitude
49+
# minvalue: -125
50+
# maxvalue: -90
51+
# - filter: BlackList
52+
# where:
53+
# - variable:
54+
# name: MetaData/latitude
55+
# minvalue: -65
56+
# maxvalue: -30
57+
# - variable:
58+
# name: MetaData/longitude
59+
# minvalue: 60
60+
# maxvalue: 110
61+
# - filter: Domain Check
62+
# where:
63+
# - variable: { name: GeoVaLs/sea_ice_area_fraction}
64+
# maxvalue: 0.00001
65+
- filter: Domain Check
66+
where:
67+
- variable: {name: GeoVaLs/distance_from_coast}
68+
minvalue: 100e3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
obs space:
2+
name: adt_saral
3+
obsdatain:
4+
engine:
5+
type: H5File
6+
obsfile: '{{cycle_dir}}/adt_saral.{{window_begin}}.nc4'
7+
obsdataout:
8+
engine:
9+
type: H5File
10+
obsfile: '{{cycle_dir}}/{{experiment_id}}.adt_saral.{{window_begin}}.nc4'
11+
simulated variables: [absoluteDynamicTopography]
12+
obs operator:
13+
name: ADT
14+
obs error:
15+
covariance model: diagonal
16+
obs filters:
17+
- filter: Domain Check
18+
where:
19+
- variable: {name: GeoVaLs/sea_area_fraction}
20+
minvalue: 0.9
21+
- filter: Domain Check
22+
where:
23+
- variable: { name: GeoVaLs/sea_surface_temperature}
24+
minvalue: 15.0
25+
- filter: Background Check
26+
absolute threshold: 0.2
27+
- filter: Domain Check
28+
where:
29+
- variable: {name: GeoVaLs/sea_floor_depth_below_sea_surface}
30+
minvalue: 500
31+
# - filter: Perform Action
32+
# action:
33+
# name: assign error
34+
# error function:
35+
# name: ObsFunction/LinearCombination
36+
# options:
37+
# variables: [mesoscale_representation_error@GeoVaLs,
38+
# absolute_dynamic_topography@ObsError]
39+
# coefs: [0.1,
40+
# 0.5]
41+
# - filter: BlackList
42+
# where:
43+
# - variable:
44+
# name: MetaData/latitude
45+
# minvalue: -65
46+
# maxvalue: -30
47+
# - variable:
48+
# name: MetaData/longitude
49+
# minvalue: -125
50+
# maxvalue: -90
51+
# - filter: BlackList
52+
# where:
53+
# - variable:
54+
# name: MetaData/latitude
55+
# minvalue: -65
56+
# maxvalue: -30
57+
# - variable:
58+
# name: MetaData/longitude
59+
# minvalue: 60
60+
# maxvalue: 110
61+
# - filter: Domain Check
62+
# where:
63+
# - variable: { name: GeoVaLs/sea_ice_area_fraction}
64+
# maxvalue: 0.00001
65+
- filter: Domain Check
66+
where:
67+
- variable: {name: GeoVaLs/distance_from_coast}
68+
minvalue: 100e3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
obs space:
2+
name: adt_sentinel3a
3+
obsdatain:
4+
engine:
5+
type: H5File
6+
obsfile: '{{cycle_dir}}/adt_sentinel3a.{{window_begin}}.nc4'
7+
obsdataout:
8+
engine:
9+
type: H5File
10+
obsfile: '{{cycle_dir}}/{{experiment_id}}.adt_sentinel3a.{{window_begin}}.nc4'
11+
simulated variables: [absoluteDynamicTopography]
12+
obs operator:
13+
name: ADT
14+
obs error:
15+
covariance model: diagonal
16+
obs filters:
17+
- filter: Domain Check
18+
where:
19+
- variable: {name: GeoVaLs/sea_area_fraction}
20+
minvalue: 0.9
21+
- filter: Domain Check
22+
where:
23+
- variable: { name: GeoVaLs/sea_surface_temperature}
24+
minvalue: 15.0
25+
- filter: Background Check
26+
absolute threshold: 0.2
27+
- filter: Domain Check
28+
where:
29+
- variable: {name: GeoVaLs/sea_floor_depth_below_sea_surface}
30+
minvalue: 500
31+
# - filter: Perform Action
32+
# action:
33+
# name: assign error
34+
# error function:
35+
# name: ObsFunction/LinearCombination
36+
# options:
37+
# variables: [{name: GeoVaLs/mesoscale_representation_error},
38+
# {name: ObsError/absolute_dynamic_topography}]
39+
# # variables: [mesoscale_representation_error@GeoVaLs,
40+
# # absolute_dynamic_topography@ObsError]
41+
# coefs: [0.1,
42+
# 0.5]
43+
# - filter: BlackList
44+
# where:
45+
# - variable:
46+
# name: MetaData/latitude
47+
# minvalue: -65
48+
# maxvalue: -30
49+
# - variable:
50+
# name: MetaData/longitude
51+
# minvalue: -125
52+
# maxvalue: -90
53+
# - filter: BlackList
54+
# where:
55+
# - variable:
56+
# name: MetaData/latitude
57+
# minvalue: -65
58+
# maxvalue: -30
59+
# - variable:
60+
# name: MetaData/longitude
61+
# minvalue: 60
62+
# maxvalue: 110
63+
# - filter: Domain Check
64+
# where:
65+
# - variable: { name: GeoVaLs/sea_ice_area_fraction}
66+
# maxvalue: 0.00001
67+
- filter: Domain Check
68+
where:
69+
- variable: { name: GeoVaLs/distance_from_coast}
70+
minvalue: 100e3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
obs space:
2+
name: adt_sentinel3b
3+
obsdatain:
4+
engine:
5+
type: H5File
6+
obsfile: '{{cycle_dir}}/adt_sentinel3b.{{window_begin}}.nc4'
7+
obsdataout:
8+
engine:
9+
type: H5File
10+
obsfile: '{{cycle_dir}}/{{experiment_id}}.adt_sentinel3b.{{window_begin}}.nc4'
11+
simulated variables: [absoluteDynamicTopography]
12+
obs operator:
13+
name: ADT
14+
obs error:
15+
covariance model: diagonal
16+
obs filters:
17+
- filter: Domain Check
18+
where:
19+
- variable: {name: GeoVaLs/sea_area_fraction}
20+
minvalue: 0.9
21+
- filter: Domain Check
22+
where:
23+
- variable: { name: GeoVaLs/sea_surface_temperature}
24+
minvalue: 15.0
25+
- filter: Background Check
26+
absolute threshold: 0.2
27+
- filter: Domain Check
28+
where:
29+
- variable: {name: GeoVaLs/sea_floor_depth_below_sea_surface}
30+
minvalue: 500
31+
# - filter: Perform Action
32+
# action:
33+
# name: assign error
34+
# error function:
35+
# name: ObsFunction/LinearCombination
36+
# options:
37+
# variables: [{name: GeoVaLs/mesoscale_representation_error},
38+
# {name: ObsError/absolute_dynamic_topography}]
39+
# # variables: [mesoscale_representation_error@GeoVaLs,
40+
# # absolute_dynamic_topography@ObsError]
41+
# coefs: [0.1,
42+
# 0.5]
43+
# - filter: BlackList
44+
# where:
45+
# - variable:
46+
# name: MetaData/latitude
47+
# minvalue: -65
48+
# maxvalue: -30
49+
# - variable:
50+
# name: MetaData/longitude
51+
# minvalue: -125
52+
# maxvalue: -90
53+
# - filter: BlackList
54+
# where:
55+
# - variable:
56+
# name: MetaData/latitude
57+
# minvalue: -65
58+
# maxvalue: -30
59+
# - variable:
60+
# name: MetaData/longitude
61+
# minvalue: 60
62+
# maxvalue: 110
63+
# - filter: Domain Check
64+
# where:
65+
# - variable: { name: GeoVaLs/sea_ice_area_fraction}
66+
# maxvalue: 0.00001
67+
- filter: Domain Check
68+
where:
69+
- variable: { name: GeoVaLs/distance_from_coast}
70+
minvalue: 100e3

0 commit comments

Comments
 (0)