Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify BUFR converter and filter yamls for GOES AMV #724

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion parm/atm/obs/config/satwind_goes-16.yaml
Original file line number Diff line number Diff line change
@@ -17,6 +17,9 @@ obs operator:
hofx scaling field: SurfaceWindScalingPressure
hofx scaling field group: DerivedVariables

linear obs operator:
name: VertInterp

obs prior filters:
# Apply variable changes needed for wind scaling
# For wind observations with pressure provided
@@ -181,7 +184,7 @@ obs post filters:
- name: windEastward
- name: windNorthward
test variables:
- name: MetaData/sensorZenithAngle
- name: MetaData/satelliteZenithAngle
maxvalue: 68.
action:
name: reject
5 changes: 4 additions & 1 deletion parm/atm/obs/config/satwind_goes-17.yaml
Original file line number Diff line number Diff line change
@@ -17,6 +17,9 @@ obs operator:
hofx scaling field: SurfaceWindScalingPressure
hofx scaling field group: DerivedVariables

obs linear operator:
name: VertInterp

obs prior filters:
# Apply variable changes needed for wind scaling
# For wind observations with pressure provided
@@ -181,7 +184,7 @@ obs post filters:
- name: windEastward
- name: windNorthward
test variables:
- name: MetaData/sensorZenithAngle
- name: MetaData/satelliteZenithAngle
maxvalue: 68.
action:
name: reject
20 changes: 4 additions & 16 deletions ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.py
Original file line number Diff line number Diff line change
@@ -124,7 +124,7 @@ def bufr_to_ioda(config, logger):
q.add('hour', '*/HOUR')
q.add('minute', '*/MINU')
q.add('second', '*/SECO')
q.add('sensorZenithAngle', '*/SAZA')
q.add('satelliteZenithAngle', '*/SAZA')
q.add('sensorCentralFrequency', '*/SCCF')
q.add('pressure', '*/PRLC[1]')

@@ -173,7 +173,7 @@ def bufr_to_ioda(config, logger):
second = r.get('second')
lat = r.get('latitude')
lon = r.get('longitude')
satzenang = r.get('sensorZenithAngle')
satzenang = r.get('satelliteZenithAngle')
pressure = r.get('pressure', type='float')
chanfreq = r.get('sensorCentralFrequency', type='float')

@@ -357,10 +357,10 @@ def bufr_to_ioda(config, logger):
.write_data(satid2)

# Sensor Zenith Angle
obsspace.create_var('MetaData/sensorZenithAngle', dtype=satzenang2.dtype, fillval=satzenang2.fill_value) \
obsspace.create_var('MetaData/satelliteZenithAngle', dtype=satzenang2.dtype, fillval=satzenang2.fill_value) \
.write_attr('units', 'degree') \
.write_attr('valid_range', np.array([0, 90], dtype=np.float32)) \
.write_attr('long_name', 'Sensor Zenith Angle') \
.write_attr('long_name', 'Satellite Zenith Angle') \
.write_data(satzenang2)

# Sensor Centrall Frequency
@@ -428,18 +428,6 @@ def bufr_to_ioda(config, logger):
.write_attr('long_name', 'Station Elevation') \
.write_data(stnelev2)

# Wind Speed
obsspace.create_var('ObsValue/windSpeed', dtype=wspd2.dtype, fillval=wspd2.fill_value) \
.write_attr('units', 'm s-1') \
.write_attr('long_name', 'Wind Speed') \
.write_data(wspd2)

# Wind Direction
obsspace.create_var('ObsValue/windDirection', dtype=wdir2.dtype, fillval=wdir2.fill_value) \
.write_attr('units', 'degrees') \
.write_attr('long_name', 'Wind Direction') \
.write_data(wdir2)

# U-Wind Component
obsspace.create_var('ObsValue/windEastward', dtype=uob2.dtype, fillval=wspd2.fill_value) \
.write_attr('units', 'm s-1') \