IODA
ioda::test Namespace Reference

Classes

class  Distribution
 
class  DistributionMethods
 
class  ObsFrameConstructor
 
class  ObsFrameRead
 
class  ObsFrameWrite
 
class  ObsIoConstructor
 
class  ObsIoRead
 
class  ObsIoWrite
 
class  DescendingSort
 
class  ExtendedObsSpace
 
class  ObsDataVecTestFixture
 
class  ObsDataVector
 
class  MyParameters
 
class  ObsDtype
 
class  ObsSpaceTestFixture
 
class  ObsSpace
 
class  ObsSpaceIndexRecnum
 
class  ObsSpaceInvalidNumeric
 
class  ObsSpacePutDbChannels
 
class  ObsVecTestFixture
 
class  ObsVector
 

Functions

 CASE ("Derived variable and unit conversion methods")
 
 CASE ("Concatenation mapping file; error checks of unit conversion methods")
 
 CASE ("Input data name matches the export data name")
 
 CASE ("Vertical coordinate mapping file")
 
 CASE ("Non-empty inputs of equal element counts")
 
 CASE ("Empty inputs of equal element counts")
 
 CASE ("Unequal element counts")
 
 CASE ("One vector input")
 
 CASE ("Trailing spaces removed")
 
 CASE ("All space vectors")
 
 CASE ("input: empty")
 
 CASE ("input: ioda-v1 variable name")
 
 CASE ("input: ioda-v2 variable name")
 
 CASE ("input: variable name without group")
 
 CASE ("Convert variables")
 
 CASE ("Stitch variables, remove originals defaulted as true")
 
 CASE ("Stitch variables, remove originals set to false")
 
void testConstructor ()
 
void testDistribution (const eckit::Configuration &config, const eckit::Configuration &MyRankConfig, const ioda::Distribution *TestDist, const std::vector< std::size_t > &Index, const std::vector< std::size_t > &Recnums)
 
void testDistributionConstructedManually ()
 
void testDistributionConstructedByObsSpace ()
 
template<typename T >
void testAccumulateScalar (const Distribution &TestDist, const std::vector< size_t > &myRecords, size_t expectedSum)
 
template<typename T >
void testAccumulateVector (const Distribution &TestDist, const std::vector< size_t > &myRecords, size_t expectedSum)
 
template<typename T >
void testMaxScalar (const Distribution &TestDist, const std::vector< size_t > &myRecords, size_t expectedMax)
 
template<typename T >
void testMaxVector (const Distribution &TestDist, const std::vector< size_t > &myRecords, size_t expectedMax)
 
template<typename T >
void testMinScalar (const Distribution &TestDist, const std::vector< size_t > &myRecords, size_t expectedMin)
 
template<typename T >
void testMinVector (const Distribution &TestDist, const std::vector< size_t > &myRecords, size_t expectedMin)
 
void testDistributionMethods ()
 
void testFrameRead (ObsFrameRead &obsFrame, eckit::LocalConfiguration &obsConfig, ioda::ObsSpaceParameters &obsParams)
 
void testRead ()
 
ObsGroup buildTestObsGroup (const std::vector< eckit::LocalConfiguration > &dimConfigs, const std::vector< eckit::LocalConfiguration > &varConfigs)
 
void frameWrite (ObsFrameWrite &obsFrame, eckit::LocalConfiguration &testConfig, const Has_Variables &sourceVars, const VarNameObjectList &varList, const VarNameObjectList &dimVarList, const VarDimMap &varDimMap, const Dimensions_t maxVarSize)
 
void testWrite ()
 
void testDescendingSort (const eckit::LocalConfiguration &conf)
 
void testExtendedObsSpace (const eckit::LocalConfiguration &conf)
 
std::string trim (const std::string &str)
 
template<typename T >
void testPrint (const std::string &datatype)
 
 CASE ("ioda/ObsDataVector/printFloat")
 
 CASE ("ioda/ObsDataVector/printDouble")
 
 CASE ("ioda/ObsDataVector/printInt")
 
 CASE ("ioda/ObsDataVector/printString")
 
 CASE ("ioda/ObsDataVector/printDateTime")
 
 CASE ("ioda/ObsDataVector/closeObsSpace")
 
 CASE ("ioda/ObsDtype")
 
