Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

add hofx_nomodel test #32

Merged
merged 2 commits into from
Dec 5, 2020
Merged

add hofx_nomodel test #32

merged 2 commits into from
Dec 5, 2020

Conversation

travissluka
Copy link
Member

@travissluka travissluka commented Dec 5, 2020

This PR adds the test for the hofx_nomodel application, our first real working application! This application simply interpolates the background to the observation locations. Since these tests are not unit tests like we have been using so far, the way they works is:

  1. The hofx_nomodel.x executable is run, using testinput/hofx_nomodel.yml input configuration, and the output log is saved to testoutput/hofx_nomodel.log
  2. that output log is parsed for lines that start with Test : and they are compared to a set of reference answers we provide at testref/hofx_nomodel.ref. Because answers might be slightly different on different machine, there is a tolerance allowed in the comparison script (default is 1e-12 for floats and 0 for ints, but these can be increased in test/CMakeLists.txt if ever needed).

umdsst_exe_test() helper function added to test/CMakeLists.txt, and test_ wrapper.sh file used... taken pretty much as is from the SOCA project

@loganchen39 for future reference as you're implementing the other applications, the easiest way to generate the .ref file is to enable the test, run it (it will fail at this point) and pull the reference lines out with grep "Test " testoutput/hofx_nomodel.log > testref/hofx_nomodel.ref

closes #19

Test : Initial state: min = 271.36, max = 304.956, mean = 286.307
Test : Final state: min = 271.36, max = 304.956, mean = 286.307
Test : H(x):
Test : SST nobs= 174 Min=-3.33477e+38, Max=302.17, RMS=1.33477e+38
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll notice that the observation operator is producing bad values (-3.33477e+38) because there are apparently observations near/on land. This will get fixed once masking is added to the interpolation.

Copy link
Collaborator

@loganchen39 loganchen39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.

@loganchen39 loganchen39 merged commit c6f5943 into develop Dec 5, 2020
@loganchen39 loganchen39 deleted the feature/add_hofx_test branch December 5, 2020 14:20
loganchen39 added a commit that referenced this pull request May 21, 2021
* remove Model class, no longer needed (#1)

* remove makeobs (#2)

* remove makeobs.x, no longer needed

* remove Model class, no longer needed (#1)

* Implement Geometry class (#3)

* ctest passed for Geometry class

* Modified test CMakeLists.txt

* Travis's suggested changes completed by Ligang

* Travis's suggested changes completed by Ligang

* add dummy serializeable interfaces (#5)

* add serializable interfaces to State (#8)

* replace boost::shared_ptr with std::shared_ptr (#9)

* change jcsda repo locations (#10)

* Implement state class (#11)

* Temporary implememting class State for Travis to check.

* Updated State.cc

* Updating class State

* Updating class State.

* Updating class State.

* Updating class State.

* Finished class State, passed all test.

* Passed all test for class State.

* fix binary path

Co-authored-by: Travis Sluka <travissluka@gmail.com>

* Finished class Increment.  (#17)

* Finished class Increment.

* Finished class increment.

* Updated increment.yml for class increment.

* Updated for class Increment.

* add test observations (#22)

Merged.

* Changed float to double for JEDI, read/write netCDF with float for consistency. (#24)

* Create Fields base class for Increment/State (#25)

* add MPI support (#26)

* add missing ModelAux stubs (#27)

* Feature/rename (#28)

* rename to umdsst

* switch to public jedi repo locations

* fix travisci

* Implement GetValues (#29)

* start GetValues

* add level(1) to fields

* getvalues working?

* Merge class LinearGetValues (#31)

* Implemented class LinearGetValues, passed all tests.

* minor change of a comment.

* add hofx_nomodel test (#32)

* add hofx_nomodel test

* remove use of external OOPS_TRAPFPE env var, deal with that later

* Finished bugfix/ConertToCelsius. (#41)

* Finished feature class Covariance. (#42)

* fix print in getvalues/lineargetvalues (#45)

* Finished Feature/dirac.x (#43)

* Implementing dirac.x.

* Finished feature dirac.x.

* Finishing feature/dirac.x.

Co-authored-by: Travis Sluka <travissluka@gmail.com>

* Fixed conversion between Celsius and Kelvin. (#46)

* Fixed conversion between Celsius and Kelvin.

* Finished bugfix/C_K_conversion.

* update for ufo::locations change (#47)

* Finished Feature/staticbinit.x (#48)

* Implementing staticbinit.x

* Finished feature/staticbinit.x

* Finished feature/staticbinit.x 2nd Time.

* keep up with JEDI (#49)

* Finished Feature/var.x (#50)

* Implementing feature/var.x.

* Implementing feature/var.x.

* Implementing var.x

* Finished feature/var.x.

* Finished feature/var.x.

* Feature/add mask field (#51)

* added landmask.nc

* Finished feature/addMaskField.

* Finished feature/addMaskField.

* Finished feature/addMaskField.

* Remove hardcoded 180 and 360.

* Finished feature/useLandmask. (#55)

* Finished feature/useLandmask.

* Finished feature/useLandmask.

* Finished feature/useLandmask.

* add eckit::Configuration to LinearGetValues constructor (#59)

* Add support for horizontally varying correlation lengths (#58)

* clean old bump files on test run

* manually specify correlation lengths

* fix coding norms

* fix dependencies of errorcovariance test

* add StdDev variable change (#60)

* feature/addQC finished (#62)

* Finished AddQC, Solved problems with passing vector of pointers of FieldImpl from C to Fortran.

* Finishing feature/addQC.

* Feature/better landmask (#63)

* Test improved landmask.

* Finished feature/betterLandmask.

* Finished feature/betterLandmask.

* update for oops hofx3d (#64)

* Misc updates (#65)

* convert corr length from gaussian to GC

* add "default" var change

* update reference answers

* fix docker on travisci (#66)

* remove GeneralizedDepartures (#67)

Approved.

* Bugfix/grid issues (#68)

* invert lat on netcdf I/O

* landmask is explicitly applied to background

* flood  the test background file

* fix landmask/grid in yamls

* update reference answers

* add cycling script (#69)

* Create Model2GeoVaLs class (#70)

* fields working for any number of fields

* implement Model2GeoVaLs

* remove ggmask from Geometry

* cleanup

* Rossby radius based horizontal correlation lengths (#73)

* rossby radius based corr loc, using dummy RR values

* kd interpolation in geometry

* using rossby radius in covariance

* fix tests and coding norms

* document interptogeom

* add .dat to lfs

* fix compile error

* support for modules with new ecbuild (#76)

* support for module with new ecbuild

* use public atlas/fckit

* Feature/experiment - Added some initial background of 0.25x0.25 grid. (#77)

* Added some 0.25x0.25 files.

* Added new initial background for 20120101.

* Updated for some initial background of 0.25x025 grid.

* Updated initial background of 0.25x0.25 grid.

* Updated yml files with correct renamed file names.

* Updated to have correct file names.

* update most recent stable repo tags

Co-authored-by: Logan (Ligang) Chen <ligang.chen@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement the hofx_nomodel.x application
2 participants