[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