Skip to content

Commit 7e57e99

Browse files
author
donald lippi
committed
242 & 243: Added new templates for Himawari and Meteosat visible winds
1 parent faced15 commit 7e57e99

3 files changed

Lines changed: 936 additions & 0 deletions

File tree

Lines changed: 312 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,312 @@
1+
- obs space:
2+
name: satwnd_winds_242_174
3+
obsdatain:
4+
engine:
5+
type: H5File
6+
obsfile: "data/obs/ioda_satwnd.ahi_h9.nc"
7+
missing file action: "warn"
8+
obsdataout:
9+
empty obs space action: "{{empty_obs_space_action}}"
10+
write multiple files: {{write_multiple_files | default(false) }}
11+
engine:
12+
type: H5File
13+
obsfile: jdiag_satwnd_winds_242_174.nc
14+
allow overwrite: true
15+
io pool:
16+
max pool size: {{ max_pool_size | default(1) }}
17+
observed variables: [windEastward, windNorthward]
18+
simulated variables: [windEastward, windNorthward]
19+
20+
obs operator:
21+
name: VertInterp
22+
vertical coordinate: air_pressure
23+
observation vertical coordinate: pressure
24+
observation vertical coordinate group: MetaData
25+
interpolation method: log-linear
26+
variables:
27+
- name: windEastward
28+
- name: windNorthward
29+
30+
linear obs operator:
31+
name: VertInterp
32+
33+
obs error:
34+
covariance model: diagonal
35+
36+
obs filters:
37+
# ------------------
38+
# wind (242)
39+
# ------------------
40+
# Accept, reject, or passivate (monitor)
41+
- filter: Perform Action
42+
udescriptor: "iuse_check"
43+
filter variables:
44+
- name: windEastward
45+
- name: windNorthward
46+
where:
47+
- variable: ObsType/windEastward
48+
is_in: 242
49+
- variable: MetaData/satelliteIdentifier
50+
is_in: 174
51+
action:
52+
name: {{iuse_satwnd_winds_242_174 | default("passivate", true)}} # accept, reject, passivate
53+
54+
# Reject all obs not in type
55+
- filter: Perform Action
56+
udescriptor: "obs_type_check"
57+
where:
58+
- variable: ObsValue/windEastward
59+
value: is_not_valid
60+
action:
61+
name: reduce obs space
62+
63+
# Reject all obs not in kx
64+
- filter: Perform Action
65+
udescriptor: "obs_kx_check"
66+
where:
67+
- variable: ObsType/windEastward
68+
is_not_in: 242
69+
action:
70+
name: reduce obs space
71+
72+
# Reject all obs not in subtype
73+
- filter: Perform Action
74+
udescriptor: "obs_subtype_check"
75+
where:
76+
- variable: MetaData/satelliteIdentifier
77+
is_not_in: 174
78+
action:
79+
name: reduce obs space
80+
81+
# Time window filter
82+
- filter: Bounds Check
83+
udescriptor: "time_window_check"
84+
filter variables:
85+
- name: windEastward
86+
- name: windNorthward
87+
test variables:
88+
- name: MetaData/timeOffset
89+
minvalue: -5400
90+
maxvalue: 5400
91+
where:
92+
- variable: ObsType/windEastward
93+
is_in: 242
94+
- variable: MetaData/satelliteIdentifier
95+
is_in: 174
96+
action:
97+
name: reduce obs space
98+
99+
# Duplicate Check
100+
- filter: Temporal Thinning
101+
udescriptor: "duplicate_check"
102+
filter variables:
103+
- name: windEastward
104+
- name: windNorthward
105+
min_spacing: PT90M
106+
tolerance: PT0H
107+
seed_time: "{{atmosphere_background_time_iso}}"
108+
category_variable:
109+
name: MetaData/longitude_latitude_pressure
110+
where:
111+
- variable: ObsType/windEastward
112+
is_in: 242
113+
- variable: MetaData/satelliteIdentifier
114+
is_in: 174
115+
action:
116+
name: reduce obs space
117+
118+
# Initial error assignment
119+
- filter: Perform Action
120+
udescriptor: "initial_error_assignment"
121+
filter variables:
122+
- name: windEastward
123+
- name: windNorthward
124+
where:
125+
- variable: ObsType/windEastward
126+
is_in: 242
127+
- variable: MetaData/satelliteIdentifier
128+
is_in: 174
129+
action:
130+
name: assign error
131+
error function:
132+
name: ObsFunction/ObsErrorModelStepwiseLinear
133+
options:
134+
xvar:
135+
name: MetaData/pressure
136+
xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0]
137+
errors: [3.8, 3.8, 3.8, 3.8, 3.8, 3.8, 3.8, 3.8, 3.9, 3.9, 4.0, 4.0, 4.1, 5.0, 6.0, 6.3, 6.6, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0, 7.0]
138+
139+
{% if use_error_inflation | default(true) %} # BEGIN use_error_inflation
140+
# Error inflation (windEastward) based on pressure check (setupw.f90)
141+
- filter: Perform Action
142+
udescriptor: "error_inflation_pressure_check"
143+
filter variables:
144+
- name: windEastward
145+
where:
146+
- variable: ObsType/windEastward
147+
is_in: 242
148+
- variable: MetaData/satelliteIdentifier
149+
is_in: 174
150+
action:
151+
name: inflate error
152+
inflation variable:
153+
name: ObsFunction/ObsErrorFactorPressureCheck
154+
options:
155+
variable: windEastward
156+
inflation factor: 4.0
157+
158+
# Error inflation (windNorthward) based on pressure check (setupw.f90)
159+
- filter: Perform Action
160+
udescriptor: "error_inflation_pressure_check"
161+
filter variables:
162+
- name: windNorthward
163+
where:
164+
- variable: ObsType/windNorthward
165+
is_in: 242
166+
- variable: MetaData/satelliteIdentifier
167+
is_in: 174
168+
action:
169+
name: inflate error
170+
inflation variable:
171+
name: ObsFunction/ObsErrorFactorPressureCheck
172+
options:
173+
variable: windNorthward
174+
inflation factor: 4.0
175+
{% endif %} # END use_error_inflation
176+
177+
# Bounds Check (ObsValue)
178+
- filter: Bounds Check
179+
udescriptor: "bounds_check_ObsValue"
180+
filter variables:
181+
- name: windEastward
182+
- name: windNorthward
183+
minvalue: -200
184+
maxvalue: 200
185+
where:
186+
- variable: ObsType/windEastward
187+
is_in: 242
188+
- variable: MetaData/satelliteIdentifier
189+
is_in: 174
190+
action:
191+
name: reduce obs space
192+
193+
# Reject obs with qiWithoutForecast < 85. OR > 100.
194+
- filter: Bounds Check
195+
udescriptor: "bounds_check_qifn"
196+
filter variables:
197+
- name: windEastward
198+
- name: windNorthward
199+
test variables:
200+
- name: MetaData/qiWithoutForecast
201+
minvalue: 85.
202+
maxvalue: 100.
203+
where:
204+
- variable: ObsType/windEastward
205+
is_in: 242
206+
- variable: MetaData/satelliteIdentifier
207+
is_in: 174
208+
action:
209+
name: reject
210+
211+
# Reject obs with satellite zenith angle > 68
212+
- filter: Bounds Check
213+
udescriptor: "bounds_check_satellite_zenith_angle"
214+
filter variables:
215+
- name: windEastward
216+
- name: windNorthward
217+
test variables:
218+
- name: MetaData/satelliteZenithAngle
219+
maxvalue: 68.
220+
where:
221+
- variable: ObsType/windEastward
222+
is_in: 242
223+
- variable: MetaData/satelliteIdentifier
224+
is_in: 174
225+
action:
226+
name: reject
227+
228+
# Reject when pressure is more than 50 mb above tropopause
229+
- filter: Difference Check
230+
udescriptor: "difference_check_tropopause_pressure"
231+
filter variables:
232+
- name: windEastward
233+
- name: windNorthward
234+
reference: GeoVaLs/tropopause_pressure
235+
value: MetaData/pressure
236+
minvalue: -5000. # 50 hPa above tropopause level, negative p-diff
237+
where:
238+
- variable: ObsType/windEastward
239+
is_in: 242
240+
- variable: MetaData/satelliteIdentifier
241+
is_in: 174
242+
action:
243+
name: reject
244+
245+
# Reject any observation within 100 mb of the surface pressure
246+
- filter: Difference Check
247+
udescriptor: "difference_check_air_pressure_at_surface"
248+
filter variables:
249+
- name: windEastward
250+
- name: windNorthward
251+
reference: GeoVaLs/air_pressure_at_surface
252+
value: MetaData/pressure
253+
maxvalue: -10000. # within 100 hPa above surface pressure, negative p-diff
254+
where:
255+
- variable: ObsType/windEastward
256+
is_in: 242
257+
- variable: MetaData/satelliteIdentifier
258+
is_in: 174
259+
action:
260+
name: reject
261+
262+
# Reject obs with pressure < 700 mb.
263+
- filter: Perform Action
264+
udescriptor: "pressure_range_check"
265+
filter variables:
266+
- name: windEastward
267+
- name: windNorthward
268+
where:
269+
- variable: MetaData/pressure
270+
maxvalue: 70000.
271+
- variable: ObsType/windEastward
272+
is_in: 242
273+
- variable: MetaData/satelliteIdentifier
274+
is_in: 174
275+
action:
276+
name: reject
277+
278+
# Gross Error Check (windEastward)
279+
- filter: Background Check
280+
udescriptor: "gross_error_check"
281+
apply at iterations: 0,1
282+
filter variables:
283+
- name: windEastward
284+
function absolute threshold:
285+
- name: ObsFunction/WindsSPDBCheck
286+
options:
287+
wndtype: [ 242 ]
288+
cgross: [ 2.5 ]
289+
error_min: [ 1.4 ]
290+
error_max: [ 5.0 ]
291+
variable: windEastward
292+
action:
293+
name: reject
294+
defer to post: true
295+
296+
# Gross Error Check (windNorthward)
297+
- filter: Background Check
298+
udescriptor: "gross_error_check"
299+
apply at iterations: 0,1
300+
filter variables:
301+
- name: windNorthward
302+
function absolute threshold:
303+
- name: ObsFunction/WindsSPDBCheck
304+
options:
305+
wndtype: [ 242 ]
306+
cgross: [ 2.5 ]
307+
error_min: [ 1.4 ]
308+
error_max: [ 5.0 ]
309+
variable: windNorthward
310+
action:
311+
name: reject
312+
defer to post: true

0 commit comments

Comments
 (0)