[Dart-dev] DART/branches Revision: 10919
dart at ucar.edu
dart at ucar.edu
Wed Jan 18 16:59:49 MST 2017
hendric at ucar.edu
2017-01-18 16:59:48 -0700 (Wed, 18 Jan 2017)
265
first stab at writting out multiple time steps into one
file when cycling with a subroutine callable model.
currently the output looks like old diagnostic files.
still need to modify filter_state_space_diagnostics to
match the new format for single file output.
Modified: DART/branches/rma_single_file/filter/filter_mod.f90
===================================================================
--- DART/branches/rma_single_file/filter/filter_mod.f90 2017-01-18 22:30:22 UTC (rev 10918)
+++ DART/branches/rma_single_file/filter/filter_mod.f90 2017-01-18 23:59:48 UTC (rev 10919)
@@ -75,6 +75,9 @@
use quality_control_mod, only : initialize_qc
+use state_space_diag_mod, only : netcdf_file_type, init_diag_output, finalize_diag_output, &
+ filter_state_space_diagnostics
+
!------------------------------------------------------------------------------
implicit none
@@ -134,6 +137,8 @@
logical :: do_prior_inflate = .false.
logical :: do_posterior_inflate = .false.
+type(netcdf_file_type) :: PreAssimStateUnit, PostAssimStateUnit, OutputStateUnit
+
!----------------------------------------------------------------
! Namelist input with default values
!
@@ -695,6 +700,13 @@
call store_preassim(state_ens_handle)
else
call write_state(state_ens_handle, file_info_preassim)
+
+ call filter_state_space_diagnostics(file_info_preassim, curr_ens_time, &
+ PreAssimStateUnit, state_ens_handle, &
+ model_size, num_output_state_members, output_state_mean_index, &
+ output_state_spread_index, output_inflation, &
+ ENS_MEAN_COPY, ENS_SD_COPY, &
+ post_inflate, POST_INF_COPY, POST_INF_SD_COPY)
endif
endif
endif
@@ -827,6 +839,13 @@
call store_postassim(state_ens_handle)
else
call write_state(state_ens_handle, file_info_postassim)
+
+ call filter_state_space_diagnostics(file_info_postassim, curr_ens_time, &
+ PostAssimStateUnit, state_ens_handle, &
+ model_size, num_output_state_members, output_state_mean_index, &
+ output_state_spread_index, output_inflation, &
+ ENS_MEAN_COPY, ENS_SD_COPY, &
+ post_inflate, POST_INF_COPY, POST_INF_SD_COPY)
endif
endif
!> @todo What to do here?
@@ -918,6 +937,13 @@
call write_state(state_ens_handle, file_info_all)
else
call write_state(state_ens_handle, file_info_output)
+
+ call filter_state_space_diagnostics(file_info_output, curr_ens_time, &
+ OutputStateUnit, state_ens_handle, &
+ model_size, num_output_state_members, output_state_mean_index, &
+ output_state_spread_index, output_inflation, &
+ ENS_MEAN_COPY, ENS_SD_COPY, &
+ post_inflate, POST_INF_COPY, POST_INF_SD_COPY)
endif
if(ds) call smoother_write_restart(1, ens_size)
@@ -1020,6 +1046,14 @@
state_meta(num_state_copies) = 'inflation sd'
endif
+! Set up diagnostic output for model state, if output is desired
+PreAssimStateUnit = init_diag_output('filter_preassim', 'preassim ensemble state', &
+ num_state_copies, state_meta)
+PostAssimStateUnit = init_diag_output('filter_postassim', 'postassim ensemble state', &
+ num_state_copies, state_meta)
+OutputStateUnit = init_diag_output('filter_output', 'output ensemble state', &
+ num_state_copies, state_meta)
+
! Set the metadata for the observations.
! Set up obs ensemble mean
Modified: DART/branches/rma_single_file/io/direct_netcdf_mod.f90
===================================================================
--- DART/branches/rma_single_file/io/direct_netcdf_mod.f90 2017-01-18 22:30:22 UTC (rev 10918)
+++ DART/branches/rma_single_file/io/direct_netcdf_mod.f90 2017-01-18 23:59:48 UTC (rev 10919)
@@ -74,7 +74,7 @@
get_io_num_dims, get_io_dim_lengths, &
get_variable_size, get_io_num_unique_dims, &
get_io_unique_dim_name, get_dim_name, &
- get_io_unique_dim_length, get_num_variables, &
+ get_io_unique_dim_length, &
set_var_id, get_domain_size, do_io_update, &
get_units, get_long_name, get_short_name, &
get_has_missing_value, get_FillValue, &
@@ -85,7 +85,7 @@
stage_metadata_type, get_file_description, &
copy_is_clamped, query_read_copy, query_write_copy
-use model_mod, only : write_model_time
+use model_mod, only : write_model_time, read_model_time
More information about the Dart-dev
mailing list