[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