3 #***********************************************************************
4 #* GNU Lesser General Public License
6 #* This file is part of the GFDL Flexible Modeling System (FMS).
8 #* FMS is free software: you can redistribute it and/or modify it under
9 #* the terms of the GNU Lesser General Public License as published by
10 #* the Free Software Foundation, either version 3 of the License, or (at
11 #* your option) any later version.
13 #* FMS is distributed in the hope that it will be useful, but WITHOUT
14 #* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 #* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
18 #* You should have received a copy of the GNU Lesser General Public
19 #* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
20 #***********************************************************************
22 # Set common test settings.
25 if [ -z "${skipflag}" ]; then
26 # create and enter directory for in/output files
29 cat <<_EOF > diag_table.yaml
31 base_date: 2 1 1 0 0 0
69 - file_name: test_rms_regional
88 # remove any existing files that would result in false passes during checks
91 # tests with no mask, no openmp
93 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 0 \n/" |
cat > input.nml
94 test_expect_success
"Running diag_manager with "rms
" reduction method (test $my_test_count)" '
95 mpirun -n 6 ../test_reduction_methods
97 test_expect_success
"Checking answers for the "rms
" reduction method (test $my_test_count)" '
98 mpirun -n 1 ../check_time_rms
101 my_test_count
=`expr $my_test_count + 1`
102 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n &test_reduction_methods_nml \n test_case = 0 \n mask_case = 1 \n \n/" |
cat > input.nml
103 test_expect_success
"Running diag_manager with "rms
" reduction method, logical mask (test $my_test_count)" '
104 mpirun -n 6 ../test_reduction_methods
106 test_expect_success
"Checking answers for the "rms
" reduction method, logical mask (test $my_test_count)" '
107 mpirun -n 1 ../check_time_rms
110 my_test_count
=`expr $my_test_count + 1`
111 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n &test_reduction_methods_nml \n test_case = 0 \n mask_case = 2 \n \n/" |
cat > input.nml
112 test_expect_success
"Running diag_manager with "rms
" reduction method, real mask (test $my_test_count)" '
113 mpirun -n 6 ../test_reduction_methods
115 test_expect_success
"Checking answers for the "rms
" reduction method, real mask (test $my_test_count)" '
116 mpirun -n 1 ../check_time_rms
121 export OMP_NUM_THREADS
=2
122 my_test_count
=`expr $my_test_count + 1`
123 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 1 \n \n/" |
cat > input.nml
124 test_expect_success
"Running diag_manager with "rms
" reduction method with openmp (test $my_test_count)" '
125 mpirun -n 6 ../test_reduction_methods
127 test_expect_success
"Checking answers for the "rms
" reduction method with openmp (test $my_test_count)" '
128 mpirun -n 1 ../check_time_rms
131 my_test_count
=`expr $my_test_count + 1`
132 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 1 \n mask_case = 1 \n \n/" |
cat > input.nml
133 test_expect_success
"Running diag_manager with "rms
" reduction method with openmp, logical mask (test $my_test_count)" '
134 mpirun -n 6 ../test_reduction_methods
136 test_expect_success
"Checking answers for the "rms
" reduction method with openmp, logical mask (test $my_test_count)" '
137 mpirun -n 1 ../check_time_rms
140 my_test_count
=`expr $my_test_count + 1`
141 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 1 \n mask_case = 2 \n \n/" |
cat > input.nml
142 test_expect_success
"Running diag_manager with "rms
" reduction method with openmp, real mask (test $my_test_count)" '
143 mpirun -n 6 ../test_reduction_methods
145 test_expect_success
"Checking answers for the "rms
" reduction method with openmp, real mask (test $my_test_count)" '
146 mpirun -n 1 ../check_time_rms
149 # halo output and mask tests
151 export OMP_NUM_THREADS
=1
153 my_test_count
=`expr $my_test_count + 1`
154 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 2 \n \n/" |
cat > input.nml
155 test_expect_success
"Running diag_manager with "rms
" reduction method with halo output (test $my_test_count)" '
156 mpirun -n 6 ../test_reduction_methods
158 test_expect_success
"Checking answers for the "rms
" reduction method with halo output (test $my_test_count)" '
159 mpirun -n 1 ../check_time_rms
162 my_test_count
=`expr $my_test_count + 1`
163 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 2 \n mask_case = 1 \n \n/" |
cat > input.nml
164 test_expect_success
"Running diag_manager with "rms
" reduction method with halo output with logical mask (test $my_test_count)" '
165 mpirun -n 6 ../test_reduction_methods
167 test_expect_success
"Checking answers for the "rms
" reduction method with halo output with logical mask (test $my_test_count)" '
168 mpirun -n 1 ../check_time_rms
171 my_test_count
=`expr $my_test_count + 1`
172 printf "&diag_manager_nml \n use_modern_diag=.true. \n / \n&test_reduction_methods_nml \n test_case = 2 \n mask_case = 2 \n \n/" |
cat > input.nml
173 test_expect_success
"Running diag_manager with "rms
" reduction method with halo output with real mask (test $my_test_count)" '
174 mpirun -n 6 ../test_reduction_methods
176 test_expect_success
"Checking answers for the "rms
" reduction method with halo output with real mask (test $my_test_count)" '
177 mpirun -n 1 ../check_time_rms