From 6180ea9367b8913485dd5d5b5101d94a5c26cc9a Mon Sep 17 00:00:00 2001 From: Lauren Chilutti Date: Wed, 26 Jul 2023 10:59:38 -0400 Subject: [PATCH 1/4] fix the test_read_input_nml2 so that it can work with cray --- test_fms/mpp/test_read_input_nml.F90 | 15 ++++++++------- test_fms/mpp/test_read_input_nml2.sh | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/test_fms/mpp/test_read_input_nml.F90 b/test_fms/mpp/test_read_input_nml.F90 index 15e6e4697b..69809c4d28 100644 --- a/test_fms/mpp/test_read_input_nml.F90 +++ b/test_fms/mpp/test_read_input_nml.F90 @@ -36,14 +36,15 @@ program test_read_input_nml integer :: n, m !< Loop counting variable integer :: current_pelist_name_len_plus1 !< Current pelist name length plus 1 integer :: ierr !< used by MPI_FINALIZE +integer :: nml_unit_var !< stores nml file unit number for reads character(len=:), allocatable :: toobig !< String passed as argument into read_input_nml that is !!larger than pelis_name and should raise an error namelist /test_read_input_nml_nml/ test_numb -open(10, file="test_numb.nml", form="formatted", status="old") -read(10, nml = test_read_input_nml_nml) -close(10) +open(newunit=nml_unit_var, file="test_numb.nml", form="formatted", status="old") +read(unit=nml_unit_var, nml = test_read_input_nml_nml) +close(nml_unit_var) call mpp_init(test_level=mpp_init_test_peset_allocated) @@ -64,11 +65,11 @@ program test_read_input_nml filename = "input_alternative.nml" call read_input_nml("alternative") end if - open(1, file=filename, iostat=stat) ! Open input nml or alternative + open(newunit=nml_unit_var, file=filename, iostat=stat) ! Open input nml or alternative n = 1 do - read(1, '(A)', iostat=stat) line - if (stat.eq.-1) then + read(unit=nml_unit_var, '(A)', iostat=stat) line + if (stat < 0) then exit end if if (input_nml_file(n).ne.line) then @@ -77,7 +78,7 @@ program test_read_input_nml end if n = n + 1 end do - close(1) + close(nml_unit_var) else if (test_numb.eq.3) then ! Test 3: Tests with an invalid pelist_name_in pass as an argument. An invalid diff --git a/test_fms/mpp/test_read_input_nml2.sh b/test_fms/mpp/test_read_input_nml2.sh index 5750f641b9..5eb411429b 100755 --- a/test_fms/mpp/test_read_input_nml2.sh +++ b/test_fms/mpp/test_read_input_nml2.sh @@ -31,11 +31,11 @@ # create and enter directory for in/output output_dir -touch input.nml touch test_numb_base.nml echo "&test_read_input_nml_nml" > test_numb_base.nml echo "test_numb = 0" >> test_numb_base.nml echo "/" >> test_numb_base.nml +cp test_numb_base.nml input.nml # Test 1 sed "s/test_numb = [0-9]/test_numb = 1/" test_numb_base.nml > test_numb.nml @@ -45,7 +45,7 @@ test_expect_success "read input nml" ' # Test 2 sed "s/test_numb = [0-9]/test_numb = 2/" test_numb_base.nml > test_numb.nml -sed "s/1/2/" $top_srcdir/test_fms/mpp/input_base.nml > input_alternative.nml +cp input.nml input_alternative.nml test_expect_success "read input nml with file name" ' mpirun -n 1 ../test_read_input_nml ' From f78a67f938f0ba02362cc2481d97aa7c2db7a0c3 Mon Sep 17 00:00:00 2001 From: Lauren Chilutti Date: Wed, 26 Jul 2023 11:21:09 -0400 Subject: [PATCH 2/4] removing unnecessary changes to test_fms/mpp/test_read_input_nml.F90 --- test_fms/mpp/test_read_input_nml.F90 | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/test_fms/mpp/test_read_input_nml.F90 b/test_fms/mpp/test_read_input_nml.F90 index 69809c4d28..a85a692b31 100644 --- a/test_fms/mpp/test_read_input_nml.F90 +++ b/test_fms/mpp/test_read_input_nml.F90 @@ -36,15 +36,14 @@ program test_read_input_nml integer :: n, m !< Loop counting variable integer :: current_pelist_name_len_plus1 !< Current pelist name length plus 1 integer :: ierr !< used by MPI_FINALIZE -integer :: nml_unit_var !< stores nml file unit number for reads character(len=:), allocatable :: toobig !< String passed as argument into read_input_nml that is !!larger than pelis_name and should raise an error namelist /test_read_input_nml_nml/ test_numb -open(newunit=nml_unit_var, file="test_numb.nml", form="formatted", status="old") -read(unit=nml_unit_var, nml = test_read_input_nml_nml) -close(nml_unit_var) +open(10, file="test_numb.nml", form="formatted", status="old") +read(10, nml = test_read_input_nml_nml) +close(10) call mpp_init(test_level=mpp_init_test_peset_allocated) @@ -65,10 +64,10 @@ program test_read_input_nml filename = "input_alternative.nml" call read_input_nml("alternative") end if - open(newunit=nml_unit_var, file=filename, iostat=stat) ! Open input nml or alternative + open(1, file=filename, iostat=stat) ! Open input nml or alternative n = 1 do - read(unit=nml_unit_var, '(A)', iostat=stat) line + read(1, '(A)', iostat=stat) line if (stat < 0) then exit end if @@ -78,7 +77,7 @@ program test_read_input_nml end if n = n + 1 end do - close(nml_unit_var) + close(1) else if (test_numb.eq.3) then ! Test 3: Tests with an invalid pelist_name_in pass as an argument. An invalid From 405c923c45aab0a4d4e96a0adf8b0d9da6a98854 Mon Sep 17 00:00:00 2001 From: Lauren Chilutti Date: Wed, 26 Jul 2023 13:42:11 -0400 Subject: [PATCH 3/4] removing a 1 at the beginning of a line that seems to be a typo, and rewriting a few lines of code in diag_manager test test_diag_update_buffer.F90 --- test_fms/diag_manager/test_diag_manager2.sh | 4 +++- test_fms/diag_manager/test_diag_update_buffer.F90 | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/test_fms/diag_manager/test_diag_manager2.sh b/test_fms/diag_manager/test_diag_manager2.sh index 747be8e691..a625db4d1e 100755 --- a/test_fms/diag_manager/test_diag_manager2.sh +++ b/test_fms/diag_manager/test_diag_manager2.sh @@ -460,6 +460,7 @@ test_expect_success "Unstructured grid (test $my_test_count)" ' mpirun -n 1 ../test_diag_manager ' +my_test_count=24 # test_diag_manager_time cat <<_EOF > diag_table test_diag_manager @@ -478,6 +479,7 @@ test_diag_manager "test_diag_manager_mod", "sst", "sst", "ocn_end%4yr%2mo%2dy%2hr", "all", .true., "none", 2 _EOF +my_test_count=25 rm -f input.nml && touch input.nml test_expect_success "wildcard filenames (test $my_test_count)" ' mpirun -n 1 ../test_diag_manager_time @@ -501,7 +503,7 @@ test_expect_success "diurnal test (test $my_test_count)" ' mpirun -n 1 ../test_diag_manager_time ' setup_test -my_test_count=`expr $my_test_count + 1` +my_test_count=26 test_expect_success "Test the diag update_buffer (test $my_test_count)" ' mpirun -n 1 ../test_diag_update_buffer ' diff --git a/test_fms/diag_manager/test_diag_update_buffer.F90 b/test_fms/diag_manager/test_diag_update_buffer.F90 index 67de3ec665..9ca4f93198 100644 --- a/test_fms/diag_manager/test_diag_update_buffer.F90 +++ b/test_fms/diag_manager/test_diag_update_buffer.F90 @@ -282,12 +282,12 @@ SUBROUTINE init_field_values (field) DO k = 1, NZ DO j = 1, NY DO i = 1, NX + itemp = get_array_index_from_4D(i,j,k,l,NX,NY,NZ) SELECT TYPE ( field) TYPE IS (real(kind=r4_kind)) - itemp = get_array_index_from_4D(i,j,k,l,NX,NY,NZ) - field(i,j,k,l) = get_array_index_from_4D(i,j,k,l,NX,NY,NZ) -1 TYPE IS (integer(kind=i8_kind)) - field(i,j,k,l) = get_array_index_from_4D(i,j,k,l,NX,NY,NZ) + field(i,j,k,l) = real(itemp, kind=r4_kind) + TYPE IS (integer(kind=i8_kind)) + field(i,j,k,l) = int(itemp, kind=i8_kind) END SELECT END DO END DO From d48ad259be6dba6c98f8f5ec3de6bd2f79ca756a Mon Sep 17 00:00:00 2001 From: Lauren Chilutti Date: Fri, 28 Jul 2023 12:29:51 -0400 Subject: [PATCH 4/4] updating to use is_iostat_end in test_read_input_nml.F90 --- test_fms/mpp/test_read_input_nml.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_fms/mpp/test_read_input_nml.F90 b/test_fms/mpp/test_read_input_nml.F90 index a85a692b31..9a28e601fe 100644 --- a/test_fms/mpp/test_read_input_nml.F90 +++ b/test_fms/mpp/test_read_input_nml.F90 @@ -68,7 +68,7 @@ program test_read_input_nml n = 1 do read(1, '(A)', iostat=stat) line - if (stat < 0) then + if (is_iostat_end(stat)) then exit end if if (input_nml_file(n).ne.line) then