UFO
ufo::test Namespace Reference

Classes

class  ConventionalProfileProcessing
 
class  DataExtractor
 
class  GaussianThinning
 
class  GeoVaLs
 
class  HistoryCheck
 
class  LinearObsBiasOperator
 
class  LocationsTimeTestParameters
 Parameters describing Locations/TimeMask test. More...
 
class  LocationsTestParameters
 Parameters describing Locations test. More...
 
class  LocationsTestFixture
 Code shared by all Locations tests. More...
 
class  Locations
 
class  MetOfficeBuddyCheck
 
class  MetOfficeBuddyPairFinder
 
class  MetOfficeRadianceErrorMatrices
 
class  MetOfficeSort
 
class  ObsBias
 
class  ObsBiasCovarianceDetails
 
class  ObsDiagnostics
 
class  ObsErrorAssign
 
class  ObsFilterData
 
class  CompareVariablesParameters
 Options used to configure comparison of a variable generated by a filter against a reference variable loaded from the input IODA file. More...
 
class  ObsTypeParameters
 Options used to configure a test running a sequence of filters on observations from a single obs space. More...
 
class  ObsFiltersParameters
 Top-level options taken by the ObsFilters test. More...
 
class  ObsFilters
 
class  ObsFunction
 
class  TestFixture
 Code shared by all tests. More...
 
class  OperatorUtils
 
class  ParallelPoissonDiskThinning
 
class  MyParameters
 
class  Parameters
 
class  PiecewiseLinearInterpolation
 
class  PoissonDiskThinning
 
class  Predictor
 
class  TestCaseParameters
 
class  PrimitiveVariables
 
class  TestParameters
 
class  ProcessWhere
 
class  RecursiveSplitter
 
class  StuckCheck
 
class  TemporalThinning
 
class  TrackCheck
 
class  TrackCheckShip
 
class  TrackCheckShipMainLoop
 
class  Variables
 

Typedefs

typedef std::pair< int, int > ObsPair
 
typedef std::set< size_t > Group
 
typedef std::set< GroupGroups
 

Functions

void testConventionalProfileProcessing (const eckit::LocalConfiguration &conf)
 
template<typename T , typename R >
float run_basic (const T obVal0, const R obVal1, const std::vector< T > &varValues0, const std::vector< R > &varValues1)
 
template<typename T , typename R >
float run_basic (const T obVal0, const R obVal1)
 
 CASE ("ufo/DataExtractor/bilinearinterp/float_linear")
 
 CASE ("ufo/DataExtractor/bilinearinterp/float_linear_at_lower_boundary_dim0")
 
 CASE ("ufo/DataExtractor/bilinearinterp/float_linear_at_lower_boundary_dim1")
 
 CASE ("ufo/DataExtractor/bilinearinterp/float_blinear")
 
 CASE ("ufo/DataExtractor/bilinearinterp/extrapolation_lower_bound_dim0")
 
 CASE ("ufo/DataExtractor/bilinearinterp/extrapolation_lower_bound_dim1")
 
 CASE ("ufo/DataExtractor/bilinearinterp/extrapolation_upper_bound_dim0")
 
 CASE ("ufo/DataExtractor/bilinearinterp/extrapolation_upper_bound_dim1")
 
 CASE ("ufo/DataExtractor/bilinearinterp/int_int_dtype")
 
 CASE ("ufo/DataExtractor/bilinearinterp/int_float_dtype")
 
 CASE ("ufo/DataExtractor/bilinearinterp/float_int_dtype")
 
 CASE ("ufo/DataExtractor/bilinearinterp/string_dtype")
 
float run_missing (const float obVal0, const float obVal1, const std::vector< float > data)
 
 CASE ("ufo/DataExtractor/bilinearinterp/one_missing")
 
 CASE ("ufo/DataExtractor/bilinearinterp/all_missing")
 
float run_range_constrained (const float obVal0, const float obVal1, const std::array< ConstrainedRange, 3 > &ranges)
 
 CASE ("ufo/DataExtractor/bilinearinterp/range_constrain")
 
 CASE ("ufo/DataExtractor/bilinearinterp/range_constrain_extrapolation")
 
 CASE ("ufo/DataExtractor/bilinearinterp/range_constrain_3D_array")
 
 CASE ("ufo/DataExtractor/get2DSlice/not_2d_slice")
 
 CASE ("ufo/DataExtractor/get1DSlice/not_1d_slice")
 
void testGaussianThinning (const eckit::LocalConfiguration &conf)
 
void testGeoVaLs ()
 
void testGeoVaLsAllocatePutGet ()
 Tests GeoVaLs::allocate, GeoVals::put, GeoVaLs::get, GeoVaLs::putAtLevel, GeoVaLs::getAtLevel, GeoVaLs::putAtLocation and GeoVaLs::getAtLocation. More...
 
void testGeoVaLsConstructor ()
 Tests GeoVaLs(const Locations &, const Variables &, const std::vector<size_t> &) constructor. Tests that levels get correctly allocated, and that the GeoVaLs are zeroed out. More...
 
void testHistoryCheck (const eckit::LocalConfiguration &conf)
 
 CASE ("ufo/LinearObsBiasOperator/testLinearObsBiasOperator")
 
void testLocations ()
 Tests Locations constructors and method size() More...
 
void testLonsLats ()
 Tests Locations accessors lons() and lats() More...
 
int test_locations_lonslats_f90 (const Locations &, const eckit::Configuration &)
 
void testFortranLonsLats ()
 Tests Locations accessors lons() and lats() from Fortran. More...
 
void testTimeMask ()
 Tests Locations::isInTimeWindow method. More...
 
int test_locations_timemask_f90 (const Locations &, const eckit::Configuration &)
 
void testFortranTimeMask ()
 Tests Locations::isInTimeWindow method from Fortran. More...
 
void testConcatenate ()
 Tests operator+= (concatenation of two Locations) More...
 
void testMetOfficeBuddyCheck (const eckit::LocalConfiguration &conf)
 
bool duplicatePairsPresent (const std::vector< ObsPair > &pairs)
 
template<typename Key , typename Value >
Value maxValue (const std::map< Key, Value > &map)
 
int maxTotalNumBuddies (const std::vector< ObsPair > &pairs)
 
int maxNumBuddiesWithSameStationId (const std::vector< ObsPair > &pairs, const std::vector< int > &stationIds)
 
