[Dart-dev] DART/branches Revision: 11785

dart at ucar.edu dart at ucar.edu
Thu Jun 29 16:07:49 MDT 2017


hendric at ucar.edu
2017-06-29 16:07:47 -0600 (Thu, 29 Jun 2017)
332

Can now run with either input_state_files/output_state_files,
which specifies a list of restarts in the namelist or you can
provide a  input_state_file_list/output_file_list containing
a list of restart files that you would like to read in.  This
still needs some testing and cleaning up, but seems to be 
working for the moment!




Modified: DART/branches/rma_file_list_nml/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_file_list_nml/assimilation_code/modules/assimilation/filter_mod.f90	2017-06-29 17:07:54 UTC (rev 11784)
+++ DART/branches/rma_file_list_nml/assimilation_code/modules/assimilation/filter_mod.f90	2017-06-29 22:07:47 UTC (rev 11785)
@@ -80,7 +80,8 @@
                                   set_member_file_metadata, &
                                   set_io_copy_flag, check_file_info_variable_shape, &
                                   query_copy_present, COPY_NOT_PRESENT, &
-                                  READ_COPY, WRITE_COPY, READ_WRITE_COPY
+                                  READ_COPY, WRITE_COPY, READ_WRITE_COPY, &
+                                  file_info_dump
 
 use direct_netcdf_mod,     only : finalize_single_file_io, write_augmented_state, &
                                   nc_get_num_times
@@ -2432,13 +2433,21 @@
    multi_dom = .false.
 endif
 
-print*, 'fsource :: ', fsource
+print*, 'Gsource :: ', fsource, MAX_NUM_DOMS
+   write(*,'("`",A25,"` ",A25,"`"," ",A25,"`")'), 'file array input :: ',    &
+                                         trim(file_array_input(1)), &
+                                         trim(file_array_input(2)), &
+                                         trim(file_array_input(3)), &
+                                         trim(file_array_input(4))
 
+print*, 'input_state_file_list :: "', trim(input_state_file_list(1)), '"'
+
+nfiles = 0
 do i = 1, MAX_NUM_DOMS
-   if(input_state_file_list(i) == '' ) return
+   if(input_state_file_list(i) == '' ) exit
 
+   print*, 'domain = ', i
    nfiles = set_filename_list(file_array_input(:), input_state_file_list(i), 'filter')
-   print*, 'domain = ', i
 enddo
    write(*,'("`",A25,"` ",A25,"`"," ",A25,"`")'), 'file array input :: ',    &
                                          trim(file_array_input(1)), &
@@ -2446,18 +2455,21 @@
                                          trim(file_array_input(3)), &
                                          trim(file_array_input(4))
 
-   print*, 'input_state_file_list :: "', input_state_file_list(1), 'nfiles = ', nfiles
+print*, 'file_array_input(1) :: "', trim(file_array_input(1))
+print*, 'file_array_input(2) :: "', trim(file_array_input(2))
+print*, 'file_array_input(3) :: "', trim(file_array_input(3))
+print*, 'file_array_input(4) :: "', trim(file_array_input(4))
 
-call exit(0)
-
 ! Allocate space for the filename handles
-call io_filenames_init(file_info_input,                      & 
-                       ncopies      = ncopies,               &
-                       cycling      = has_cycling,           &
-                       single_file  = single_file_in,        &
-                       restart_list = input_state_file_list, &
-                       root_name    = 'input')
+call io_filenames_init(file_info_input,                       & 
+                       ncopies       = ncopies,               &
+                       cycling       = has_cycling,           &
+                       single_file   = single_file_in,        &
+                       restart_files = file_array_input,      &
+                       root_name     = 'input')
 
+call file_info_dump(file_info_input,     'file_info_input1')
+
 ! Output Files (we construct the filenames)
 call io_filenames_init(file_info_mean_sd,   ncopies, has_cycling, single_file_out, root_name='input')
 call io_filenames_init(file_info_forecast,  ncopies, has_cycling, single_file_out, root_name='forecast')
@@ -2466,26 +2478,34 @@
 call io_filenames_init(file_info_analysis,  ncopies, has_cycling, single_file_out, root_name='analysis')
 
 ! Write restart from output_state_file_list if provided
-call io_filenames_init(file_info_output,                      &
-                       ncopies      = ncopies,                &
-                       cycling      = has_cycling,            &
-                       single_file  = single_file_out,        &
-                       restart_list = output_state_file_list, &
-                       root_name    = 'output',               &
+call io_filenames_init(file_info_output,                       &
+                       ncopies       = ncopies,                &
+                       cycling       = has_cycling,            &
+                       single_file   = single_file_out,        &
+                       restart_files = file_array_output,      &
+                       root_name     = 'output',               &
                        check_output_compatibility = .true.)
 
+
 ! Set filename metadata information
 !   Input Files
-call set_filename_info(file_info_input,    'input',     ens_size,           CURRENT_COPIES )
+!call set_filename_info(file_info_input,    'input',     ens_size,            CURRENT_COPIES )
+!call file_info_dump(file_info_input,     'file_info_input2')
 
 !   Output Files
+if (get_stage_to_write('input')) &
 call set_filename_info(file_info_mean_sd,  'input',     0,                   INPUT_COPIES )
+if (get_stage_to_write('forecast')) &
 call set_filename_info(file_info_forecast, 'forecast',  noutput_members,  FORECAST_COPIES )
+if (get_stage_to_write('preassim')) &


More information about the Dart-dev mailing list