[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