void testDuplicatesAndBuddyCountConstraints (const eckit::LocalConfiguration &conf)
 
 CASE ("ufo/MetOfficeBuddyPairFinder/" "Duplicates, constraints on buddy counts, legacy pair collector")
 
std::vector< MetOfficeBuddyPairfindBuddyPairs (const MetOfficeBuddyCheckParameters &options, const std::vector< float > &latitudes, const std::vector< float > &longitudes, const std::vector< util::DateTime > &datetimes, const std::vector< float > *pressures, const std::vector< int > &stationIds, const std::vector< size_t > &validObsIds)
 
void testInvarianceToLongitude (const eckit::LocalConfiguration &conf)
 
 CASE ("ufo/TemporalThinning/Invariance to longitude, different zonal bands")
 
 CASE ("ufo/TemporalThinning/Invariance to longitude, same zonal band")
 
void findEndpoint (double startLat, double startLon, double distance, double bearing, double &endLat, double &endLon)
 
void findEndpoint (float startLat, float startLon, float distance, float bearing, float &endLat, float &endLon)
 
template<typename T >
bool contains (const std::set< T > &set, const T &element)
 
ObsPair reverse (const ObsPair &pair)
 
void testSearchRadius (const eckit::LocalConfiguration &conf)
 
 CASE ("ufo/TemporalThinning/Search radius")
 
void testMetOfficeRadianceErrorMatrices (const eckit::LocalConfiguration &conf)
 
 CASE ("ufo/MetOfficeSort/noKey")
 
 CASE ("ufo/MetOfficeSort/withKey")
 
void testObsBiasReadWrite ()
 Tests ObsBias::read and ObsBias::write methods. More...
 
void testObsBiasCovarianceDetails ()
 
void testObsDiagnostics ()
 
void testObsErrorAssign (const eckit::LocalConfiguration &conf)
 
template<typename T >
void testHasDtypeAndGet (const ufo::ObsFilterData &data, ioda::ObsSpace &ospace, const ufo::Variable &var, ioda::ObsDtype expectedDtype, const std::vector< T > &expectedValues)
 
void testObsFilterData ()
 
void runFinalCheck (oops::ObsSpace< ufo::ObsTraits > &obsspace, oops::ObsDataVector< ufo::ObsTraits, int > &qcflags, oops::ObsVector< ufo::ObsTraits > &obserr)
 Run the FinalCheck filter. More...
 
void convertLocalObsIndicesToGlobal (std::vector< size_t > &indices, const std::vector< size_t > &globalIdxFromLocalIdx)
 Convert indices of observations held by this process to global observation indices. More...
 
template<typename Predicate >
std::vector< size_t > getObservationIndicesWhere (const ObsTraits::ObsDataVector< int > &qcFlags, const eckit::mpi::Comm &comm, const std::vector< size_t > &globalIdxFromLocalIdx, const Predicate &predicate)
 
std::vector< size_t > getPassedObservationIndices (const ObsTraits::ObsDataVector< int > &qcFlags, const eckit::mpi::Comm &comm, const std::vector< size_t > &globalIdxFromLocalIdx)
 
std::vector< size_t > getFailedObservationIndices (const ObsTraits::ObsDataVector< int > &qcFlags, const eckit::mpi::Comm &comm, const std::vector< size_t > &globalIdxFromLocalIdx)
 
std::vector< size_t > getFlaggedObservationIndices (const ObsTraits::ObsDataVector< int > &qcFlags, const eckit::mpi::Comm &comm, const std::vector< size_t > &globalIdxFromLocalIdx, int flag)
 
size_t numNonzero (const ObsTraits::ObsDataVector< int > &data, const ioda::Distribution &dist)
 
size_t numEqualTo (const ObsTraits::ObsDataVector< int > &data, int value, const ioda::Distribution &dist)
 
template<typename T >
void expectVariablesEqual (const ObsTraits::ObsSpace &obsspace, const ufo::Variable &referenceVariable, const ufo::Variable &testVariable)
 
void expectVariablesApproximatelyEqual (const ObsTraits::ObsSpace &obsspace, const ufo::Variable &referenceVariable, const ufo::Variable &testVariable, float absTol)
 
void expectVariablesRelativelyEqual (const ObsTraits::ObsSpace &obsspace, const ufo::Variable &referenceVariable, const ufo::Variable &testVariable, float relTol)
 
void testFilters (size_t obsSpaceIndex, oops::ObsSpace< ufo::ObsTraits > &obspace, const ObsTypeParameters &params)
 
void runTest ()
 
void dataVectorDiff (const ioda::ObsSpace &ospace, ioda::ObsDataVector< float > &vals, const ioda::ObsDataVector< float > &ref, std::vector< float > &rms_out, size_t &num_missing_mismatches)
 
template<typename T >
void checkResults (const ioda::ObsSpace &, const eckit::Configuration &, const ioda::ObsDataVector< T > &vals, const ioda::ObsDataVector< T > &vals_ofd, const ioda::ObsDataVector< T > &ref)
 
void checkResults (const ioda::ObsSpace &ospace, const eckit::Configuration &obsfuncconf, ioda::ObsDataVector< float > &vals, ioda::ObsDataVector< float > &vals_ofd, const ioda::ObsDataVector< float > &ref)
 
template<typename T >
void doTestFunction (ioda::ObsSpace &ospace, const eckit::Configuration &conf)
 
void testFunction ()
 
void testOperatorUtils (const eckit::LocalConfiguration &conf)
 
 CASE ("ufo/OperatorUtils/Without 'variables' option")
 
 CASE ("ufo/OperatorUtils/With 'variables' option")
 
void testPoissonDiskThinning (const eckit::LocalConfiguration &conf, bool expectValidationError=false)
 
template<typename ParametersType >
void doTestSerialization (const eckit::Configuration &config)
 
void testDefaultValue ()
 
void testCorrectValue ()
 
void testSimpleString ()
 
void testNoChannels ()
 
void testComplexChannels ()
 
void testMissingName ()
 
void testMisspelledProperty ()
 
void testSerializationWithChannels ()
 
