[Dart-dev] DART/branches Revision: 10976
dart at ucar.edu
dart at ucar.edu
Tue Jan 31 17:50:21 MST 2017
hendric at ucar.edu
2017-01-31 17:50:20 -0700 (Tue, 31 Jan 2017)
115
single file for filter compiles and runs. needs to be
bitwise checked but things are looking good at the moment!
Modified: DART/branches/rma_single_file/filter/filter_mod.f90
===================================================================
--- DART/branches/rma_single_file/filter/filter_mod.f90 2017-01-30 23:07:37 UTC (rev 10975)
+++ DART/branches/rma_single_file/filter/filter_mod.f90 2017-02-01 00:50:20 UTC (rev 10976)
@@ -66,7 +66,7 @@
use io_filenames_mod, only : io_filenames_init, file_info_type, file_info_dump, &
combine_file_info, set_file_metadata, &
- set_member_file_metadata, &
+ set_member_file_metadata, netcdf_file_type, &
set_io_copy_flag, check_file_info_variable_shape, &
query_copy_present, COPY_NOT_PRESENT, &
READ_COPY, WRITE_COPY, READ_WRITE_COPY
@@ -75,10 +75,6 @@
use quality_control_mod, only : initialize_qc
-use state_space_diag_mod, only : netcdf_file_type, init_singlefile_output, &
- finalize_singlefile_output, &
- write_single_file
-
!------------------------------------------------------------------------------
implicit none
@@ -138,8 +134,6 @@
logical :: do_prior_inflate = .false.
logical :: do_posterior_inflate = .false.
-type(netcdf_file_type) :: PreAssimStateUnit, PostAssimStateUnit, OutputStateUnit
-
!----------------------------------------------------------------
! Namelist input with default values
!
@@ -259,7 +253,6 @@
integer :: 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 :: output_state_mean_index, output_state_spread_index
integer :: prior_obs_mean_index, posterior_obs_mean_index
integer :: prior_obs_spread_index, posterior_obs_spread_index
! Global indices into ensemble storage - observations
@@ -478,9 +471,8 @@
call timestamp_message('Before initializing output files')
! Initialize the output sequences and state files and set their meta data
-call filter_generate_copy_meta_data(seq, prior_inflate, post_inflate, &
- in_obs_copy, output_state_mean_index, &
- output_state_spread_index, prior_obs_mean_index, posterior_obs_mean_index, &
+call filter_generate_copy_meta_data(seq, in_obs_copy, &
+ prior_obs_mean_index, posterior_obs_mean_index, &
prior_obs_spread_index, posterior_obs_spread_index)
if(ds) call error_handler(E_ERR, 'filter', 'smoother broken by Helen')
@@ -637,8 +629,10 @@
! Write out the mean and sd for the input files if requested
if (get_stage_to_write('input')) then
- if (output_mean) call set_io_copy_flag(file_info_input, INPUT_MEAN, WRITE_COPY, has_units=.true.)
- if (output_sd) call set_io_copy_flag(file_info_input, INPUT_SD, WRITE_COPY, has_units=.false.)
+ if (output_mean) &
+ call set_io_copy_flag(file_info_input, INPUT_MEAN, WRITE_COPY, has_units=.true.)
+ if (output_sd) &
+ call set_io_copy_flag(file_info_input, INPUT_SD, WRITE_COPY, has_units=.false.)
if (write_all_stages_at_end) then
call store_input(state_ens_handle)
else
@@ -695,22 +689,12 @@
(time_step_number / output_interval * output_interval == time_step_number)) then
if (get_stage_to_write('preassim')) then
- if (single_file_out) then
- call write_single_file(curr_ens_time, &
- PreAssimStateUnit, state_ens_handle, &
- model_size, num_output_state_members, &
- output_inflation, &
- ENS_MEAN_COPY, ENS_SD_COPY, &
- prior_inflate, PRIOR_INF_COPY, PRIOR_INF_SD_COPY, &
- post_inflate, POST_INF_COPY, POST_INF_SD_COPY)
+ if (write_all_stages_at_end) then
+ ! If needed, store copies(mean, sd, inf_mean, inf_sd) that would have
+ ! gone in Prior_Diag.nc and write them at the end.
+ call store_preassim(state_ens_handle)
else
- if (write_all_stages_at_end) then
- ! If needed, store copies(mean, sd, inf_mean, inf_sd) that would have
- ! gone in Prior_Diag.nc and write them at the end.
- call store_preassim(state_ens_handle)
- else
- call write_state(state_ens_handle, file_info_preassim)
- endif
+ call write_state(state_ens_handle, file_info_preassim)
endif
endif
endif
@@ -836,23 +820,14 @@
if ((output_interval > 0) .and. &
(time_step_number / output_interval * output_interval == time_step_number)) then
+
if (get_stage_to_write('postassim')) then
- if (single_file_out) then
More information about the Dart-dev
mailing list