[Dart-dev] DART/branches Revision: 11504
dart at ucar.edu
dart at ucar.edu
Tue Apr 18 10:45:19 MDT 2017
hendric at ucar.edu
2017-04-18 10:45:18 -0600 (Tue, 18 Apr 2017)
153
Adding some comments. In the case of single file output,
only 'inserting' prior and posterior information if the
inflation values are from a namelist.
Modified: DART/branches/rma_output_files/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_output_files/assimilation_code/modules/assimilation/filter_mod.f90 2017-04-18 16:03:19 UTC (rev 11503)
+++ DART/branches/rma_output_files/assimilation_code/modules/assimilation/filter_mod.f90 2017-04-18 16:45:18 UTC (rev 11504)
@@ -106,6 +106,7 @@
! inflation restart files
logical :: output_inflation = .false.
+! Identifier for different copies for diagnostic files
integer, parameter :: MEM_START = 1
integer, parameter :: MEM_END = 2
integer, parameter :: ENS_MEAN = 3
@@ -115,6 +116,7 @@
integer, parameter :: POSTINF_MEAN = 7
integer, parameter :: POSTINF_SD = 8
+! Number of Stage Copies
integer, parameter :: NUM_SCOPIES = 8
! Ensemble copy numbers
@@ -137,10 +139,12 @@
integer :: SPARE_PRIOR_SPREAD = COPY_NOT_PRESENT
+! Module Global Variables for inflation
logical :: do_prior_inflate = .false.
logical :: do_posterior_inflate = .false.
+type(adaptive_inflate_type) :: prior_inflate, post_inflate
-logical :: has_cycling = .false. ! filter will advance the model
+logical :: has_cycling = .false. ! filter will advance the model
!----------------------------------------------------------------
! Namelist input with default values
@@ -263,7 +267,6 @@
type(obs_sequence_type) :: seq
type(time_type) :: time1, first_obs_time, last_obs_time
type(time_type) :: curr_ens_time, next_ens_time, window_time
-type(adaptive_inflate_type) :: prior_inflate, post_inflate
integer, allocatable :: keys(:)
integer(i8) :: model_size
@@ -690,7 +693,7 @@
call all_vars_to_all_copies(state_ens_handle)
- ! updated mean and sd
+ ! updated mean and spread after the model advance
call compute_copy_mean_sd(state_ens_handle, 1, ens_size, ENS_MEAN_COPY, ENS_SD_COPY)
! update so curr time is accurate.
@@ -730,7 +733,8 @@
call trace_message('After setup for next group of observations')
- ! write out forecast file(s)
+ ! Write out forecast file(s). This contains the incoming ensemble members and potentially
+ ! mean, sd, inflation values if requested.
if (get_stage_to_write('forecast')) then
if ((output_interval > 0) .and. &
(time_step_number / output_interval * output_interval == time_step_number)) then
@@ -790,8 +794,8 @@
call timestamp_message('After computing prior observation values')
call trace_message('After computing prior observation values')
- ! Do prior state space diagnostic output as required
-
+ ! Write out preassim diagnostic files if requested. This contains potentially
+ ! damped prior inflation values and the inflated ensemble.
if (get_stage_to_write('preassim')) then
if ((output_interval > 0) .and. &
(time_step_number / output_interval * output_interval == time_step_number)) then
@@ -885,8 +889,8 @@
endif
- ! Do postassim state space output if requested
-
+ ! Write out postassim diagnostic files if requested. This contains the assimilated ensemble
+ ! and potentially damped posterior inflation and updated prior inflation.
if (get_stage_to_write('postassim')) then
if ((output_interval > 0) .and. &
(time_step_number / output_interval * output_interval == time_step_number)) then
@@ -1001,9 +1005,9 @@
endif ! sd >= 0 or sd from restart file
endif ! if doing state space posterior inflate
- ! updated posterior inflation values
+ ! Write out analysis diagnostic files if requested. This contains the
+ ! posterior infalted ensemble and updated {prior,posterior} inflation values
if (get_stage_to_write('analysis')) then
- print*, 'analysis', output_interval, time_step_number
if ((output_interval > 0) .and. &
(time_step_number / output_interval * output_interval == time_step_number)) then
@@ -1045,7 +1049,7 @@
call trace_message('End of main filter assimilation loop, starting cleanup', 'filter:', -1)
-! output the last timestep in the case of cycling
+! Output the adjusted ensemble. If cycling only the last timestep is writen out
More information about the Dart-dev
mailing list