[Dart-dev] DART/branches Revision: 12844
dart at ucar.edu
dart at ucar.edu
Mon Sep 24 10:48:13 MDT 2018
hendric at ucar.edu
2018-09-24 10:48:13 -0600 (Mon, 24 Sep 2018)
38
fixed write portion of the IO test.
Modified: DART/branches/rma_fix_broken/developer_tests/io/test_read_write_restarts.f90
===================================================================
--- DART/branches/rma_fix_broken/developer_tests/io/test_read_write_restarts.f90 2018-09-24 15:25:49 UTC (rev 12843)
+++ DART/branches/rma_fix_broken/developer_tests/io/test_read_write_restarts.f90 2018-09-24 16:48:13 UTC (rev 12844)
@@ -19,7 +19,7 @@
use state_structure_mod, only : add_domain, get_sum_variables
use ensemble_manager_mod, only : init_ensemble_manager, ensemble_type
use io_filenames_mod, only : io_filenames_init, file_info_type, READ_COPY, &
- set_file_metadata, set_io_copy_flag
+ set_file_metadata, set_io_copy_flag, WRITE_COPY
use time_manager_mod, only : time_type
use filter_mod, only : filter_set_initial_time
@@ -39,9 +39,11 @@
integer :: num_domains = 1
integer :: imem, domid
-type(file_info_type) :: file_handle
+type(file_info_type) :: file_input_handle
+type(file_info_type) :: file_output_handle
character(len=256), allocatable :: file_array_input(:,:)
+character(len=256), allocatable :: file_array_output(:,:)
character(len=512) :: my_base, my_desc, string1
integer :: iunit, io
@@ -71,11 +73,12 @@
integer, parameter :: VAR_UPDATE_INDEX = 3
! namelist variables
-character(len=256) :: input_file(1) = "cf_test.nc"
+character(len=256) :: input_file(1) = "cf_test.nc"
+character(len=256) :: output_file(1) = "cf_test_out.nc"
logical :: verbose = .false.
! namelist items we are going to create/overwrite
-namelist /test_read_write_restarts_nml/ input_file, verbose
+namelist /test_read_write_restarts_nml/ input_file, model_variables, verbose
! main code here
@@ -109,7 +112,7 @@
allocate(file_array_input( num_ens, num_domains))
file_array_input = RESHAPE(input_file, (/num_ens, num_domains/))
-call io_filenames_init(file_handle, &
+call io_filenames_init(file_input_handle, &
ncopies = 1, &
cycling = .false., &
single_file = single_file_in, &
@@ -118,21 +121,44 @@
do imem = 1, num_ens
write(my_base,'(A,I2)') 'inens_', imem
write(my_desc,'(A,I2)') 'input ens', imem
- call set_file_metadata(file_handle, &
+ call set_file_metadata(file_input_handle, &
cnum = imem, &
fnames = file_array_input(imem,:), &
basename = my_base, &
desc = my_desc)
- call set_io_copy_flag(file_handle, &
+ call set_io_copy_flag(file_input_handle, &
cnum = imem, &
io_flag = READ_COPY)
enddo
-call read_state(ens_handle, file_handle, read_time_from_file, time1)
+call read_state(ens_handle, file_input_handle, read_time_from_file, time1)
-call write_state(ens_handle, file_handle)
+allocate(file_array_output( num_ens, num_domains))
+file_array_output = RESHAPE(output_file, (/num_ens, num_domains/))
+call io_filenames_init(file_output_handle, &
+ ncopies = 1, &
+ cycling = .false., &
+ single_file = single_file_in, &
+ restart_files = file_array_output)
+
+do imem = 1, num_ens
+ write(my_base,'(A,I2)') 'outens_', imem
+ write(my_desc,'(A,I2)') 'output ens', imem
+ call set_file_metadata(file_output_handle, &
+ cnum = imem, &
+ fnames = file_array_output(imem,:), &
+ basename = my_base, &
+ desc = my_desc)
+
+ call set_io_copy_flag(file_output_handle, &
+ cnum = imem, &
+ io_flag = WRITE_COPY)
+enddo
+
+call write_state(ens_handle, file_output_handle)
+
! finalize test_read_write_restarts
call error_handler(E_MSG,'test_read_write_restarts','Finished successfully.',source,revision,revdate)
call finalize_mpi_utilities()
Modified: DART/branches/rma_fix_broken/developer_tests/io/work/input.nml
More information about the Dart-dev
mailing list