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 #722

Closed
wants to merge 7 commits into from
6 changes: 3 additions & 3 deletions modulefiles/GDAS/orion.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()

prepend_path("MODULEPATH", '/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.0/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.1/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/work2/noaa/da/python/opt/modulefiles/stack')

-- below two lines get us access to the spack-stack modules
Expand All @@ -27,7 +27,7 @@ load("nco/5.0.6")
load("parallelio/2.5.10")
load("wget/1.14")
load("boost/1.78")
load("bufr/12.0.0")
load("bufr/12.0.1")
load("git-lfs/2.12.0")
load("ecbuild/3.7.2")
load("openjpeg/2.3.1")
Expand All @@ -39,7 +39,7 @@ load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("atlas/0.34.0")
load("atlas/0.35.0")
load("sp/2.3.3")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
Expand Down
6 changes: 4 additions & 2 deletions parm/atm/obs/config/satwind_goes-16.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -181,7 +184,7 @@ obs post filters:
- name: windEastward
- name: windNorthward
test variables:
- name: MetaData/sensorZenithAngle
- name: MetaData/satelliteZenithAngle
maxvalue: 68.
action:
name: reject
Expand Down Expand Up @@ -427,7 +430,6 @@ obs post filters:
action:
name: reject

obs post filters:
# Reject GOES (247) when difference of wind direction is more than 50 degrees.
# CLEARED: maxvalue is rejecting >, not >= as per a Perform Action, so threshold is unchanged
- filter: Bounds Check
Expand Down
6 changes: 4 additions & 2 deletions parm/atm/obs/config/satwind_goes-17.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -181,7 +184,7 @@ obs post filters:
- name: windEastward
- name: windNorthward
test variables:
- name: MetaData/sensorZenithAngle
- name: MetaData/satelliteZenithAngle
maxvalue: 68.
action:
name: reject
Expand Down Expand Up @@ -427,7 +430,6 @@ obs post filters:
action:
name: reject

obs post filters:
# Reject GOES (247) when difference of wind direction is more than 50 degrees.
# CLEARED: maxvalue is rejecting >, not >= as per a Perform Action, so threshold is unchanged
- filter: Bounds Check
Expand Down
6 changes: 3 additions & 3 deletions parm/atm/obs/lists/gdas_prototype_3d.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
observers:
- !INC ${OBS_YAML_DIR}/amsua_n19.yaml
- !INC ${OBS_YAML_DIR}/sondes.yaml
##- !INC ${OBS_YAML_DIR}/amsua_n19.yaml
##- !INC ${OBS_YAML_DIR}/sondes_prepbufr.yaml
##- !INC ${OBS_YAML_DIR}/atms_n20.yaml
##- !INC ${OBS_YAML_DIR}/aircraft.yaml
##- !INC ${OBS_YAML_DIR}/satwind.yaml
- !INC ${OBS_YAML_DIR}/satwind_goes-16.yaml
##- !INC ${OBS_YAML_DIR}/omi_aura.yaml
##- !INC ${OBS_YAML_DIR}/ompsnp_npp.yaml
##- !INC ${OBS_YAML_DIR}/ompstc8_npp.yaml
Expand Down
26 changes: 13 additions & 13 deletions ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.py
Original file line number Diff line number Diff line change
Expand Up @@ -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]')

Expand Down Expand Up @@ -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')

Expand Down Expand Up @@ -356,11 +356,11 @@ def bufr_to_ioda(config, logger):
.write_attr('long_name', 'Satellite Identifier') \
.write_data(satid2)

# Sensor Zenith Angle
obsspace.create_var('MetaData/sensorZenithAngle', dtype=satzenang2.dtype, fillval=satzenang2.fill_value) \
# Satellite Zenith Angle
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
Expand Down Expand Up @@ -429,16 +429,16 @@ def bufr_to_ioda(config, logger):
.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)
# 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)
# 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) \
Expand Down
Loading