void testGetDb ()
 
void testPutDb ()
 
void testWriteableGroup ()
 
void testMultiDimTransfer ()
 
void testCleanup ()
 
void testIndexRecnum ()
 
void testInvalidNumeric ()
 
 CASE ("ioda/ObsSpace/testPutDb")
 
void testCopyConstructor ()
 
void testNotZero ()
 
void testSave ()
 
void testAxpy ()
 tests ObsVector::axpy methods More...
 
void testDotProduct ()
 tests ObsVector::dot_product methods More...
 
void testDistributedMath ()
 

Variables

const int locations = 40
 
const int channels = 30
 

Function Documentation

◆ buildTestObsGroup()

ObsGroup ioda::test::buildTestObsGroup ( const std::vector< eckit::LocalConfiguration > &  dimConfigs,
const std::vector< eckit::LocalConfiguration > &  varConfigs 
)

Definition at line 48 of file test/io/ObsFrameWrite.h.

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

◆ CASE() [1/25]

ioda::test::CASE ( "All space vectors"  )

Definition at line 77 of file test-concatstringvecs.cpp.

Here is the call graph for this function:

◆ CASE() [2/25]

ioda::test::CASE ( "Concatenation mapping file; error checks of unit conversion methods"  )

Definition at line 26 of file test-layoutodb.cpp.

Here is the call graph for this function:

◆ CASE() [3/25]

ioda::test::CASE ( "Convert variables"  )

Definition at line 28 of file test_convertvariableunits.cpp.

Here is the call graph for this function:

◆ CASE() [4/25]

ioda::test::CASE ( "Derived variable and unit conversion methods"  )

Definition at line 25 of file test-layoutobsgroup.cpp.

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

◆ CASE() [5/25]

ioda::test::CASE ( "Empty inputs of equal element counts"  )

Definition at line 33 of file test-concatstringvecs.cpp.

Here is the call graph for this function:

◆ CASE() [6/25]

ioda::test::CASE ( "Input data name matches the export data name"  )

Definition at line 68 of file test-layoutodb.cpp.

◆ CASE() [7/25]

ioda::test::CASE ( "input: empty"  )

Definition at line 21 of file test-convertv1pathtov2path.cpp.

Here is the call graph for this function:

◆ CASE() [8/25]

ioda::test::CASE ( "input: ioda-v1 variable name"  )

Definition at line 27 of file test-convertv1pathtov2path.cpp.

Here is the call graph for this function:

◆ CASE() [9/25]

ioda::test::CASE ( "input: ioda-v2 variable name"  )

Definition at line 33 of file test-convertv1pathtov2path.cpp.

Here is the call graph for this function:

◆ CASE() [10/25]

ioda::test::CASE ( "input: variable name without group"  )

Definition at line 40 of file test-convertv1pathtov2path.cpp.

Here is the call graph for this function:

◆ CASE() [11/25]

ioda::test::CASE ( "ioda/ObsDataVector/closeObsSpace"  )

Definition at line 101 of file test/ioda/ObsDataVector.h.

Here is the call graph for this function:

◆ CASE() [12/25]

ioda::test::CASE ( "ioda/ObsDataVector/printDateTime"  )

Definition at line 97 of file test/ioda/ObsDataVector.h.

◆ CASE() [13/25]

ioda::test::CASE ( "ioda/ObsDataVector/printDouble"  )

Definition at line 85 of file test/ioda/ObsDataVector.h.

◆ CASE() [14/25]

ioda::test::CASE ( "ioda/ObsDataVector/printFloat"  )

Definition at line 81 of file test/ioda/ObsDataVector.h.

◆ CASE() [15/25]

ioda::test::CASE ( "ioda/ObsDataVector/printInt"  )

Definition at line 89 of file test/ioda/ObsDataVector.h.

◆ CASE() [16/25]

ioda::test::CASE ( "ioda/ObsDataVector/printString"  )

Definition at line 93 of file test/ioda/ObsDataVector.h.

◆ CASE() [17/25]

