Skip to content

Commit

Permalink
Merge branch 'develop' into feature/unrotate_10m_winds
Browse files Browse the repository at this point in the history
  • Loading branch information
james-cotton committed Nov 30, 2023
2 parents 1545923 + 698841c commit c9281c9
Show file tree
Hide file tree
Showing 154 changed files with 216 additions and 33 deletions.
32 changes: 16 additions & 16 deletions deps/ops/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ set(OPS_SOURCE_FILES
code/OpsMod_ModelColumnIO/OpsMod_ModelColumnIO.f90
code/OpsMod_ModelIO/OpsMod_ModelIO.f90
code/OpsMod_ModelObInfo/OpsMod_ModelObInfo.f90
code/OpsMod_ODB/OpsMod_ODBKinds.f90
code/OpsMod_ODB/OpsMod_ODBTypes.f90
code/OpsMod_ObTypeUtils/OpsMod_ObTypeUtils.f90
code/OpsMod_ObsInfo/OpsMod_MiscTypes.f90
code/OpsMod_ObsInfo/OpsMod_ObsInfo.f90
Expand All @@ -41,7 +39,6 @@ set(OPS_SOURCE_FILES
code/OpsMod_UMImport/ops_portio2a.c
code/OpsMod_UMImport/ops_portutils.c
code/OpsMod_Utilities/OpsMod_Utilities.f90
code/OpsMod_Varobs/OpsMod_Varobs.f90
code/OpsMod_VarobsLib/OpsMod_VarobsLib.f90
code/OpsProg_Utils/OpsMod_UtilsProgs.f90
public/GenMod_Control/GenMod_Control.F90
Expand All @@ -66,27 +63,30 @@ set(OPS_SOURCE_FILES
public/OpsMod_Sort/OpsMod_Sort.f90
public/OpsMod_UMInterface/OpsMod_UMInterface.f90
public/OpsMod_VerticalInterp/OpsMod_VerticalInterp.f90
public/Ops_Constants/GenMod_CLookAdd.f90
public/Ops_Constants/GenMod_Constants.f90
public/Ops_Constants/GenMod_MiscUMScienceConstants.f90
public/Ops_Constants/GenMod_UMHeaderConstants.f90
public/Ops_Constants/OpsMod_Ancil.f90
public/Ops_Constants/OpsMod_CXIndexes.f90
public/Ops_Constants/OpsMod_Constants.f90
public/Ops_Constants/OpsMod_Kinds.F90
public/Ops_Constants/OpsMod_ObsGroupInfo.f90
public/Ops_Constants/OpsMod_ObsTypes.f90
public/Ops_Constants/OpsMod_SatIds.f90
public/Ops_Constants/OpsMod_Stash.f90
public/Ops_Constants/OpsMod_Varfields.f90
stubs/Ops_Constants/GenMod_CLookAdd.f90
stubs/Ops_Constants/GenMod_Constants.f90
stubs/Ops_Constants/GenMod_MiscUMScienceConstants.f90
stubs/Ops_Constants/GenMod_UMHeaderConstants.f90
stubs/Ops_Constants/OpsMod_Ancil.f90
stubs/Ops_Constants/OpsMod_CXIndexes.f90
stubs/Ops_Constants/OpsMod_Constants.f90
stubs/Ops_Constants/OpsMod_Kinds.F90
stubs/Ops_Constants/OpsMod_ObsGroupInfo.f90
stubs/Ops_Constants/OpsMod_ObsTypes.f90
stubs/Ops_Constants/OpsMod_SatIds.f90
stubs/Ops_Constants/OpsMod_Stash.f90
stubs/Ops_Constants/OpsMod_Varfields.f90
stubs/OpsMod_AODGeneral/OpsMod_AODGeneral.f90
stubs/OpsMod_GPSRO/OpsMod_GPSRO.f90
stubs/OpsMod_GPSRO/OpsMod_GPSROInfo.f90
stubs/OpsMod_GPSRO/OpsMod_GPSROInfo_BA.f90
stubs/OpsMod_GroundGPS/OpsMod_GroundGPS.f90
stubs/OpsMod_ODB/OpsMod_ODBKinds.f90
stubs/OpsMod_ODB/OpsMod_ODBTypes.f90
stubs/OpsMod_Radar/OpsMod_Radar.f90
stubs/OpsMod_RadarZ/OpsMod_RadarZ.f90
stubs/OpsMod_Sonde/OpsMod_SondeDrift.f90
stubs/OpsMod_Varobs/OpsMod_Varobs.f90
stubs/Ops_SatRad_Info/OpsMod_SatRad_RTmodel.f90
stubs/Ops_SatRad_SetUp/OpsMod_SatRad_SetUp.f90
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ SELECT CASE (ObsGroup)
CASE (ObsGroupSBUV)
CxFields(1:7) = (/StashItem_ozone_old,StashItem_p,StashCode_t2, &
StashCode_rh2,StashCode_t_p,StashCode_rh_p,StashCode_pmsl/)
CASE (ObsGroupScatwind)
CASE (ObsGroupScatwind, ObsGroupScatwindChosen)
CxFields(1:12) = (/StashItem_u,StashItem_v,StashItem_theta, StashItem_SST, &
StashItem_SeaIce,StashItem_orog,StashItem_p, &
StashItem_p_Surface,StashCode_u10,StashCode_v10, &
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,7 @@ SELECT CASE (Obs % Header % ObsGroup)
END IF
END DO
END IF
CASE (ObsGroupScatwind)
CASE (ObsGroupScatwind, ObsGroupScatwindChosen)
IF (Obs % Header % Satid % Present) THEN
DO i = ob_start, ob_end
IF (Obs % Satid(i) == SatId_MetopB) THEN
Expand Down Expand Up @@ -963,7 +963,8 @@ SELECT CASE (Obs % Header % ObsGroup)
ELSE
found_report_type = .FALSE.
DO j = 1, SIZE (map, DIM = 1)
IF (map(j,1) == ObsGroupScatwind .AND. map(j,2) == Obs % Satid(i)) THEN
IF ((map(j,1) == ObsGroupScatwind .AND. map(j,2) == Obs % Satid(i)) .OR. &
(map(j,1) == ObsGroupScatwindChosen .AND. map(j,2) == Obs % Satid(i))) THEN
report_types(i - ob_start + 1) = map(j,3)
found_report_type = .TRUE.
EXIT
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ USE OpsMod_MiscTypes, ONLY: &

USE OpsMod_ObsGroupInfo, ONLY: &
ObsGroupSurface, &
ObsGroupScatwind
ObsGroupScatwind, &
ObsGroupScatwindChosen

USE OpsMod_ObsInfo, ONLY: &
OB_type
Expand Down Expand Up @@ -113,14 +114,16 @@ DO Ivar = 1, ActualMaxVarfield
END IF
CASE (VarField_u)
IF (Ob % header % ObsGroup == ObsGroupSurface .OR. &
Ob % header % ObsGroup == ObsGroupScatwind) THEN
Ob % header % ObsGroup == ObsGroupScatwind .OR. &
Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN
ObHdrVrbl = Ob % header % u10
ELSE
ObHdrVrbl = Ob % header % u
END IF
CASE (VarField_v)
IF (Ob % header % ObsGroup == ObsGroupSurface .OR. &
Ob % header % ObsGroup == ObsGroupScatwind) THEN
Ob % header % ObsGroup == ObsGroupScatwind .OR. &
Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN
ObHdrVrbl = Ob % header % v10
ELSE
ObHdrVrbl = Ob % header % v
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,8 @@ SELECT CASE (ObsGroup)
Varfields(1:1) = (/VarField_SBUVozone/)
CASE (ObsGroupScatwind)
Varfields(1:3) = (/Varfield_u10ambwind,varfield_v10ambwind,Varfield_pcorrect/)
CASE (ObsGroupScatwindChosen)
Varfields(1:2) = (/Varfield_u,varfield_v/)
CASE (ObsGroupSEVIRIClr)
Varfields(1:12) = (/Varfield_britemp,Varfield_satid,Varfield_satzenith, &
Varfield_solzenith,Varfield_tskin,Varfield_tcozone, &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ USE OpsMod_ObsGroupInfo, ONLY: &
ObsGroupGPSRO, &
ObsGroupSatwind, &
ObsGroupScatwind, &
ObsGroupScatwindChosen, &
ObsGroupSurface

USE OpsMod_ObsInfo, ONLY: &
Expand Down Expand Up @@ -253,7 +254,8 @@ DO Ivar = 1, NumValidVarFields
END IF
CASE (VarField_u)
IF (Ob % header % ObsGroup == ObsGroupSurface .OR. &
Ob % header % ObsGroup == ObsGroupScatwind) THEN
Ob % header % ObsGroup == ObsGroupScatwind .OR. &
Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN
ObHdrVrbl = Ob % header % u10
ObVrblSingle => Ob % u10(:)
Pge_1D => Pge % u10
Expand All @@ -264,7 +266,8 @@ DO Ivar = 1, NumValidVarFields
END IF
CASE (VarField_v)
IF (Ob % header % ObsGroup == ObsGroupSurface .OR. &
Ob % header % ObsGroup == ObsGroupScatwind) THEN
Ob % header % ObsGroup == ObsGroupScatwind .OR. &
Ob % header % ObsGroup == ObsGroupScatwindChosen) THEN
ObHdrVrbl = Ob % header % v10
ObVrblSingle => Ob % v10(:)
Pge_1D => Pge % u10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ USE GenMod_MiscUMScienceConstants, ONLY: &
USE OpsMod_ObsGroupInfo, ONLY: &
ObsGroupSurface, &
ObsGroupScatwind, &
ObsGroupScatwindChosen, &
ObsGroupSatwind, &
ObsGroupAircraft, &
ObsGroupSonde, &
Expand Down Expand Up @@ -115,7 +116,7 @@ SELECT CASE (Observations % header % ObsGroup)
ObsLevelType = 0.0
NumLevelLevs = 1

CASE (ObsGroupScatwind)
CASE (ObsGroupScatwind, ObsGroupScatwindChosen)

ObsLevelType = 0.0
NumLevelLevs = 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ SELECT CASE (ObsGroupName)
OpsFn_ObsGroupNameToNum = ObsGroupSBUV
CASE ("Scatwind")
OpsFn_ObsGroupNameToNum = ObsGroupScatwind
CASE ("ScatwindChosen")
OpsFn_ObsGroupNameToNum = ObsGroupScatwindChosen
CASE ("SeaIce")
OpsFn_ObsGroupNameToNum = ObsGroupSeaIce
CASE ("OceanColour")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ IMPLICIT NONE
INTEGER, INTENT(IN) :: ObsGroup

! Function result:
CHARACTER(len=12) :: OpsFn_ObsGroupNumToName
CHARACTER(len=16) :: OpsFn_ObsGroupNumToName

SELECT CASE (ObsGroup)
CASE (ObsGroupABIClr)
Expand Down Expand Up @@ -107,6 +107,8 @@ SELECT CASE (ObsGroup)
OpsFn_ObsGroupNumToName = "SBUV"
CASE (ObsGroupScatwind)
OpsFn_ObsGroupNumToName = "Scatwind"
CASE (ObsGroupScatwindChosen)
OpsFn_ObsGroupNumToName = "ScatwindChosen"
CASE (ObsGroupSeaIce)
OpsFn_ObsGroupNumToName = "SeaIce"
CASE (ObsGroupOceanColour)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ MODULE OpsMod_ObsGroupInfo
INTEGER, PARAMETER :: ObsGroupOceanWinds = 61 ! => Satellite wind speeds
INTEGER, PARAMETER :: ObsGroupGIIRSLW = 62 ! => GIIRS LW radiances
INTEGER, PARAMETER :: ObsGroupGIIRSMW = 63 ! => GIIRS MW radiances
INTEGER, PARAMETER :: max_obs_group_num = 63 ! Number of observation groups
INTEGER, PARAMETER :: ObsGroupScatwindChosen = 64 ! => Scatterometer winds (single solution)
INTEGER, PARAMETER :: max_obs_group_num = 64 ! Number of observation groups

CONTAINS

Expand Down
4 changes: 0 additions & 4 deletions deps/update_ops_sources.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ cd "$SRC_DIR/src"
cp --parents --recursive code/GenMod_ModelIO "$DEST_DIR"
cp --parents --recursive code/OpsMod_AirQuality "$DEST_DIR"
cp --parents --recursive code/OpsMod_Argument "$DEST_DIR"
cp --parents --recursive code/OpsMod_CXGenerate "$DEST_DIR"
cp --parents --recursive code/OpsMod_CXInfo "$DEST_DIR"
cp --parents --recursive code/OpsMod_Control "$DEST_DIR"
cp --parents --recursive code/OpsMod_DateTime "$DEST_DIR"
Expand All @@ -39,12 +38,10 @@ cp --parents --recursive code/OpsMod_ModelIO "$DEST_DIR"
cp --parents --recursive code/OpsMod_ModelObInfo "$DEST_DIR"
cp --parents --recursive code/OpsMod_ObTypeUtils "$DEST_DIR"
cp --parents --recursive code/OpsMod_ObsInfo "$DEST_DIR"
cp --parents --recursive code/OpsMod_ODB "$DEST_DIR"
cp --parents --recursive code/OpsMod_Process "$DEST_DIR"
cp --parents --recursive code/OpsMod_QC "$DEST_DIR"
cp --parents --recursive code/OpsMod_UMImport "$DEST_DIR"
cp --parents --recursive code/OpsMod_Utilities "$DEST_DIR"
cp --parents --recursive code/OpsMod_Varobs "$DEST_DIR"
cp --parents --recursive code/OpsMod_VarobsLib "$DEST_DIR"
cp --parents --recursive public/GenMod_Control "$DEST_DIR"
cp --parents --recursive public/GenMod_Core "$DEST_DIR"
Expand All @@ -60,7 +57,6 @@ cp --parents --recursive public/OpsMod_Random "$DEST_DIR"
cp --parents --recursive public/OpsMod_Sort "$DEST_DIR"
cp --parents --recursive public/OpsMod_UMInterface "$DEST_DIR"
cp --parents --recursive public/OpsMod_VerticalInterp "$DEST_DIR"
cp --parents --recursive public/Ops_Constants "$DEST_DIR"

cp --parents code/OpsProg_Utils/OpsMod_PrintCX.f90 "$DEST_DIR"
cp --parents code/OpsProg_Utils/OpsMod_PrintVarobs.f90 "$DEST_DIR"
Expand Down
3 changes: 3 additions & 0 deletions etc/global/varobs/ScatwindChosen.nl
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
&VarobsControlNL
Varfields=4,5
/
2 changes: 1 addition & 1 deletion src/opsinputs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ set_source_files_properties(opsinputs_cxgenerate_mod.F90 PROPERTIES
# In addition, we need to add the folder with these *.inc files to the
# include path used when compiling that module.
set_source_files_properties(opsinputs_cxgenerate_mod.F90 PROPERTIES
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/ops/code/OpsMod_CXGenerate)
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/ops/stubs/OpsMod_CXGenerate)

ecbuild_add_library( TARGET opsinputs
SOURCES ${opsinputs_src_files}
Expand Down
1 change: 1 addition & 0 deletions src/opsinputs/opsinputs_cxwriter_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ module opsinputs_cxwriter_mod
ObsGroupSurface, &
ObsGroupSatwind, &
ObsGroupScatwind, &
ObsGroupScatwindChosen, &
ObsGroupSonde
use OpsMod_ObsInfo, only: &
FinalRejectFlag, &
Expand Down
9 changes: 9 additions & 0 deletions src/opsinputs/opsinputs_varobswriter_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ module opsinputs_varobswriter_mod
ObsGroupGPSRO, &
ObsGroupSatwind, &
ObsGroupScatwind, &
ObsGroupScatwindChosen, &
ObsGroupSonde, &
ObsGroupSurface, &
ObsGroupSatTCWV
Expand Down Expand Up @@ -828,6 +829,10 @@ subroutine opsinputs_varobswriter_populateobservations( &
call opsinputs_fill_fillelementtypefromsimulatedvariable( &
Ob % Header % u10, "u10", Ob % Header % NumObsLocal, Ob % u10, &
ObsSpace, Flags, ObsErrors, "windEastwardAt10M", "ObsValue")
else if (Ob % Header % ObsGroup == ObsGroupScatwindChosen) then
call opsinputs_fill_fillelementtypefromsimulatedvariable( &
Ob % Header % u10, "u10", Ob % Header % NumObsLocal, Ob % u10, &
ObsSpace, Flags, ObsErrors, "windEastwardAt10M", "BiasCorrObsValue")
else
call opsinputs_fill_fillelementtype2dfromsimulatedvariable( &
Ob % Header % u, "u", JediToOpsLayoutMapping, Ob % u, &
Expand All @@ -839,6 +844,10 @@ subroutine opsinputs_varobswriter_populateobservations( &
call opsinputs_fill_fillelementtypefromsimulatedvariable( &
Ob % Header % v10, "v10", Ob % Header % NumObsLocal, Ob % v10, &
ObsSpace, Flags, ObsErrors, "windNorthwardAt10M", "ObsValue")
else if (Ob % Header % ObsGroup == ObsGroupScatwindChosen) then
call opsinputs_fill_fillelementtypefromsimulatedvariable( &
Ob % Header % v10, "v10", Ob % Header % NumObsLocal, Ob % v10, &
ObsSpace, Flags, ObsErrors, "windNorthwardAt10M", "BiasCorrObsValue")
else
call opsinputs_fill_fillelementtype2dfromsimulatedvariable( &
Ob % Header % v, "v", JediToOpsLayoutMapping, Ob % v, &
Expand Down
9 changes: 9 additions & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,18 @@ ADD_WRITER_TEST(NAME varobswriter_004_VarField_u_Surface
ADD_WRITER_TEST(NAME varobswriter_004_VarField_u_Sonde
YAML 004_VarField_u_Sonde.yaml
DATA 004_VarField_u_Sonde.nc4)
ADD_WRITER_TEST(NAME varobswriter_004_VarField_u_ScatwindChosen
YAML 004_VarField_u_ScatwindChosen.yaml
DATA 004_VarField_u_ScatwindChosen.nc4)
ADD_WRITER_TEST(NAME varobswriter_005_VarField_v_Surface
YAML 005_VarField_v_Surface.yaml
DATA 005_VarField_v_Surface.nc4)
ADD_WRITER_TEST(NAME varobswriter_005_VarField_v_Sonde
YAML 005_VarField_v_Sonde.yaml
DATA 005_VarField_v_Sonde.nc4)
ADD_WRITER_TEST(NAME varobswriter_005_VarField_v_ScatwindChosen
YAML 005_VarField_v_ScatwindChosen.yaml
DATA 005_VarField_v_ScatwindChosen.nc4)
ADD_WRITER_TEST(NAME varobswriter_007_VarField_tcwv
YAML 007_VarField_tcwv.yaml
DATA 007_VarField_tcwv.nc4)
Expand Down Expand Up @@ -626,6 +632,9 @@ ADD_WRITER_TEST(NAME cxwriter_globalnamelist_surface
YAML cxwriter_globalnamelist_surface.yaml
NAMELIST ../../etc/global/cx/Surface.nl
DATA cx_globalnamelist_surface.nc4 dummy.nc4)
ADD_WRITER_TEST(NAME cxwriter_globalnamelist_scatwind
YAML cxwriter_globalnamelist_scatwind.yaml
DATA cx_globalnamelist_scatwind.nc4 dummy.nc4)

# Tests the ukv namelist files in the etc directory

Expand Down
12 changes: 11 additions & 1 deletion test/generate_unittest_netcdfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -645,8 +645,10 @@ def copy_var_to_var(Group, invarname, outvarname, filename):
output_1d_simulated_var_to_netcdf('relativeHumidityAt2M', 'testinput/003_VarField_rh_Surface.nc4')
output_simulated_var_profiles_to_netcdf('relativeHumidity', 'testinput/003_VarField_rh_Sonde.nc4')
output_1d_simulated_var_to_netcdf('windEastwardAt10M', 'testinput/004_VarField_u_Surface.nc4')
output_1d_simulated_var_to_netcdf('windEastwardAt10M', 'testinput/004_VarField_u_ScatwindChosen.nc4', with_bias=True)
output_simulated_var_profiles_to_netcdf('windEastward', 'testinput/004_VarField_u_Sonde.nc4')
output_1d_simulated_var_to_netcdf('windNorthwardAt10M', 'testinput/005_VarField_v_Surface.nc4')
output_1d_simulated_var_to_netcdf('windNorthwardAt10M', 'testinput/005_VarField_v_ScatwindChosen.nc4', with_bias=True)
output_simulated_var_profiles_to_netcdf('windNorthward', 'testinput/005_VarField_v_Sonde.nc4')
output_1d_simulated_var_to_netcdf('precipitableWater', 'testinput/007_VarField_tcwv.nc4')
output_2d_simulated_var_to_netcdf('brightnessTemperature', 'testinput/010_VarField_britemp.nc4', with_bias=True)
Expand Down Expand Up @@ -1019,8 +1021,16 @@ def copy_var_to_var(Group, invarname, outvarname, filename):
'eastward_wind', 'northward_wind'],
'testinput/cx_globalnamelist_surface.nc4')

# Scatwind
output_full_cx_to_netcdf(['friction_velocity_over_water', 'ice_area_fraction', 'obukhov_length', 'relative_humidity_2m', 'skin_temperature',
'surface_altitude', 'surface_pressure', 'surface_pressure_at_mean_sea_level', 'surface_temperature',
'uwind_at_10m', 'vwind_at_10m'],
['air_pressure_levels', 'cloud_volume_fraction_in_atmosphere_layer', 'ice_cloud_volume_fraction_in_atmosphere_layer',
'liquid_cloud_volume_fraction_in_atmosphere_layer', 'mass_content_of_cloud_ice_in_atmosphere_layer', 'mass_content_of_cloud_liquid_water_in_atmosphere_layer',
'specific_humidity', 'potential_temperature', 'eastward_wind', 'northward_wind'],
'testinput/cx_globalnamelist_scatwind.nc4')
# Unrotate 10m winds
output_full_cx_to_netcdf (['uwind_at_10m', 'vwind_at_10m'],[], 'testinput/CxWriter_UnRotateWinds10M.nc4')

output_1d_multi_level_simulated_var_to_netcdf('relativeHumidity', 'testinput/relative_humidity_Sonde.nc4')
output_2d_geoval_for_multi_level_obs_to_netcdf('relative_humidity', 'testinput/002_UpperAirCxFieldForMultiLevelObs_relative_humidity.nc4')
Binary file added test/testinput/004_VarField_u_ScatwindChosen.nc4
Binary file not shown.
44 changes: 44 additions & 0 deletions test/testinput/004_VarField_u_ScatwindChosen.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
window begin: 2018-01-01T00:00:00Z
window end: 2018-01-01T02:00:00Z

observations:
- obs space:
name: ScatwindChosen
obsdatain:
engine:
type: H5File
obsfile: Data/004_VarField_u_ScatwindChosen.nc4
simulated variables: [windEastwardAt10M]
obs filters:
# Double all observation errors: we want to check if error changes made by filters are
# propagated to VarObs files
- filter: BlackList
action:
name: inflate error
inflation factor: 2.0
# Set the flag of observations with missing values to "pass": we want to check if these
# values are encoded correctly in the VarObsFile.
- filter: Reset Flags to Pass
flags_to_reset: [10, 15] # missing, Hfailed
# Reject observation 3: we want to check if it is omitted from the VarObs file, as expected.
- filter: Domain Check
where:
- variable:
name: MetaData/latitude
minvalue: 0.0
- filter: VarObs Writer
reject_obs_with_any_variable_failing_qc: true
general_mode: debug
- filter: VarObs Checker
expected_main_table_columns:
# Only observations 1, 2 and 4 are passed; observation 3 is rejected by the domain check
field: ["4", "4", "4"]
ob value: ["1.20000", "-1073741824.00000", "1.30000"]
ob error: ["0.20000", "-1073741824.00000", "0.80000"]
lat: ["21.00000", "22.00000", "24.00000"]
lon: ["31.00000", "32.00000", "34.00000"]
time: ["-3540.00000", "-3480.00000", "-3360.00000"]
Callsign: ["station_1", "station_2", "station_4"]
HofX: ObsValue # just a placeholder -- not used, but needed to force calls to postFilter.
benchmarkFlag: 1000 # just to keep the ObsFilters test happy
flaggedBenchmark: 0
Binary file added test/testinput/005_VarField_v_ScatwindChosen.nc4
Binary file not shown.
Loading

0 comments on commit c9281c9

Please sign in to comment.