Skip to content

Commit 85475e5

Browse files
authored
fix: data_override test failures from input (#1595)
1 parent 44a211a commit 85475e5

File tree

5 files changed

+79
-39
lines changed

5 files changed

+79
-39
lines changed

test_fms/data_override/test_data_override2_mono.sh

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@
2727
output_dir
2828
[ ! -d "INPUT" ] && mkdir -p "INPUT"
2929

30-
cat <<_EOF > input.nml
30+
cat <<_EOF > input_base.nml
3131
&test_data_override_ongrid_nml
3232
test_case = 2
33+
write_only = .False.
3334
/
3435
_EOF
3536

@@ -41,16 +42,23 @@ _EOF
4142
for KIND in r4 r8
4243
do
4344
rm -rf INPUT/*
45+
sed 's/write_only = .False./write_only = .True./g' input_base.nml > input.nml
46+
test_expect_success "Creating input files (${KIND})" '
47+
mpirun -n 6 ../test_data_override_ongrid_${KIND}
48+
'
49+
50+
cp input_base.nml input.nml
4451
test_expect_success "test_data_override with monotonically increasing and decreasing data sets (${KIND})" '
4552
mpirun -n 6 ../test_data_override_ongrid_${KIND}
4653
'
4754
done
4855

4956
rm -rf data_table
5057

51-
cat <<_EOF > input.nml
58+
cat <<_EOF > input_base.nml
5259
&test_data_override_ongrid_nml
5360
test_case = 2
61+
write_only = .False.
5462
/
5563
&data_override_nml
5664
use_data_table_yaml = .True.
@@ -80,6 +88,12 @@ if [ -z $parser_skip ]; then
8088
for KIND in r4 r8
8189
do
8290
rm -rf INPUT/*
91+
sed 's/write_only = .False./write_only = .True./g' input_base.nml > input.nml
92+
test_expect_success "Creating input files (${KIND})" '
93+
mpirun -n 6 ../test_data_override_ongrid_${KIND}
94+
'
95+
96+
cp input_base.nml input.nml
8397
test_expect_success "test_data_override with monotonically increasing and decreasing data sets -yaml (${KIND})" '
8498
mpirun -n 6 ../test_data_override_ongrid_${KIND}
8599
'

test_fms/data_override/test_data_override2_ongrid.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ use_data_table_yaml=.False.
3636
&test_data_override_ongrid_nml
3737
nhalox=halo_size
3838
nhaloy=halo_size
39+
write_only = .False.
3940
/
4041
_EOF
4142
printf '"OCN", "runoff", "runoff", "./INPUT/runoff.daitren.clim.1440x1080.v20180328.nc", "none" , 1.0' | cat > data_table
@@ -48,6 +49,7 @@ use_data_table_yaml=.True.
4849
&test_data_override_ongrid_nml
4950
nhalox=halo_size
5051
nhaloy=halo_size
52+
write_only = .False.
5153
/
5254
_EOF
5355
cat <<_EOF > data_table.yaml
@@ -65,13 +67,17 @@ fi
6567
[ ! -d "INPUT" ] && mkdir -p "INPUT"
6668
for KIND in r4 r8
6769
do
68-
rm -rf INPUT/*
70+
sed -e 's/halo_size/2/g ; s/write_only = .False./write_only = .True./g' input_base.nml > input.nml
71+
72+
test_expect_success "Creating input files (${KIND})" '
73+
mpirun -n 6 ../test_data_override_ongrid_${KIND}
74+
'
75+
6976
sed 's/halo_size/2/g' input_base.nml > input.nml
7077
test_expect_success "data_override on grid with 2 halos in x and y (${KIND})" '
7178
mpirun -n 6 ../test_data_override_ongrid_${KIND}
7279
'
7380

74-
rm -rf INPUT/*
7581
sed 's/halo_size/0/g' input_base.nml > input.nml
7682
test_expect_success "data_override on grid with 0 halos in x and y (${KIND})" '
7783
mpirun -n 6 ../test_data_override_ongrid_${KIND}

test_fms/data_override/test_data_override2_scalar.sh

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,24 @@ output_dir
2828
rm -rf data_table data_table.yaml input.nml input_base.nml
2929

3030
if [ ! -z $parser_skip ]; then
31-
cat <<_EOF > input.nml
31+
cat <<_EOF > input_base.nml
3232
&data_override_nml
3333
use_data_table_yaml=.False.
3434
/
3535
&test_data_override_ongrid_nml
3636
test_case = 3
37+
write_only = .False.
3738
/
3839
_EOF
3940
printf '"OCN", "co2", "co2", "./INPUT/scalar.nc", "none" , 1.0' | cat > data_table
4041
else
41-
cat <<_EOF > input.nml
42+
cat <<_EOF > input_base.nml
4243
&data_override_nml
4344
use_data_table_yaml=.True.
4445
/
4546
&test_data_override_ongrid_nml
4647
test_case = 3
48+
write_only = .False.
4749
/
4850
_EOF
4951
cat <<_EOF > data_table.yaml
@@ -62,6 +64,12 @@ fi
6264
for KIND in r4 r8
6365
do
6466
rm -rf INPUT/*
67+
sed 's/write_only = .False./write_only = .True./g' input_base.nml > input.nml
68+
test_expect_success "Creating input files (${KIND})" '
69+
mpirun -n 6 ../test_data_override_ongrid_${KIND}
70+
'
71+
72+
cp input_base.nml input.nml
6573
test_expect_success "data_override scalar field (${KIND})" '
6674
mpirun -n 6 ../test_data_override_ongrid_${KIND}
6775
'

test_fms/data_override/test_data_override_ongrid.F90

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ program test_data_override_ongrid
3333
use netcdf, only: nf90_create, nf90_def_dim, nf90_def_var, nf90_enddef, nf90_put_var, &
3434
nf90_close, nf90_put_att, nf90_clobber, nf90_64bit_offset, nf90_char, &
3535
nf90_double, nf90_unlimited
36-
use fms_mod, only: string
36+
use fms_mod, only: string, fms_init, fms_end
3737

3838
implicit none
3939

@@ -53,10 +53,11 @@ program test_data_override_ongrid
5353
integer, parameter :: scalar = 3
5454
integer, parameter :: weight_file = 4
5555
integer :: test_case = ongrid
56+
logical :: write_only=.false. !< True if creating the input files only
5657

57-
namelist / test_data_override_ongrid_nml / nhalox, nhaloy, test_case, nlon, nlat, layout
58+
namelist / test_data_override_ongrid_nml / nhalox, nhaloy, test_case, nlon, nlat, layout, write_only
5859

59-
call mpp_init
60+
call fms_init
6061
call fms2_io_init
6162

6263
read (input_nml_file, test_data_override_ongrid_nml, iostat=io_status)
@@ -75,35 +76,38 @@ program test_data_override_ongrid
7576
call mpp_define_io_domain(Domain, (/1,1/))
7677
call mpp_get_data_domain(Domain, is, ie, js, je)
7778

78-
select case (test_case)
79-
case (ongrid)
80-
call generate_ongrid_input_file ()
81-
case (bilinear)
82-
call generate_bilinear_input_file ()
83-
case (scalar)
84-
call generate_scalar_input_file ()
85-
case (weight_file)
86-
call generate_weight_input_file ()
87-
end select
88-
89-
call mpp_sync()
90-
call mpp_error(NOTE, "Finished creating INPUT Files")
91-
92-
!< Initiliaze data_override
93-
call data_override_init(Ocean_domain_in=Domain, mode=lkind)
94-
95-
select case (test_case)
96-
case (ongrid)
97-
call ongrid_test()
98-
case (bilinear)
99-
call bilinear_test()
100-
case (scalar)
101-
call scalar_test()
102-
case (weight_file)
103-
call weight_file_test()
104-
end select
105-
106-
call mpp_exit
79+
if (write_only) then
80+
select case (test_case)
81+
case (ongrid)
82+
call generate_ongrid_input_file ()
83+
case (bilinear)
84+
call generate_bilinear_input_file ()
85+
case (scalar)
86+
call generate_scalar_input_file ()
87+
case (weight_file)
88+
call generate_weight_input_file ()
89+
end select
90+
91+
call mpp_sync()
92+
call mpp_error(NOTE, "Finished creating INPUT Files")
93+
94+
else
95+
!< Initiliaze data_override
96+
call data_override_init(Ocean_domain_in=Domain, mode=lkind)
97+
98+
select case (test_case)
99+
case (ongrid)
100+
call ongrid_test()
101+
case (bilinear)
102+
call bilinear_test()
103+
case (scalar)
104+
call scalar_test()
105+
case (weight_file)
106+
call weight_file_test()
107+
end select
108+
endif
109+
110+
call fms_end
107111

108112
contains
109113

test_fms/data_override/test_data_override_weights.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ data_table:
4848
factor: 1.0
4949
_EOF
5050

51-
cat <<_EOF > input.nml
51+
cat <<_EOF > input_base.nml
5252
&data_override_nml
5353
use_data_table_yaml = .True.
5454
/
@@ -58,6 +58,7 @@ cat <<_EOF > input.nml
5858
nlon = 5
5959
nlat = 6
6060
layout = 1, 2
61+
write_only = .False.
6162
/
6263
_EOF
6364

@@ -66,6 +67,13 @@ if [ -z $parser_skip ]; then
6667
for KIND in r4 r8
6768
do
6869
rm -rf INPUT/.
70+
71+
sed 's/write_only = .False./write_only = .True./g' input_base.nml > input.nml
72+
test_expect_success "Creating input files (${KIND})" '
73+
mpirun -n 2 ../test_data_override_ongrid_${KIND}
74+
'
75+
76+
cp input_base.nml input.nml
6977
test_expect_success "test_data_override with and without weight files -yaml (${KIND})" '
7078
mpirun -n 2 ../test_data_override_ongrid_${KIND}
7179
'

0 commit comments

Comments
 (0)