ioda::test::CASE ( "ioda/ObsDtype )

Definition at line 38 of file ObsDtype.h.

◆ CASE() [18/25]

ioda::test::CASE ( "ioda/ObsSpace/testPutDb )

Definition at line 31 of file ObsSpacePutDbChannels.h.

Here is the call graph for this function:

◆ CASE() [19/25]

ioda::test::CASE ( "Non-empty inputs of equal element counts"  )

Definition at line 20 of file test-concatstringvecs.cpp.

Here is the call graph for this function:

◆ CASE() [20/25]

ioda::test::CASE ( "One vector input"  )

Definition at line 56 of file test-concatstringvecs.cpp.

Here is the call graph for this function:

◆ CASE() [21/25]

ioda::test::CASE ( "Stitch  variables,
remove originals defaulted as true"   
)

Definition at line 26 of file test_stitchcomplementaryvariables.cpp.

Here is the call graph for this function:

◆ CASE() [22/25]

ioda::test::CASE ( "Stitch  variables,
remove originals set to false"   
)

Definition at line 88 of file test_stitchcomplementaryvariables.cpp.

Here is the call graph for this function:

◆ CASE() [23/25]

ioda::test::CASE ( "Trailing spaces removed"  )

Definition at line 64 of file test-concatstringvecs.cpp.

Here is the call graph for this function:

◆ CASE() [24/25]

ioda::test::CASE ( "Unequal element counts"  )

Definition at line 46 of file test-concatstringvecs.cpp.

Here is the call graph for this function:

◆ CASE() [25/25]

ioda::test::CASE ( "Vertical coordinate mapping file"  )

Definition at line 74 of file test-layoutodb.cpp.

◆ frameWrite()

void ioda::test::frameWrite ( ObsFrameWrite obsFrame,
eckit::LocalConfiguration &  testConfig,
const Has_Variables sourceVars,
const VarNameObjectList varList,
const VarNameObjectList dimVarList,
const VarDimMap varDimMap,
const Dimensions_t  maxVarSize 
)

Definition at line 114 of file test/io/ObsFrameWrite.h.

Here is the caller graph for this function:

◆ testAccumulateScalar()

template<typename T >
void ioda::test::testAccumulateScalar ( const Distribution TestDist,
const std::vector< size_t > &  myRecords,
size_t  expectedSum 
)

Definition at line 38 of file DistributionMethods.h.

◆ testAccumulateVector()

template<typename T >
void ioda::test::testAccumulateVector ( const Distribution TestDist,
const std::vector< size_t > &  myRecords,
size_t  expectedSum 
)

Definition at line 48 of file DistributionMethods.h.

◆ testAxpy()

void ioda::test::testAxpy ( )

tests ObsVector::axpy methods

Tests the following for a random vector vec1:

  1. Calling ObsVector::axpy with a single number (2.0) returns the same result as calling it with a vector of 2.0
  2. Calling ObsVector::axpy with vectors of coefficients that differ across variables gives reasonable result. axpy is called twice, the coefficients between the two different calls add to 2.0.

Definition at line 208 of file test/ioda/ObsVector.h.

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

◆ testCleanup()

void ioda::test::testCleanup ( )

Definition at line 432 of file test/ioda/ObsSpace.h.

Here is the caller graph for this function:

◆ testConstructor()

void ioda::test::testConstructor ( )

Definition at line 56 of file test/distribution/Distribution.h.

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

◆ testCopyConstructor()

void ioda::test::testCopyConstructor ( )

Definition at line 100 of file test/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ testDescendingSort()

void ioda::test::testDescendingSort ( const eckit::LocalConfiguration &  conf)

Definition at line 31 of file DescendingSort.h.

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

◆ testDistributedMath()

void ioda::test::testDistributedMath ( )

Definition at line 279 of file test/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ testDistribution()

void ioda::test::testDistribution ( const eckit::Configuration &  config,
const eckit::Configuration &  MyRankConfig,
const ioda::Distribution TestDist,
const std::vector< std::size_t > &  Index,
const std::vector< std::size_t > &  Recnums 
)

Definition at line 84 of file test/distribution/Distribution.h.

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

◆ testDistributionConstructedByObsSpace()

void ioda::test::testDistributionConstructedByObsSpace ( )

Definition at line 288 of file test/distribution/Distribution.h.

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

◆ testDistributionConstructedManually()

void ioda::test::testDistributionConstructedManually ( )

Definition at line 214 of file test/distribution/Distribution.h.

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

◆ testDistributionMethods()

void ioda::test::testDistributionMethods ( )

Definition at line 146 of file DistributionMethods.h.

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

◆ testDotProduct()

void ioda::test::testDotProduct ( )

tests ObsVector::dot_product methods

Tests the following for a random vector vec1:

  1. Calling ObsVector::dot_product and calling ObsVector::multivar_dot_product are consistent.

Definition at line 250 of file test/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ testExtendedObsSpace()

void ioda::test::testExtendedObsSpace ( const eckit::LocalConfiguration &  conf)

Definition at line 33 of file ExtendedObsSpace.h.

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

◆ testFrameRead()

void ioda::test::testFrameRead ( ObsFrameRead obsFrame,
eckit::LocalConfiguration &  obsConfig,
ioda::ObsSpaceParameters obsParams 
)

Definition at line 47 of file test/io/ObsFrameRead.h.

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

◆ testGetDb()

void ioda::test::testGetDb ( )

Definition at line 180 of file test/ioda/ObsSpace.h.

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

◆ testIndexRecnum()

void ioda::test::testIndexRecnum ( )

Definition at line 141 of file ObsSpaceIndexRecnum.h.

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

◆ testInvalidNumeric()

void ioda::test::testInvalidNumeric ( )

Definition at line 78 of file ObsSpaceInvalidNumeric.h.

Here is the caller graph for this function:

◆ testMaxScalar()

template<typename T >
void ioda::test::testMaxScalar ( const Distribution TestDist,
const std::vector< size_t > &  myRecords,
size_t  expectedMax 
)

Definition at line 83 of file DistributionMethods.h.

◆ testMaxVector()

template<typename T >
void ioda::test::testMaxVector ( const Distribution TestDist,
const std::vector< size_t > &  myRecords,
size_t  expectedMax 
)

Definition at line 97 of file DistributionMethods.h.

◆ testMinScalar()

template<typename T >
void ioda::test::testMinScalar ( const Distribution TestDist,
const std::vector< size_t > &  myRecords,
size_t  expectedMin 
)

Definition at line 115 of file DistributionMethods.h.

◆ testMinVector()

template<typename T >
void ioda::test::testMinVector ( const Distribution TestDist,
const std::vector< size_t > &  myRecords,
size_t  expectedMin 
)

Definition at line 129 of file DistributionMethods.h.

◆ testMultiDimTransfer()

void ioda::test::testMultiDimTransfer ( )

Definition at line 345 of file test/ioda/ObsSpace.h.

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

◆ testNotZero()

void ioda::test::testNotZero ( )

Definition at line 119 of file test/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ testPrint()

template<typename T >
void ioda::test::testPrint ( const std::string &  datatype)

Definition at line 65 of file test/ioda/ObsDataVector.h.

Here is the call graph for this function:

◆ testPutDb()

void ioda::test::testPutDb ( )

Definition at line 260 of file test/ioda/ObsSpace.h.

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

◆ testRead()

void ioda::test::testRead ( )

Definition at line 105 of file test/io/ObsFrameRead.h.

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

◆ testSave()

void ioda::test::testSave ( )

Definition at line 168 of file test/ioda/ObsVector.h.

Here is the caller graph for this function:

◆ testWrite()

void ioda::test::testWrite ( )

Definition at line 172 of file test/io/ObsFrameWrite.h.

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

◆ testWriteableGroup()

void ioda::test::testWriteableGroup ( )

Definition at line 296 of file test/ioda/ObsSpace.h.

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

◆ trim()

std::string ioda::test::trim ( const std::string &  str)

Definition at line 55 of file test/ioda/ObsDataVector.h.

Here is the caller graph for this function:

Variable Documentation

◆ channels

const int ioda::test::channels = 30

Definition at line 27 of file test_convertvariableunits.cpp.

◆ locations

const int ioda::test::locations = 40

Definition at line 26 of file test_convertvariableunits.cpp.