[Dart-dev] DART/branches Revision: 11903
dart at ucar.edu
dart at ucar.edu
Thu Aug 17 16:05:31 MDT 2017
hendric at ucar.edu
2017-08-17 16:05:30 -0600 (Thu, 17 Aug 2017)
484
updates from the code review. changed
sv_to_restart and clm_to_dart_state_vector to
fill_missing_r8_with_orit and mark_missingr8_values
renamed some local variables, using track_status to for
interpolating QTY_SOIL_MOISTURE.
to avoid circular dependencies added a new module
obs_def_utilities.f90.
everything seems to be working as expected. there is still
a little more work left in fixing up the path_names for
all of the models to include the new module.
Modified: DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/assim_tools_mod.pf.f90
===================================================================
--- DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/assim_tools_mod.pf.f90 2017-08-17 03:33:25 UTC (rev 11902)
+++ DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/assim_tools_mod.pf.f90 2017-08-17 22:05:30 UTC (rev 11903)
@@ -11,11 +11,16 @@
!>
!> @{
use types_mod, only : r8, i8, digits12, PI, missing_r8
+
+use options_mod, only : get_missing_ok_status
+
use utilities_mod, only : file_exist, get_unit, check_namelist_read, do_output, &
find_namelist_in_file, register_module, error_handler, &
E_ERR, E_MSG, nmlfileunit, do_nml_file, do_nml_term, &
open_file, close_file, timestamp
+
use sort_mod, only : index_sort
+
use random_seq_mod, only : random_seq_type, random_gaussian, init_random_seq, &
random_uniform
@@ -76,7 +81,6 @@
public :: filter_assim, &
set_assim_tools_trace, &
- get_missing_ok_status, &
test_state_copies, &
update_ens_from_weights ! Jeff thinks this routine is in the wild.
@@ -155,12 +159,6 @@
logical :: rectangular_quadrature = .true.
logical :: gaussian_likelihood_tails = .false.
-! Some models are allowed to have MISSING_R8 values in the DART state vector.
-! If they are encountered, it is not necessarily a FATAL error.
-! Most of the time, if a MISSING_R8 is encountered, DART should die.
-! CLM and POP (more?) should have allow_missing_in_clm = .true.
-logical :: allow_missing_in_clm = .false.
-
! False by default; if true, expect to read in an ascii table
! to adjust the impact of obs on other state vector and obs values.
logical :: adjust_obs_impact = .false.
@@ -193,7 +191,7 @@
pf_kddm, frac_neff, pf_alpha, &
output_localization_diagnostics, localization_diagnostics_file, &
special_localization_obs_types, special_localization_cutoffs, &
- allow_missing_in_clm, distribute_mean, close_obs_caching, &
+ distribute_mean, close_obs_caching, &
adjust_obs_impact, obs_impact_filename, &
allow_any_impact_values, lanai_bitwise ! don't document these last two for now
@@ -1234,7 +1232,7 @@
STATE_UPDATE: do j = 1, num_close_states
state_index = close_state_ind(j)
- if ( allow_missing_in_clm ) then
+ if ( get_missing_ok_status() ) then
! Some models can take evasive action if one or more of the ensembles have
! a missing value. Generally means 'do nothing' (as opposed to DIE)
missing_in_state = any(ens_handle%copies(1:ens_size, state_index) == MISSING_R8)
@@ -3624,21 +3622,6 @@
end subroutine set_assim_tools_trace
-!------------------------------------------------------------------------
-
-function get_missing_ok_status()
- logical :: get_missing_ok_status
-
-! see if the namelist variable allows missing values in the
-! model state or not.
-
-! Initialize assim_tools_module if needed
-if (.not. module_initialized) call assim_tools_init()
-
-get_missing_ok_status = allow_missing_in_clm
-
-end function get_missing_ok_status
-
!--------------------------------------------------------------------
function revised_distance(orig_dist, newcount, oldcount, base, cutfloor)
Modified: DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.f90 2017-08-17 03:33:25 UTC (rev 11902)
+++ DART/branches/rma_fix_clm_restarts/assimilation_code/modules/assimilation/filter_mod.f90 2017-08-17 22:05:30 UTC (rev 11903)
@@ -9,7 +9,7 @@
!------------------------------------------------------------------------------
use types_mod, only : r8, i8, missing_r8, metadatalength, MAX_NUM_DOMS, MAX_FILES
-use options_mod, only : get_missing_ok_status, set_allow_missing_r8
+use options_mod, only : get_missing_ok_status, set_missing_ok_status
use obs_sequence_mod, only : read_obs_seq, obs_type, obs_sequence_type, &
get_obs_from_key, set_copy_meta_data, get_copy_meta_data, &
@@ -247,9 +247,6 @@
! If they are encountered, it is not necessarily a FATAL error.
! Most of the time, if a MISSING_R8 is encountered, DART should die.
! CLM should have allow_missing_clm = .true.
-! maybe POP - but in POP the missing values are land and all ensemble members
More information about the Dart-dev
mailing list