[Dart-dev] DART/branches Revision: 11003
dart at ucar.edu
dart at ucar.edu
Tue Feb 7 09:51:54 MST 2017
hendric at ucar.edu
2017-02-07 09:51:53 -0700 (Tue, 07 Feb 2017)
482
modified dart time to work with fractional seconds rather
than dart days and seconds. removing the single_filename
type variable from the file_info_type, this was just
redundent code and is not supportive of models with with
multiple domains. pmo and filter compile and run with
lorenz_63. Ran a hop test with lorenz_63 with inflation
turned on and results were bitwise. adding domain from
blank instead of file, for models with variable model size
such as lorenz_96 and bgrid.
Modified: DART/branches/rma_single_file/filter/filter_mod.f90
===================================================================
--- DART/branches/rma_single_file/filter/filter_mod.f90 2017-02-04 01:26:39 UTC (rev 11002)
+++ DART/branches/rma_single_file/filter/filter_mod.f90 2017-02-07 16:51:53 UTC (rev 11003)
@@ -173,6 +173,7 @@
! File options. Single vs. Multiple.
logical :: single_file_in = .false. ! all copies read from 1 file
logical :: single_file_out = .false. ! all copies written to 1 file
+logical :: has_cycling = .false. ! model is subroutine callable
! Stages to write. Valid values include:
! input, preassim, postassim, output
character(len=10) :: stages_to_write(4) = (/"output ", "null ", "null ", "null "/)
@@ -222,7 +223,7 @@
inf_lower_bound, inf_upper_bound, inf_sd_lower_bound, &
silence, &
distributed_state, &
- single_file_in, single_file_out, &
+ single_file_in, single_file_out, has_cycling, &
perturb_from_single_instance, perturbation_amplitude, &
stages_to_write, &
output_restart_file_list, input_restart_file_list, &
@@ -250,7 +251,7 @@
integer, allocatable :: keys(:)
integer(i8) :: model_size
-integer :: i, iunit, io, time_step_number, num_obs_in_set
+integer :: j, i, iunit, io, time_step_number, num_obs_in_set
integer :: last_key_used, key_bounds(2)
integer :: in_obs_copy, obs_val_index
integer :: prior_obs_mean_index, posterior_obs_mean_index
@@ -430,7 +431,7 @@
file_info_preassim, file_info_postassim, &
file_info_output)
-call check_file_info_variable_shape(file_info_output, state_ens_handle)
+!call check_file_info_variable_shape(file_info_output, state_ens_handle)
call set_inflation_mean_copy(prior_inflate, PRIOR_INF_COPY)
call set_inflation_sd_copy( prior_inflate, PRIOR_INF_SD_COPY)
@@ -439,6 +440,11 @@
call read_state(state_ens_handle, file_info_input, read_time_from_file, time1, prior_inflate, post_inflate)
+do j=1,3
+do i=23,26
+ print*, i, j, state_ens_handle%copies(i,j)
+enddo
+enddo
! This must be after read_state
call get_minmax_task_zero(prior_inflate, state_ens_handle, PRIOR_INF_COPY, PRIOR_INF_SD_COPY)
call log_inflation_info(prior_inflate, state_ens_handle%my_pe, 'Prior')
@@ -2192,19 +2198,15 @@
! Allocate space for the filename handles
print*, 'initializing filter_input'
-call io_filenames_init(file_info_input, num_state_ens_copies, single_file_in, &
+call io_filenames_init(file_info_input, num_state_ens_copies, has_cycling, single_file_in, &
restart_list=input_restart_file_list, &
- single_filename = 'filter_input.nc', &
root_name='input')
-call io_filenames_init(file_info_preassim, num_state_ens_copies, single_file_out, &
- single_filename = 'filter_preassim.nc', &
+call io_filenames_init(file_info_preassim, num_state_ens_copies, has_cycling, single_file_out, &
root_name='preassim')
-call io_filenames_init(file_info_postassim, num_state_ens_copies, single_file_out, &
- single_filename = 'filter_postassim.nc', &
+call io_filenames_init(file_info_postassim, num_state_ens_copies, has_cycling, single_file_out, &
root_name='postassim')
-call io_filenames_init(file_info_output, num_state_ens_copies, single_file_out, &
+call io_filenames_init(file_info_output, num_state_ens_copies, has_cycling, single_file_out, &
restart_list=output_restart_file_list, &
- single_filename = 'filter_output.nc', &
root_name='output', &
check_output_compatibility = .true.)
Modified: DART/branches/rma_single_file/io/dart_time_io_mod.f90
===================================================================
--- DART/branches/rma_single_file/io/dart_time_io_mod.f90 2017-02-04 01:26:39 UTC (rev 11002)
+++ DART/branches/rma_single_file/io/dart_time_io_mod.f90 2017-02-07 16:51:53 UTC (rev 11003)
@@ -13,7 +13,7 @@
!> @{
use types_mod, only : r8, i8
-use time_manager_mod, only : time_type, set_time, get_time
+use time_manager_mod, only : time_type, set_time, get_time, print_time
use utilities_mod, only : nc_check
use typeSizes
@@ -36,33 +36,43 @@
character(len=*), intent(in) :: filename
type(time_type) :: read_model_time
-integer :: ncid, dart_secsVarID, dart_daysVarID
+integer :: ncid, ntimes, TimeVarID, TimeDimID
integer :: seconds, days
+real(r8), allocatable :: model_time(:)
! open netcdf file
call nc_check( nf90_open(filename, NF90_NOWRITE, ncid), &
- 'read_model_time opening : ', filename )
More information about the Dart-dev
mailing list