[Dart-dev] DART/branches Revision: 10769
dart at ucar.edu
dart at ucar.edu
Mon Nov 21 16:06:27 MST 2016
thoar at ucar.edu
2016-11-21 16:06:27 -0700 (Mon, 21 Nov 2016)
241
The filenames are generated correctly for the the 4 stages - in filter.
The 'extra' copies are not implemented at the moment.
pmo has an input netCDF file now - no such thing exists for filter.
Those need to be created (in a single file?)
Modified: DART/branches/rma_fixed_filenames/distributed/distributed_state_mod.f90
===================================================================
--- DART/branches/rma_fixed_filenames/distributed/distributed_state_mod.f90 2016-11-18 21:44:03 UTC (rev 10768)
+++ DART/branches/rma_fixed_filenames/distributed/distributed_state_mod.f90 2016-11-21 23:06:27 UTC (rev 10769)
@@ -4,15 +4,17 @@
!
! $Id$
+module distributed_state_mod
+
+!> \defgroup distrib_state distributed_state_mod
+!> @{
+!>
!> Allows a distributed state, or a var complete state
!> for the forward operator or the mean state
!> Note that there are two window modules that can be compiled:
!> no_cray_win_mod.f90 does not use cray pointers
!> cray_win_mod.f90 uses cray pointers
-module distributed_state_mod
-!> \defgroup distrib_state distributed_state_mod
-!> @{
use mpi_utilities_mod, only : my_task_id, &
get_from_fwd, get_from_mean
use types_mod, only : r8, i8
Modified: DART/branches/rma_fixed_filenames/filter/filter.f90
===================================================================
--- DART/branches/rma_fixed_filenames/filter/filter.f90 2016-11-18 21:44:03 UTC (rev 10768)
+++ DART/branches/rma_fixed_filenames/filter/filter.f90 2016-11-21 23:06:27 UTC (rev 10769)
@@ -9,6 +9,10 @@
program filter
+!> \mainpage filter Main DART Ensemble Filtering Program
+!> @{ \brief routine to perform ensemble filtering
+!>
+
use mpi_utilities_mod, only : initialize_mpi_utilities, finalize_mpi_utilities
use filter_mod, only : filter_main
@@ -22,6 +26,8 @@
call finalize_mpi_utilities()
+!> @}
+
end program filter
! <next few lines under version control, do not edit>
Modified: DART/branches/rma_fixed_filenames/filter/filter_mod.f90
===================================================================
--- DART/branches/rma_fixed_filenames/filter/filter_mod.f90 2016-11-18 21:44:03 UTC (rev 10768)
+++ DART/branches/rma_fixed_filenames/filter/filter_mod.f90 2016-11-21 23:06:27 UTC (rev 10769)
@@ -65,7 +65,8 @@
get_output_preassim, get_output_postassim, &
get_output_mean, get_output_sd
-use io_filenames_mod, only : io_filenames_init, file_info_type
+use io_filenames_mod, only : io_filenames_init, file_info_type, file_info_dump, &
+ set_file_metadata, stage_metadata_type
use forward_operator_mod, only : get_obs_ens_distrib_state
use quality_control_mod, only : initialize_qc
@@ -386,12 +387,21 @@
restart_list = output_restart_file_list, root_name='output', &
check_output_compatibility = .true.)
-!>@todo FIXME make these conditional
-file_info_preassim = io_filenames_init(state_ens_handle, single_file_out, &
- root_name='preassim')
-file_info_postassim = io_filenames_init(state_ens_handle, single_file_out, &
- root_name='postassim')
+file_info_preassim = io_filenames_init(state_ens_handle, single_file_out, root_name='preassim')
+file_info_postassim = io_filenames_init(state_ens_handle, single_file_out, root_name='postassim')
+call init_file_info_extras(file_info_input, 'input')
+call init_file_info_extras(file_info_preassim, 'preassim')
+call init_file_info_extras(file_info_postassim,'postassim')
+call init_file_info_extras(file_info_output, 'output')
+
+if (.not. silence) then !>@todo abuse of the 'silence' variable
+ call file_info_dump(file_info_input, 'filter:input')
+ call file_info_dump(file_info_preassim, 'filter:preassim')
+ call file_info_dump(file_info_postassim, 'filter:postassim')
+ call file_info_dump(file_info_output, 'filter:output')
+endif
+
call read_state(state_ens_handle, file_info_input, read_time_from_file, time1, &
prior_inflate, post_inflate, perturb_from_single_instance)
@@ -1796,6 +1806,7 @@
!> For now, always have the first 6 extra copies.
!> Note if you remove inflation copies, check read_state() and write_state()
!> for assumptions about which copies are present.
+
subroutine set_state_copies(ens_size, num_extras)
integer, intent(in) :: ens_size
@@ -1849,6 +1860,56 @@
More information about the Dart-dev
mailing list