2.3. Testing the Land DA Workflow
This chapter provides instructions for using the Land DA CTest suite. These steps are designed for use on Level 1 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 Section 2.1 and has access to the data provided in the most recent release. (See Table 2.1 for the locations of pre-staged data on NOAA RDHPCS.)
2.3.1. Test Descriptions
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 |
|---|---|
|
Tests creation of a pseudo-ensemble for use in LETKF-OI. |
|
Tests the use of LETKF-OI to assimilate snow data. |
|
Tests the ability to add a JEDI increment. |
|
Tests proper functioning of the UFS land model ( |
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.
2.3.2. Testing on Level 1 Systems
After cloning the develop branch and running ./app_build.sh to build the Land DA System (Section 2.1.2), navigate to the test directory:
cd ${BASEDIR}/land-DA_workflow/sorc/test
If 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.sh
Save changes and exit by typing :wq.
Then, run the CTest script:
./run_ctest_platform.sh
To check the results, navigate to the build directory and view the out.ctest file:
cd ../build
vim out.ctest
The 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 sec
If 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.