void testSerializationWithoutChannels ()
 
 CASE ("ufo/PiecewiseLinearInterpolation/atInterpolationPoints")
 
 CASE ("ufo/PiecewiseLinearInterpolation/betweenInterpolationPoints")
 
 CASE ("ufo/PiecewiseLinearInterpolation/outsideInterpolationPoints")
 
 CASE ("ufo/PiecewiseLinearInterpolation/singleInterpolationPoint")
 
 CASE ("ufo/PiecewiseLinearInterpolation/noInterpolationPoints")
 
 CASE ("ufo/PiecewiseLinearInterpolation/differentNumberOfAbscissasAndOrdinates")
 
 CASE ("ufo/PoissonDiskThinning/No thinning")
 
 CASE ("ufo/PoissonDiskThinning/" "Horizontal thinning, min spacing smaller than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Horizontal thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Vertical thinning, min spacing smaller than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Vertical thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/Vertical thinning, where clause")
 
 CASE ("ufo/PoissonDiskThinning/" "Time thinning, min spacing equal to nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Time thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Horizontal and vertical thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Horizontal and time thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Vertical and time thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/" "Horizontal, vertical and time thinning, min spacing larger than nearest neighbor spacing")
 
 CASE ("ufo/PoissonDiskThinning/Priorities")
 
 CASE ("ufo/PoissonDiskThinning/Int-valued categories")
 
 CASE ("ufo/PoissonDiskThinning/String-valued categories")
 
 CASE ("ufo/PoissonDiskThinning/Variable min spacings")
 
 CASE ("ufo/PoissonDiskThinning/Variable min spacings, shuffling")
 
 CASE ("ufo/PoissonDiskThinning/Cylindrical exclusion volumes")
 
 CASE ("ufo/PoissonDiskThinning/Ellipsoidal exclusion volumes")
 
 CASE ("ufo/PoissonDiskThinning/Incorrectly ordered min horizontal spacings")
 
 CASE ("ufo/PoissonDiskThinning/Incorrectly ordered min vertical spacings")
 
 CASE ("ufo/PoissonDiskThinning/Incorrectly ordered min time spacings")
 
void testPredictor ()
 
void testPrimitiveVariables (const eckit::LocalConfiguration &conf)
 Test a range-based for loop over the PrimitiveVariables range. More...
 
void testPrimitiveVariablesIterator (const eckit::LocalConfiguration &conf)
 
void testProcessWhere (const eckit::LocalConfiguration &conf, bool is_in_usererror=false)
 
Groups getGroups (const RecursiveSplitter &splitter)
 
Groups getMultiElementGroups (const RecursiveSplitter &splitter)
 
void orderedComparison (const RecursiveSplitter &splitter, const std::vector< std::vector< int >> &expected)
 
 CASE ("ufo/RecursiveSplitter/ZeroIds")
 
 CASE ("ufo/RecursiveSplitter/OneId")
 
 CASE ("ufo/RecursiveSplitter/TenIds")
 
 CASE ("ufo/RecursiveSplitter/IntCategories")
 
 CASE ("ufo/RecursiveSplitter/StringCategories")
 
 CASE ("ufo/RecursiveSplitter/Recurse")
 
void testStuckCheck (const eckit::LocalConfiguration &conf)
 
void testTemporalThinning (const eckit::LocalConfiguration &conf)
 
void testTrackCheck (const eckit::LocalConfiguration &conf)
 
const boost::optional< ufo::TrackCheckShipDiagnosticssetupRunFilter (const eckit::LocalConfiguration &conf, std::vector< size_t > *rejectedObsIndices=nullptr)
 
void testTrackCheckShipInitialCalculations (const eckit::LocalConfiguration &conf)
 
void testEarlyBreakCondition (const eckit::LocalConfiguration &conf)
 
void testRejectedObservations (const eckit::LocalConfiguration &conf)
 
void testFirstRejectionSimultaneousIncluded (const eckit::LocalConfiguration &conf)
 
void testVariable ()
 
void testConstructor ()
 
bool hasVariable (const Variables &vars, const Variable &var)
 
void testAllFromGroupFor (const std::string &funcName, const eckit::LocalConfiguration &funcConf, const ufo::Variables &initialVars)
 
void testAllFromGroup ()
 
void testHasGroupFor (const std::string &funcName, const eckit::LocalConfiguration &funcConf, const ufo::Variables &initialVars)
 
void testHasGroup ()
 

Variables

float missing = util::missingValue(missing)
 
const char * expectComputeToThrow = "expect compute to throw exception with message"
 
const char * expectConstructorToThrow = "expect constructor to throw exception with message"
 
const bool validationSupported = oops::Parameters::isValidationSupported()
 

Typedef Documentation

◆ Group

typedef std::set<size_t> ufo::test::Group

Definition at line 26 of file test/ufo/RecursiveSplitter.h.

◆ Groups

typedef std::set<Group> ufo::test::Groups

Definition at line 27 of file test/ufo/RecursiveSplitter.h.

◆ ObsPair

typedef std::pair<int, int> ufo::test::ObsPair

Definition at line 35 of file test/ufo/MetOfficeBuddyPairFinder.h.

Function Documentation

