This chapter provides instructions for using the Land DA CTest suite. These steps are designed for use on :ref:`Level 1 <LevelsOfSupport>` systems (e.g., Ursa and Hercules) and may require significant changes on other systems. They cannot be run via container at this time.
Attention!
This chapter assumes that the user has already built the Land DA System according to the instructions in :numref:`Section %s <BuildRunLandDA>` and has access to the data provided in the most recent release. (See :numref:`Table %s <Level1Data>` for the locations of pre-staged data on NOAA :term:`RDHPCS`.)
The CTests test the operability of four major elements of the Land DA System: create_ens, letkfoi_snowda, apply_jediincr, and ufs_datm_land. The tests and their dependencies are listed in the land-DA_workflow/test/CMakeLists.txt file.
| Test | Description |
|---|---|
test_create_ens |
Tests creation of a pseudo-ensemble for use in :term:`LETKF-OI`. |
test_letkfoi_snowda |
Tests the use of LETKF-OI to assimilate snow data. |
test_apply_jediincr |
Tests the ability to add a JEDI increment. |
test_ufs_datm_land |
Tests proper functioning of the UFS land model (ufs-datm-lnd) |
Note
There are plans to add workflow end-to-end (WE2E) tests to the Land DA System. Currently, when WE2E_TEST: "YES", this functionality checks that the output from the Jan. 3-4, 2000 sample case is within the tolerance set (via the WE2E_ATOL variable) at the end of the three main tasks --- analysis, forecast, and post_anal. The results are logged by default in we2e.log. In the future, this functionality will be expanded to encompass a full range of WE2E tests.
After cloning the develop branch and running ./app_build.sh to build the Land DA System (:numref:`Section %s <GetCode>`), navigate to the test directory:
cd ${BASEDIR}/land-DA_workflow/sorc/testIf necessary, open run_<machine>_ctest.sh (where <machine> is ursa, orion, hercules, or gaeac6) and change both instances of the --account variable to the name of an account you can run on. The default is --account=epic.
vim run_<machine>_ctest.shSave changes and exit by typing :wq.
Then, run the CTest script:
./run_ctest_platform.shTo check the results, navigate to the build directory and view the out.ctest file:
cd ../build
vim out.ctestThe bottom of the out.ctest file will include a message with test results. For example:
Test project ${BASEDIR}/land-DA_workflow/sorc/build
Start 1: test_create_ens
1/4 Test #1: test_create_ens .................. Passed 14.57 sec
Start 2: test_letkfoi_snowda
2/4 Test #2: test_letkfoi_snowda .............. Passed 19.27 sec
Start 3: test_apply_jediincr
3/4 Test #3: test_apply_jediincr .............. Passed 1.47 sec
Start 4: test_ufs_datm_land
4/4 Test #4: test_ufs_datm_land ............... Passed 31.55 sec
100% tests passed, 0 tests failed out of 4
Total Test time (real) = 66.90 secIf one or more tests fail, users can check the logs at ${BASEDIR}/land-DA_workflow/sorc/build/Testing/Temporary/LastTest.log for more information on the failure.