[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