forward operator test README¶
Overview¶
The developer_tests/forward_operators
directory contains the testing
framework for three kinds of tests:
rttov_test.f90 which tests basic functionality of the RTTOV radiance forward operators for AMSUA and AIRS observations (MW and IR, respectively)
create a dummy rttov_sensor_db_file to read
check the IR instrument ID
check the MW instrument ID
exercise the IR (direct) forward operator
exercise the MW (scatt) forward operator
rttov_unit_tests.f90 performs a host of unit tests.
If run with a TERMLEVEL of 3, all tests will be completed even if previous tests are not successful.
make_COS_input and make_assim_list creates input for create_obs_sequence (COS) and the appropriate namelist settings to test the forward operator code.
Different sets of observations are grouped into separate files based on certain criteria - are they atmospheric observations, oceanic … do they require special metadata, etc. The following files are intended to be supplied as input to make_COS_input and will result in a text file that will generate an observation sequence file when used as input to create_obs_sequence.
all_atm_obs_types
all_commoncode_atm_obs_types
all_f90s
all_fwdop_atm_obs_types
all_obs_types
forward_op_code
no_special_forward_op_code
See the make_COS_input section for more detail.
rttov_test.f90¶
This test requires several coefficient files that are not part of the default set provided by the RTTOV 12.3 distribution. Specifically:
rtcoef_eos_2_amsua.dat
rtcoef_eos_2_airs.H5
mietable_eos_amsua.dat (same file as mietable_noaa_amsua.dat)
These coefficient files may be downloaded by using the rtcoef_rttov12/rttov_coef_download.sh script provided in the RTTOV distribution.
rttov_unit_tests.f90¶
These unit tests are best run with a TERMLEVEL of 3, which allows DART to continue past errors that would otherwise be fatal. If any of the unit tests are unable to start, the error code from rttov_unit_tests is 102. This is to give an error for test_dart.csh to detect.
Test |
Pass |
Fail |
metadata growth |
metadata arrays grow correctly as observations are added |
incorrect metadata length |
metadata content |
metadata arrays contain correct data |
incorrect data |
make_COS_input¶
make_COS_input takes one filename as an argument and creates a text file that can be used as input for create_obs_sequence. The output text file has a name based on the input filename. For example:
<prompt> ./make_COS_input forward_op_code
ready to run create_obs_sequence < forward_op_code_COS.in
create_obs_sequence must be created with the preprocess_nml settings to support the observation definitions required by the input file.
make_assim_list¶
make_assim_list is a follow-on step to make_COS_input and simply creates the text for the input.nml:filter_nml:assimilate_these_obs variable.
<prompt> forward_operators > ./make_assim_list forward_op_code
created forward_op_code_obskind.nml
add this section to your &obs_kind_nml in input.nml
<prompt> head -n 10 forward_op_code_obskind.nml
assimilate_these_obs_types =
'ACARS_DEWPOINT,',
'ACARS_RELATIVE_HUMIDITY,',
'AIRCRAFT_DEWPOINT,',
'AIRCRAFT_RELATIVE_HUMIDITY,',
'AIREP_DEWPOINT,',
'AIRS_DEWPOINT,',
'AIRS_RELATIVE_HUMIDITY,',
'AMDAR_DEWPOINT,',
'AMSR_TOTAL_PRECIPITABLE_WATER,',
Terms of Use¶
© University Corporation for Atmospheric Research
Licensed under the Apache License, Version 2.0. Unless required by applicable law or agreed to in writing, software distributed under this license is distributed on an “as is” basis, without warranties or conditions of any kind, either express or implied.