◆ CASE() [1/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/all_missing"  )

Definition at line 214 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [2/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/extrapolation_lower_bound_dim0"  )

Definition at line 103 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [3/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/extrapolation_lower_bound_dim1"  )

Definition at line 110 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [4/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/extrapolation_upper_bound_dim0"  )

Definition at line 117 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [5/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/extrapolation_upper_bound_dim1"  )

Definition at line 124 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [6/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/float_blinear"  )

Definition at line 95 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [7/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/float_int_dtype"  )

Definition at line 145 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [8/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/float_linear"  )

Definition at line 71 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CASE() [9/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/float_linear_at_lower_boundary_dim0"  )

Definition at line 79 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [10/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/float_linear_at_lower_boundary_dim1"  )

Definition at line 87 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [11/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/int_float_dtype"  )

Definition at line 138 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [12/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/int_int_dtype"  )

Definition at line 131 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [13/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/one_missing"  )

Definition at line 192 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [14/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/range_constrain"  )

Definition at line 251 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [15/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/range_constrain_3D_array"  )

Definition at line 285 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [16/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/range_constrain_extrapolation"  )

Definition at line 268 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [17/62]

ufo::test::CASE ( "ufo/DataExtractor/bilinearinterp/string_dtype"  )

Definition at line 152 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [18/62]

ufo::test::CASE ( "ufo/DataExtractor/get1DSlice/not_1d_slice"  )

Definition at line 331 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [19/62]

ufo::test::CASE ( "ufo/DataExtractor/get2DSlice/not_2d_slice"  )

Definition at line 319 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ CASE() [20/62]

ufo::test::CASE ( "ufo/LinearObsBiasOperator/testLinearObsBiasOperator"  )

Definition at line 39 of file test/ufo/LinearObsBiasOperator.h.

Here is the call graph for this function:

◆ CASE() [21/62]

ufo::test::CASE ( "ufo/MetOfficeBuddyPairFinder/" "  Duplicates,
constraints on buddy  counts,
legacy pair collector"   
)

Definition at line 173 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:

◆ CASE() [22/62]

ufo::test::CASE ( "ufo/MetOfficeSort/noKey"  )

Definition at line 27 of file test/ufo/MetOfficeSort.h.

Here is the call graph for this function:

◆ CASE() [23/62]

ufo::test::CASE ( "ufo/MetOfficeSort/withKey"  )

Definition at line 37 of file test/ufo/MetOfficeSort.h.

Here is the call graph for this function:

◆ CASE() [24/62]

ufo::test::CASE ( "ufo/OperatorUtils/With 'variables' option"  )

Definition at line 77 of file test/ufo/OperatorUtils.h.

Here is the call graph for this function:

◆ CASE() [25/62]

ufo::test::CASE ( "ufo/OperatorUtils/Without 'variables' option"  )

Definition at line 73 of file test/ufo/OperatorUtils.h.

Here is the call graph for this function:

◆ CASE() [26/62]

ufo::test::CASE ( "ufo/PiecewiseLinearInterpolation/atInterpolationPoints"  )

Definition at line 24 of file test/ufo/PiecewiseLinearInterpolation.h.

◆ CASE() [27/62]

ufo::test::CASE ( "ufo/PiecewiseLinearInterpolation/betweenInterpolationPoints"  )

Definition at line 32 of file test/ufo/PiecewiseLinearInterpolation.h.

◆ CASE() [28/62]

ufo::test::CASE ( "ufo/PiecewiseLinearInterpolation/differentNumberOfAbscissasAndOrdinates"  )

Definition at line 58 of file test/ufo/PiecewiseLinearInterpolation.h.

◆ CASE() [29/62]

ufo::test::CASE ( "ufo/PiecewiseLinearInterpolation/noInterpolationPoints"  )

Definition at line 54 of file test/ufo/PiecewiseLinearInterpolation.h.

◆ CASE() [30/62]

ufo::test::CASE ( "ufo/PiecewiseLinearInterpolation/outsideInterpolationPoints"  )

Definition at line 39 of file test/ufo/PiecewiseLinearInterpolation.h.

◆ CASE() [31/62]

ufo::test::CASE ( "ufo/PiecewiseLinearInterpolation/singleInterpolationPoint"  )

Definition at line 46 of file test/ufo/PiecewiseLinearInterpolation.h.

◆ CASE() [32/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Horizontal and time  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 151 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [33/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Horizontal and vertical  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 144 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [34/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Horizontal  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 104 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [35/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Horizontal  thinning,
min spacing smaller than nearest neighbor spacing"   
)

Definition at line 97 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [36/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "  Horizontal,
vertical and time  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 165 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [37/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Time  thinning,
min spacing equal to nearest neighbor spacing"   
)

Definition at line 130 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [38/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Time  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 137 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [39/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Vertical and time  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 158 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [40/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Vertical  thinning,
min spacing larger than nearest neighbor spacing"   
)

Definition at line 118 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [41/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/" "Vertical  thinning,
min spacing smaller than nearest neighbor spacing"   
)

Definition at line 111 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [42/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Cylindrical exclusion volumes"  )

Definition at line 197 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [43/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Ellipsoidal exclusion volumes"  )

Definition at line 202 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [44/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Incorrectly ordered min horizontal spacings"  )

Definition at line 207 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [45/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Incorrectly ordered min time spacings"  )

Definition at line 219 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [46/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Incorrectly ordered min vertical spacings"  )

Definition at line 213 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [47/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Int-valued categories"  )

Definition at line 177 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [48/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/No thinning"  )

Definition at line 92 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [49/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Priorities"  )

Definition at line 172 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [50/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/String-valued categories"  )

Definition at line 182 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [51/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Variable min spacings"  )

Definition at line 187 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [52/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Variable min  spacings,
shuffling"   
)

Definition at line 192 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [53/62]

ufo::test::CASE ( "ufo/PoissonDiskThinning/Vertical  thinning,
where clause"   
)

Definition at line 125 of file test/ufo/PoissonDiskThinning.h.

Here is the call graph for this function:

◆ CASE() [54/62]

ufo::test::CASE ( "ufo/RecursiveSplitter/IntCategories"  )

Definition at line 176 of file test/ufo/RecursiveSplitter.h.

Here is the call graph for this function:

◆ CASE() [55/62]

ufo::test::CASE ( "ufo/RecursiveSplitter/OneId"  )

Definition at line 95 of file test/ufo/RecursiveSplitter.h.

Here is the call graph for this function:

◆ CASE() [56/62]

ufo::test::CASE ( "ufo/RecursiveSplitter/Recurse"  )

Definition at line 212 of file test/ufo/RecursiveSplitter.h.

Here is the call graph for this function:

◆ CASE() [57/62]

ufo::test::CASE ( "ufo/RecursiveSplitter/StringCategories"  )

Definition at line 193 of file test/ufo/RecursiveSplitter.h.

Here is the call graph for this function:

◆ CASE() [58/62]

ufo::test::CASE ( "ufo/RecursiveSplitter/TenIds"  )

Definition at line 121 of file test/ufo/RecursiveSplitter.h.

Here is the call graph for this function:

◆ CASE() [59/62]

ufo::test::CASE ( "ufo/RecursiveSplitter/ZeroIds"  )

Definition at line 69 of file test/ufo/RecursiveSplitter.h.

Here is the call graph for this function:

◆ CASE() [60/62]

ufo::test::CASE ( "ufo/TemporalThinning/Invariance to  longitude,
different zonal bands"   
)

Definition at line 247 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:

◆ CASE() [61/62]

ufo::test::CASE ( "ufo/TemporalThinning/Invariance to  longitude,
same zonal band"   
)

Definition at line 253 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:

◆ CASE() [62/62]

ufo::test::CASE ( "ufo/TemporalThinning/Search radius"  )

Definition at line 346 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:

◆ checkResults() [1/2]

template<typename T >
void ufo::test::checkResults ( const ioda::ObsSpace &  ,
const eckit::Configuration &  ,
const ioda::ObsDataVector< T > &  vals,
const ioda::ObsDataVector< T > &  vals_ofd,
const ioda::ObsDataVector< T > &  ref 
)

Checks that vals and vals_ofd are equal to ref.

Parameters
valsObsFunction values calculated by calling ObsFunction::compute() directly.
vals_ofdObsFunction values calculated by calling ObsFilterData::get().
refReference values.

Definition at line 93 of file test/ufo/ObsFunction.h.

Here is the caller graph for this function:

◆ checkResults() [2/2]

void ufo::test::checkResults ( const ioda::ObsSpace &  ospace,
const eckit::Configuration &  obsfuncconf,
ioda::ObsDataVector< float > &  vals,
ioda::ObsDataVector< float > &  vals_ofd,
const ioda::ObsDataVector< float > &  ref 
)

Specialization for floats: expects the RMSs of the differences between vals and ref and between vals_ofd and ref to be within a specified tolerance.

The contents of vals and vals_ofd are destroyed.

Calculate rms(f(x) - ref) and compare to tolerance

Definition at line 112 of file test/ufo/ObsFunction.h.

Here is the call graph for this function:

◆ contains()

template<typename T >
bool ufo::test::contains ( const std::set< T > &  set,
const T &  element 
)

Definition at line 284 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the caller graph for this function:

◆ convertLocalObsIndicesToGlobal()

void ufo::test::convertLocalObsIndicesToGlobal ( std::vector< size_t > &  indices,
const std::vector< size_t > &  globalIdxFromLocalIdx 
)

Convert indices of observations held by this process to global observation indices.

Parameters
[in,out]indicesOn input: local indices of observations held by this process. On output: corresponding global observation indices.
globalIdxFromLocalIdxA vector whose ith element is the global index of ith observation held by this process.

Definition at line 205 of file ObsFilters.h.

Here is the caller graph for this function:

◆ dataVectorDiff()

void ufo::test::dataVectorDiff ( const ioda::ObsSpace &  ospace,
ioda::ObsDataVector< float > &  vals,
const ioda::ObsDataVector< float > &  ref,
std::vector< float > &  rms_out,
size_t &  num_missing_mismatches 
)
Parameters
[out]num_missing_mismatchesNumber of locations containing a missing value in vals but not in ref, or in ref but not in vals.

Loop through variables and calculate rms for each variable

Definition at line 58 of file test/ufo/ObsFunction.h.

Here is the caller graph for this function:

◆ doTestFunction()

template<typename T >
void ufo::test::doTestFunction ( ioda::ObsSpace &  ospace,
const eckit::Configuration &  conf 
)

Get function name

Setup function

Setup ObsFilterData

Setup GeoVaLs

Setup zero ObsBias

Setup ObsDiags

Get output variable names

Compute function result

Compute function result through ObsFilterData

Read reference values from ObsSpace

Definition at line 152 of file test/ufo/ObsFunction.h.

Here is the call graph for this function:

◆ doTestSerialization()

template<typename ParametersType >
void ufo::test::doTestSerialization ( const eckit::Configuration &  config)

Definition at line 37 of file Parameters.h.

◆ duplicatePairsPresent()

bool ufo::test::duplicatePairsPresent ( const std::vector< ObsPair > &  pairs)

Definition at line 37 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the caller graph for this function:

◆ expectVariablesApproximatelyEqual()

void ufo::test::expectVariablesApproximatelyEqual ( const ObsTraits::ObsSpace obsspace,
const ufo::Variable referenceVariable,
const ufo::Variable testVariable,
float  absTol 
)

Definition at line 356 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expectVariablesEqual()

template<typename T >
void ufo::test::expectVariablesEqual ( const ObsTraits::ObsSpace obsspace,
const ufo::Variable referenceVariable,
const ufo::Variable testVariable 
)

Definition at line 343 of file ObsFilters.h.

Here is the call graph for this function:

◆ expectVariablesRelativelyEqual()

void ufo::test::expectVariablesRelativelyEqual ( const ObsTraits::ObsSpace obsspace,
const ufo::Variable referenceVariable,
const ufo::Variable testVariable,
float  relTol 
)

Definition at line 370 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findBuddyPairs()

std::vector<MetOfficeBuddyPair> ufo::test::findBuddyPairs ( const MetOfficeBuddyCheckParameters options,
const std::vector< float > &  latitudes,
const std::vector< float > &  longitudes,
const std::vector< util::DateTime > &  datetimes,
const std::vector< float > *  pressures,
const std::vector< int > &  stationIds,
const std::vector< size_t > &  validObsIds 
)

Definition at line 181 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the caller graph for this function:

◆ findEndpoint() [1/2]

void ufo::test::findEndpoint ( double  startLat,
double  startLon,
double  distance,
double  bearing,
double &  endLat,
double &  endLon 
)

Definition at line 259 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findEndpoint() [2/2]

void ufo::test::findEndpoint ( float  startLat,
float  startLon,
float  distance,
float  bearing,
float &  endLat,
float &  endLon 
)

Definition at line 274 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:

◆ getFailedObservationIndices()

std::vector<size_t> ufo::test::getFailedObservationIndices ( const ObsTraits::ObsDataVector< int > &  qcFlags,
const eckit::mpi::Comm &  comm,
const std::vector< size_t > &  globalIdxFromLocalIdx 
)

Return the indices of observations that have failed quality control in at least one variable.

Definition at line 276 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFlaggedObservationIndices()

std::vector<size_t> ufo::test::getFlaggedObservationIndices ( const ObsTraits::ObsDataVector< int > &  qcFlags,
const eckit::mpi::Comm &  comm,
const std::vector< size_t > &  globalIdxFromLocalIdx,
int  flag 
)

Return the indices of observations whose quality control flag is set to flag in at least one variable.

Definition at line 289 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getGroups()

Groups ufo::test::getGroups ( const RecursiveSplitter splitter)

Definition at line 29 of file test/ufo/RecursiveSplitter.h.

Here is the caller graph for this function:

◆ getMultiElementGroups()

Groups ufo::test::getMultiElementGroups ( const RecursiveSplitter splitter)

Definition at line 40 of file test/ufo/RecursiveSplitter.h.

Here is the caller graph for this function:

◆ getObservationIndicesWhere()

template<typename Predicate >
std::vector<size_t> ufo::test::getObservationIndicesWhere ( const ObsTraits::ObsDataVector< int > &  qcFlags,
const eckit::mpi::Comm &  comm,
const std::vector< size_t > &  globalIdxFromLocalIdx,
const Predicate &  predicate 
)

Return the indices of observations whose quality control flags satisfy the predicate in at least one variable.

Parameters
qcFlagsVector of quality control flags for all observations.
obsDisttributionThe MPI distribution used by the ObsSpace.
globalIdxFromLocalIdxA vector whose ith element is the global index of ith observation held by this process.
predicateA function object taking an argument of type int and returning bool.

Definition at line 227 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getPassedObservationIndices()

std::vector<size_t> ufo::test::getPassedObservationIndices ( const ObsTraits::ObsDataVector< int > &  qcFlags,
const eckit::mpi::Comm &  comm,
const std::vector< size_t > &  globalIdxFromLocalIdx 
)

Return the indices of observations that have passed quality control in at least one variable.

Definition at line 263 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasVariable()

bool ufo::test::hasVariable ( const Variables vars,
const Variable var 
)

Definition at line 74 of file test/ufo/Variables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxNumBuddiesWithSameStationId()

int ufo::test::maxNumBuddiesWithSameStationId ( const std::vector< ObsPair > &  pairs,
const std::vector< int > &  stationIds 
)

Definition at line 85 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxTotalNumBuddies()

int ufo::test::maxTotalNumBuddies ( const std::vector< ObsPair > &  pairs)

Definition at line 78 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxValue()

template<typename Key , typename Value >
Value ufo::test::maxValue ( const std::map< Key, Value > &  map)

Definition at line 67 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the caller graph for this function:

◆ numEqualTo()

size_t ufo::test::numEqualTo ( const ObsTraits::ObsDataVector< int > &  data,
int  value,
const ioda::Distribution &  dist 
)

Return the number of elements of data equal to value (on all MPI ranks, but counting each location only once even if it is held on multiple ranks).

Definition at line 324 of file ObsFilters.h.

Here is the caller graph for this function:

◆ numNonzero()

size_t ufo::test::numNonzero ( const ObsTraits::ObsDataVector< int > &  data,
const ioda::Distribution &  dist 
)

Return the number of nonzero elements of data (on all MPI ranks, but counting each location only once even if it is held on multiple ranks).

Definition at line 303 of file ObsFilters.h.

Here is the caller graph for this function:

◆ orderedComparison()

void ufo::test::orderedComparison ( const RecursiveSplitter splitter,
const std::vector< std::vector< int >> &  expected 
)

Definition at line 52 of file test/ufo/RecursiveSplitter.h.

Here is the caller graph for this function:

◆ reverse()

ObsPair ufo::test::reverse ( const ObsPair pair)

Definition at line 288 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the caller graph for this function:

◆ run_basic() [1/2]

template<typename T , typename R >
float ufo::test::run_basic ( const T  obVal0,
const R  obVal1 
)

Definition at line 64 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:

◆ run_basic() [2/2]

template<typename T , typename R >
float ufo::test::run_basic ( const T  obVal0,
const R  obVal1,
const std::vector< T > &  varValues0,
const std::vector< R > &  varValues1 
)

Definition at line 31 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_missing()

float ufo::test::run_missing ( const float  obVal0,
const float  obVal1,
const std::vector< float >  data 
)

Definition at line 169 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_range_constrained()

float ufo::test::run_range_constrained ( const float  obVal0,
const float  obVal1,
const std::array< ConstrainedRange, 3 > &  ranges 
)

Definition at line 224 of file test/ufo/DataExtractor.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ runFinalCheck()

void ufo::test::runFinalCheck ( oops::ObsSpace< ufo::ObsTraits > &  obsspace,
oops::ObsDataVector< ufo::ObsTraits, int > &  qcflags,
oops::ObsVector< ufo::ObsTraits > &  obserr 
)

Run the FinalCheck filter.

This needs to be done manually if post-filters aren't run because the HofX vector is not available.

Definition at line 185 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ runTest()

void ufo::test::runTest ( )

identify parameters used for this group of observations

Definition at line 591 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupRunFilter()

const boost::optional<ufo::TrackCheckShipDiagnostics> ufo::test::setupRunFilter ( const eckit::LocalConfiguration &  conf,
std::vector< size_t > *  rejectedObsIndices = nullptr 
)

Definition at line 37 of file test/ufo/TrackCheckShip.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_locations_lonslats_f90()

int ufo::test::test_locations_lonslats_f90 ( const Locations ,
const eckit::Configuration &   
)

similar to LonsLats test, on Fortran level Returns 1 if the test passes, 0 if the test fails

Here is the caller graph for this function:

◆ test_locations_timemask_f90()

int ufo::test::test_locations_timemask_f90 ( const Locations ,
const eckit::Configuration &   
)

similar to TimeMask test, on Fortran level Returns 1 if the test passes, 0 if the test fails

Here is the caller graph for this function:

◆ testAllFromGroup()

void ufo::test::testAllFromGroup ( )

Definition at line 101 of file test/ufo/Variables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testAllFromGroupFor()

void ufo::test::testAllFromGroupFor ( const std::string &  funcName,
const eckit::LocalConfiguration &  funcConf,
const ufo::Variables initialVars 
)

Definition at line 85 of file test/ufo/Variables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testComplexChannels()

void ufo::test::testComplexChannels ( )

Definition at line 113 of file Parameters.h.

Here is the caller graph for this function:

◆ testConcatenate()

void ufo::test::testConcatenate ( )

Tests operator+= (concatenation of two Locations)

test that concatenated longitudes have two copies of original lons

test that concatenated latitudes have two copies of original lats

Definition at line 171 of file test/ufo/Locations.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testConstructor()

void ufo::test::testConstructor ( )

Definition at line 53 of file test/ufo/Variables.h.

Here is the caller graph for this function:

◆ testConventionalProfileProcessing()

void ufo::test::testConventionalProfileProcessing ( const eckit::LocalConfiguration &  conf)

Definition at line 59 of file test/ufo/ConventionalProfileProcessing.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testCorrectValue()

void ufo::test::testCorrectValue ( )

Definition at line 78 of file Parameters.h.

Here is the caller graph for this function:

◆ testDefaultValue()

void ufo::test::testDefaultValue ( )

Definition at line 65 of file Parameters.h.

Here is the caller graph for this function:

◆ testDuplicatesAndBuddyCountConstraints()

void ufo::test::testDuplicatesAndBuddyCountConstraints ( const eckit::LocalConfiguration &  conf)

Definition at line 94 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testEarlyBreakCondition()

void ufo::test::testEarlyBreakCondition ( const eckit::LocalConfiguration &  conf)

Definition at line 131 of file test/ufo/TrackCheckShip.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testFilters()

void ufo::test::testFilters ( size_t  obsSpaceIndex,
oops::ObsSpace< ufo::ObsTraits > &  obspace,
const ObsTypeParameters params 
)

init QC and error

call priorFilter and postFilter if hofx is available

initialize zero bias

read GeoVaLs from file if required

read H(x) and ObsDiags from file

read GeoVaLs, compute H(x) and ObsDiags

Only call priorFilter

apply the FinalCheck filter (which should always be run after all other filters).

no need to run priorFilter or postFilter

apply the FinalCheck filter (which should always be run after all other filters).

Definition at line 384 of file ObsFilters.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testFirstRejectionSimultaneousIncluded()

void ufo::test::testFirstRejectionSimultaneousIncluded ( const eckit::LocalConfiguration &  conf)

Definition at line 33 of file TrackCheckShipMainLoop.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testFortranLonsLats()

void ufo::test::testFortranLonsLats ( )

Tests Locations accessors lons() and lats() from Fortran.

Definition at line 129 of file test/ufo/Locations.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testFortranTimeMask()

void ufo::test::testFortranTimeMask ( )

Tests Locations::isInTimeWindow method from Fortran.

Definition at line 160 of file test/ufo/Locations.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testFunction()

void ufo::test::testFunction ( )

Use the function group to determine the type of values produced by the function and thus select the right specialization of doTestFunction().

Definition at line 219 of file test/ufo/ObsFunction.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testGaussianThinning()

void ufo::test::testGaussianThinning ( const eckit::LocalConfiguration &  conf)

Definition at line 32 of file GaussianThinning.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testGeoVaLs()

void ufo::test::testGeoVaLs ( )

Setup ObsSpace

Setup GeoVaLs

Check that GeoVaLs default constructor works

Check that GeoVaLs constructor to create a GeoVaLs with one location works

Check that GeoVaLs merge followed by a split gives back the original geovals

Check that GeoVaLs & operator *= (const std::vector<float>);

Definition at line 37 of file test/ufo/GeoVaLs.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testGeoVaLsAllocatePutGet()

void ufo::test::testGeoVaLsAllocatePutGet ( )

Tests GeoVaLs::allocate, GeoVals::put, GeoVaLs::get, GeoVaLs::putAtLevel, GeoVaLs::getAtLevel, GeoVaLs::putAtLocation and GeoVaLs::getAtLocation.

Test 2D variables

Setup GeoVaLs that are not filled in or allocated; test that they are not allocated

Allocate only the first variable, and test that it's allocated correctly

Allocate only the second variable (2D variable), test that it's allocated correctly

Set all values for the first level of a 2D variable to an arbitrary number with the put method. Then check that the get method returns the expected values in each case. Do this for several data types. (1) doubles

(2) floats

(3) ints

Check that the getAtLocation method returns what we put in the GeoVaLs. The reference GeoVaLs at indices (jlev, jloc) are equal to jlev + jloc.

Check that the putAtLocation method correctly puts values in the GeoVaLs. This is similar to the previous test but the putting and getting routines are transposed. This is done separately for each data type, using different fill values each time. (1) doubles The reference GeoVaLs at indices (jlev, jloc) are equal to jlev + jloc.

(2) floats The reference GeoVaLs at indices (jlev, jloc) are equal to jlev + jloc + 1.

(3) ints The reference GeoVaLs at indices (jlev, jloc) are equal to jlev + jloc + 2.

Check code paths that throw exceptions for the getAtLocation method.

Check code paths that throw exceptions for the putAtLocation method.

test 3D put and get

Definition at line 173 of file test/ufo/GeoVaLs.h.

Here is the caller graph for this function:

◆ testGeoVaLsConstructor()

void ufo::test::testGeoVaLsConstructor ( )

Tests GeoVaLs(const Locations &, const Variables &, const std::vector<size_t> &) constructor. Tests that levels get correctly allocated, and that the GeoVaLs are zeroed out.

Setup GeoVaLs that are not filled in or allocated; test that they are not allocated

check that get method returns zeroes (initial values in GeoVaLs)

Definition at line 359 of file test/ufo/GeoVaLs.h.

Here is the caller graph for this function:

◆ testHasDtypeAndGet()

template<typename T >
void ufo::test::testHasDtypeAndGet ( const ufo::ObsFilterData data,
ioda::ObsSpace &  ospace,
const ufo::Variable var,
ioda::ObsDtype  expectedDtype,
const std::vector< T > &  expectedValues 
)

Definition at line 34 of file test/ufo/ObsFilterData.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testHasGroup()

void ufo::test::testHasGroup ( )

Definition at line 133 of file test/ufo/Variables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testHasGroupFor()

void ufo::test::testHasGroupFor ( const std::string &  funcName,
const eckit::LocalConfiguration &  funcConf,
const ufo::Variables initialVars 
)

Definition at line 124 of file test/ufo/Variables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testHistoryCheck()

void ufo::test::testHistoryCheck ( const eckit::LocalConfiguration &  conf)

Definition at line 29 of file test/ufo/HistoryCheck.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testInvarianceToLongitude()

void ufo::test::testInvarianceToLongitude ( const eckit::LocalConfiguration &  conf)

Definition at line 193 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testLocations()

void ufo::test::testLocations ( )

Tests Locations constructors and method size()

Definition at line 90 of file test/ufo/Locations.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testLonsLats()

void ufo::test::testLonsLats ( )

Tests Locations accessors lons() and lats()

Definition at line 109 of file test/ufo/Locations.h.

Here is the caller graph for this function:

◆ testMetOfficeBuddyCheck()

void ufo::test::testMetOfficeBuddyCheck ( const eckit::LocalConfiguration &  conf)

Definition at line 35 of file test/ufo/MetOfficeBuddyCheck.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testMetOfficeRadianceErrorMatrices()

void ufo::test::testMetOfficeRadianceErrorMatrices ( const eckit::LocalConfiguration &  conf)

Definition at line 32 of file MetOfficeRadianceErrorMatrices.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testMissingName()

void ufo::test::testMissingName ( )

Definition at line 126 of file Parameters.h.

Here is the caller graph for this function:

◆ testMisspelledProperty()

void ufo::test::testMisspelledProperty ( )

Definition at line 134 of file Parameters.h.

Here is the caller graph for this function:

◆ testNoChannels()

void ufo::test::testNoChannels ( )

Definition at line 101 of file Parameters.h.

Here is the caller graph for this function:

◆ testObsBiasCovarianceDetails()

void ufo::test::testObsBiasCovarianceDetails ( )

Definition at line 33 of file ObsBiasCovarianceDetails.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testObsBiasReadWrite()

void ufo::test::testObsBiasReadWrite ( )

Tests ObsBias::read and ObsBias::write methods.

Test that if we write and then read or initialize ObsBias the coefficients are correct for the read/initialized ObsBias.

Definition at line 34 of file test/ufo/ObsBias.h.

Here is the caller graph for this function:

◆ testObsDiagnostics()

void ufo::test::testObsDiagnostics ( )

Definition at line 44 of file test/ufo/ObsDiagnostics.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testObsErrorAssign()

void ufo::test::testObsErrorAssign ( const eckit::LocalConfiguration &  conf)

Definition at line 32 of file ObsErrorAssign.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testObsFilterData()

void ufo::test::testObsFilterData ( )

Setup ObsSpace

Setup GeoVaLs

Setup ObsDiags

Setup H(x)

Setup ObsErrors

Setup QCFlags

Setup ObsFilterData and test nlocs

Check that has(), get() and dtype() works on ObsSpace:

Check that has(), get() and dtype() work on integer variables in ObsSpace:

Check that has(), get() and dtype() work on string variables in ObsSpace:

Check that has(), get() and dtype() work on datetime variables in ObsSpace:

Check that associate(), has(), get() and dtype() work on ObsVector: H(x) not associated yet The important aspect of dtype handling here is it not being in ObsSpace so we needn't test for other containers.

H(x) associated now

Check that associate(), has(), get() and dtype() work on ObsDataVector<float>:

ObsErrorData associated now

Check that associate(), has(), get() and dtype() work on ObsDataVector<int>:

QCFlags associated now

Check that associate(), has() and get() work on GeoVaLs: GeoVaLs not associated yet

GeoVaLs associated now

nlevs == 1: 2D geovals, could be retrieved with get(var)

otherwise need get(var, level) to retrieve

Check that associate(), has() and get() work on ObsDiags: ObsDiags not associated yet

ObsDiags associated now

nlevs == 1: 2D obsdiags, could be retrieved with get(var)

otherwise need get(var, level) to retrieve

Definition at line 58 of file test/ufo/ObsFilterData.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testOperatorUtils()

void ufo::test::testOperatorUtils ( const eckit::LocalConfiguration &  conf)

Definition at line 58 of file test/ufo/OperatorUtils.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testPoissonDiskThinning()

void ufo::test::testPoissonDiskThinning ( const eckit::LocalConfiguration &  conf,
bool  expectValidationError = false 
)

Definition at line 44 of file ParallelPoissonDiskThinning.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testPredictor()

void ufo::test::testPredictor ( )

For each predictor for each variable compare computed predictor values to reference

Definition at line 39 of file Predictor.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testPrimitiveVariables()

void ufo::test::testPrimitiveVariables ( const eckit::LocalConfiguration &  conf)

Test a range-based for loop over the PrimitiveVariables range.

Definition at line 81 of file test/ufo/PrimitiveVariables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testPrimitiveVariablesIterator()

void ufo::test::testPrimitiveVariablesIterator ( const eckit::LocalConfiguration &  conf)

Test explicitly that the * and -> operator overloads in PrimitiveVariablesIterator work correctly.

Definition at line 117 of file test/ufo/PrimitiveVariables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testProcessWhere()

void ufo::test::testProcessWhere ( const eckit::LocalConfiguration &  conf,
bool  is_in_usererror = false 
)

Definition at line 43 of file test/ufo/processWhere.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testRejectedObservations()

void ufo::test::testRejectedObservations ( const eckit::LocalConfiguration &  conf)

Definition at line 150 of file test/ufo/TrackCheckShip.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testSearchRadius()

void ufo::test::testSearchRadius ( const eckit::LocalConfiguration &  conf)

Definition at line 292 of file test/ufo/MetOfficeBuddyPairFinder.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testSerializationWithChannels()

void ufo::test::testSerializationWithChannels ( )

Definition at line 141 of file Parameters.h.

Here is the caller graph for this function:

◆ testSerializationWithoutChannels()

void ufo::test::testSerializationWithoutChannels ( )

Definition at line 147 of file Parameters.h.

Here is the caller graph for this function:

◆ testSimpleString()

void ufo::test::testSimpleString ( )

Definition at line 90 of file Parameters.h.

Here is the caller graph for this function:

◆ testStuckCheck()

void ufo::test::testStuckCheck ( const eckit::LocalConfiguration &  conf)

Definition at line 32 of file test/ufo/StuckCheck.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testTemporalThinning()

void ufo::test::testTemporalThinning ( const eckit::LocalConfiguration &  conf)

Definition at line 32 of file test/ufo/TemporalThinning.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testTimeMask()

void ufo::test::testTimeMask ( )

Tests Locations::isInTimeWindow method.

Definition at line 140 of file test/ufo/Locations.h.

Here is the caller graph for this function:

◆ testTrackCheck()

void ufo::test::testTrackCheck ( const eckit::LocalConfiguration &  conf)

Definition at line 32 of file test/ufo/TrackCheck.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testTrackCheckShipInitialCalculations()

void ufo::test::testTrackCheckShipInitialCalculations ( const eckit::LocalConfiguration &  conf)

Definition at line 73 of file test/ufo/TrackCheckShip.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testVariable()

void ufo::test::testVariable ( )

Definition at line 31 of file test/ufo/Variables.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ expectComputeToThrow

const char* ufo::test::expectComputeToThrow = "expect compute to throw exception with message"

Definition at line 50 of file test/ufo/ObsFunction.h.

◆ expectConstructorToThrow

const char* ufo::test::expectConstructorToThrow = "expect constructor to throw exception with message"

Definition at line 51 of file test/ufo/ObsFunction.h.

◆ missing

float ufo::test::missing = util::missingValue(missing)

Definition at line 27 of file test/ufo/DataExtractor.h.

◆ validationSupported

const bool ufo::test::validationSupported = oops::Parameters::isValidationSupported()

Definition at line 28 of file Parameters.h.