[Dart-dev] [7156] DART/trunk/models/lorenz_96/tests: simple obs_sequence_tool tests for L96 ; this test
nancy at ucar.edu
nancy at ucar.edu
Thu Aug 28 15:49:27 MDT 2014
Revision: 7156
Author: nancy
Date: 2014-08-28 15:49:27 -0600 (Thu, 28 Aug 2014)
Log Message:
-----------
simple obs_sequence_tool tests for L96 ; this test
dir should be moved to the obs_sequence directory.
update to be consistent with the current obs_sequence_tool
(which hasn't been named 'merge_obs_sequence' in years).
Modified Paths:
--------------
DART/trunk/models/lorenz_96/tests/README
DART/trunk/models/lorenz_96/tests/test_merge.ksh
-------------- next part --------------
Modified: DART/trunk/models/lorenz_96/tests/README
===================================================================
--- DART/trunk/models/lorenz_96/tests/README 2014-08-27 22:12:25 UTC (rev 7155)
+++ DART/trunk/models/lorenz_96/tests/README 2014-08-28 21:49:27 UTC (rev 7156)
@@ -5,7 +5,7 @@
# $Id$
The test_merge.ksh script is a self-contained script
-that constructs input.nml files and runs merge_obs_seq.
+that constructs input.nml files and runs obs_sequence_tool.
It prints out the test number and output from the run
into a log file, and if the output sequence file is short,
@@ -21,3 +21,11 @@
nancy
12.feb.2008
+
+
+the 'merge_obs_seq' tool is long gone, but these are
+still useful tests for the more capable 'obs_sequence_tool'.
+update the namelist names and executable names in the script.
+
+nancy
+28.aug.2014
Modified: DART/trunk/models/lorenz_96/tests/test_merge.ksh
===================================================================
--- DART/trunk/models/lorenz_96/tests/test_merge.ksh 2014-08-27 22:12:25 UTC (rev 7155)
+++ DART/trunk/models/lorenz_96/tests/test_merge.ksh 2014-08-28 21:49:27 UTC (rev 7156)
@@ -11,17 +11,17 @@
# set up constant part at beginning
cat > input.nml.head <<EOF
&obs_sequence_nml
- write_binary_obs_sequence = .false. /
+ write_binary_obs_sequence = .false.
+ /
&obs_kind_nml
- assimilate_these_obs_types = 'RAW_STATE_VARIABLE' /
+ /
&utilities_nml
TERMLEVEL = 1,
module_details = .false.,
- logfilename = 'dart_log.out' /
+ /
-
EOF
# we will concatinate onto the end of this file
@@ -38,20 +38,22 @@
cat input.nml.head input.fragment > input.nml
echo "" >> test_merge.log
echo "-------------------------" >> test_merge.log
- echo "-------------------------" >> test_merge.log
- echo " test $1 " >> test_merge.log
- echo "-------------------------" >> test_merge.log
+ echo " test $1 ; expect $2" >> test_merge.log
echo "" >> test_merge.log
cat input.fragment >> test_merge.log
echo "" >> test_merge.log
- echo "-------------------------" >> test_merge.log
rm -f obs_seq.merged
- ./merge_obs_seq 2>&1 >> test_merge.log
- echo "-------------------------" >> test_merge.log
+ ./obs_sequence_tool 2>&1 >> test_merge.log
if [[ -f obs_seq.merged ]]; then
- cat obs_seq.merged >> test_merge.log
+ if [[ $2 == 'fails' ]]; then
+ echo TESTERROR: test succeeded when it should have failed >> test_merge.log
+ fi
+ #cat obs_seq.merged >> test_merge.log
else
- echo obs_seq.merged not found >> test_merge.log
+ if [[ $2 == 'works' ]]; then
+ echo TESTERROR: test failed when it should have worked >> test_merge.log
+ fi
+ #echo obs_seq.merged not found >> test_merge.log
fi
}
@@ -61,37 +63,35 @@
cat input.nml.head input.fragment > input.nml
echo "" >> test_merge.log
echo "-------------------------" >> test_merge.log
- echo "-------------------------" >> test_merge.log
- echo " test $1 " >> test_merge.log
- echo "-------------------------" >> test_merge.log
+ echo " test $1 ; expect $2" >> test_merge.log
echo "" >> test_merge.log
cat input.fragment >> test_merge.log
echo "" >> test_merge.log
- echo "-------------------------" >> test_merge.log
rm -f obs_seq.merged
- ./merge_obs_seq 2>&1 >> test_merge.log
- echo "-------------------------" >> test_merge.log
+ ./obs_sequence_tool 2>&1 >> test_merge.log
if [[ -f obs_seq.merged ]]; then
- head -30 obs_seq.merged >> test_merge.log
- echo '-------------------------' >> test_merge.log
- tail -30 obs_seq.merged >> test_merge.log
- echo '-------------------------' >> test_merge.log
+ if [[ $2 == 'fails' ]]; then
+ echo ERROR: test succeeded when it should have failed >> test_merge.log
+ fi
+ #head -30 obs_seq.merged >> test_merge.log
+ #echo '-------------------------' >> test_merge.log
+ #tail -30 obs_seq.merged >> test_merge.log
+ #echo '-------------------------' >> test_merge.log
else
- echo obs_seq.merged not found >> test_merge.log
+ if [[ $2 == 'works' ]]; then
+ echo ERROR: test failed when it should have worked >> test_merge.log
+ fi
+ #echo obs_seq.merged not found >> test_merge.log
fi
}
###############################
cat - > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.A',
filename_out = 'obs_seq.merged',
- first_obs_days = -1,
- first_obs_seconds = -1,
- last_obs_days = -1,
- last_obs_seconds = -1,
+ gregorian_cal = .false.
/
EOF
@@ -100,10 +100,10 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.A',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
@@ -112,14 +112,10 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 1,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A',
filename_out = 'obs_seq.merged',
- first_obs_days = -1,
- first_obs_seconds = -1,
- last_obs_days = -1,
- last_obs_seconds = -1,
+ gregorian_cal = .false.
/
EOF
@@ -128,78 +124,78 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.B',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
-shortone should_fail fails
+shortone should_fail1 fails
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.C',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
-shortone should_fail fails
+shortone should_fail2 fails
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.D',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
-shortone should_fail fails
+shortone should_fail3 fails
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.E',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
-shortone should_fail fails
+shortone should_work1 works
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.F',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
-shortone should_fail fails
+shortone should_fail5 fails
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 2,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.A', 'obs_seq.G',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
-shortone should_work works
+shortone should_work2 works
###############################
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
/
EOF
@@ -207,14 +203,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 0,
last_obs_days = 0,
last_obs_seconds = 4000,
+ gregorian_cal = .false.
/
EOF
@@ -222,14 +218,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 7000,
last_obs_days = 0,
last_obs_seconds = 11000,
+ gregorian_cal = .false.
/
EOF
@@ -237,14 +233,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 20000,
last_obs_days = 0,
last_obs_seconds = 25000,
+ gregorian_cal = .false.
/
EOF
@@ -253,14 +249,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 15000,
last_obs_days = 0,
last_obs_seconds = 16000,
+ gregorian_cal = .false.
/
EOF
@@ -268,14 +264,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 0,
last_obs_days = 0,
last_obs_seconds = 2000,
+ gregorian_cal = .false.
/
EOF
@@ -283,14 +279,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 3,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.L', 'obs_seq.M', 'obs_seq.N',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 25000,
last_obs_days = 0,
last_obs_seconds = 28000,
+ gregorian_cal = .false.
/
EOF
@@ -299,14 +295,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 4,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.O', 'obs_seq.P', 'obs_seq.Q', 'obs_seq.R',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 0,
last_obs_days = 0,
last_obs_seconds = 10000,
+ gregorian_cal = .false.
/
EOF
@@ -315,14 +311,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 4,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.O', 'obs_seq.P', 'obs_seq.Q', 'obs_seq.R',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 13000,
last_obs_days = 0,
last_obs_seconds = 25000,
+ gregorian_cal = .false.
/
EOF
@@ -331,14 +327,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 4,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.O', 'obs_seq.P', 'obs_seq.Q', 'obs_seq.R',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 4000,
last_obs_days = 0,
last_obs_seconds = 7000,
+ gregorian_cal = .false.
/
EOF
@@ -346,14 +342,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 4,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.O', 'obs_seq.P', 'obs_seq.Q', 'obs_seq.R',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 7200,
last_obs_days = 0,
last_obs_seconds = 9000,
+ gregorian_cal = .false.
/
EOF
@@ -361,14 +357,14 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 4,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.O', 'obs_seq.P', 'obs_seq.Q', 'obs_seq.R',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 10000,
last_obs_days = 0,
last_obs_seconds = 11000,
+ gregorian_cal = .false.
/
EOF
@@ -377,19 +373,34 @@
###############################
cat > input.fragment <<EOF
-&merge_obs_seq_nml
- num_input_files = 4,
+&obs_sequence_tool_nml
filename_seq = 'obs_seq.O', 'obs_seq.P', 'obs_seq.Q', 'obs_seq.R',
filename_out = 'obs_seq.merged',
first_obs_days = 0,
first_obs_seconds = 10000,
last_obs_days = 0,
last_obs_seconds = 18000,
+ gregorian_cal = .false.
/
EOF
longone case_10 works
+###############################
+rm -f flist
+echo obs_seq.O obs_seq.P obs_seq.Q obs_seq.R | xargs -n 1 echo >> flist
+cat > input.fragment <<EOF
+&obs_sequence_tool_nml
+ filename_seq = ''
+ filename_seq_list = 'flist'
+ filename_out = 'obs_seq.merged',
+ gregorian_cal = .false.
+ /
+EOF
+
+longone case_11 works
+
+echo check output in log file: test_merge.log
exit 0
# <next few lines under version control, do not edit>
More information about the Dart-dev
mailing list