[Dart-dev] DART/trunk Revision: 11387

dart at ucar.edu dart at ucar.edu
Wed Mar 22 09:33:46 MDT 2017


nancy at ucar.edu
2017-03-22 09:33:44 -0600 (Wed, 22 Mar 2017)
260
added jon poterjoy's version of assim_tools that includes
the particle filter, filter_kind = 9  (assim_tools_mod.pf.f90)

in the default assim_tools_mod renamed boxcar2 subroutines 
to rank_histogram to match current terminology.  no functional 
code change.




Modified: DART/trunk/assim_tools/assim_tools_mod.f90
===================================================================
--- DART/trunk/assim_tools/assim_tools_mod.f90	2017-03-21 22:38:07 UTC (rev 11386)
+++ DART/trunk/assim_tools/assim_tools_mod.f90	2017-03-22 15:33:44 UTC (rev 11387)
@@ -1092,7 +1092,7 @@
    else if(filter_kind == 7) then
       call obs_increment_boxcar(ens, ens_size, obs, obs_var, obs_inc, rel_weights)
    else if(filter_kind == 8) then
-      call obs_increment_boxcar2(ens, ens_size, prior_var, obs, obs_var, obs_inc)
+      call obs_increment_rank_histogram(ens, ens_size, prior_var, obs, obs_var, obs_inc)
    else 
       call error_handler(E_ERR,'obs_increment', &
                  'Illegal value of filter_kind in assim_tools namelist [1-8 OK]', &
@@ -1923,7 +1923,7 @@
 
 
 
-subroutine obs_increment_boxcar2(ens, ens_size, prior_var, &
+subroutine obs_increment_rank_histogram(ens, ens_size, prior_var, &
    obs, obs_var, obs_inc)
 !------------------------------------------------------------------------
 ! 
@@ -2159,7 +2159,7 @@
                      new_ens(i) = adj_r2
                   else
                      msgstring = 'Did not get a satisfactory quadratic root' 
-                     call error_handler(E_ERR, 'obs_increment_boxcar2', msgstring, &
+                     call error_handler(E_ERR, 'obs_increment_rank_histogram', msgstring, &
                         source, revision, revdate)
                   endif
                endif
@@ -2180,7 +2180,7 @@
    obs_inc(e_ind(i)) = new_ens(i) - x(i)
 end do
 
-end subroutine obs_increment_boxcar2
+end subroutine obs_increment_rank_histogram
 
 
 

Added: DART/trunk/assim_tools/assim_tools_mod.pf.f90
===================================================================
--- DART/trunk/assim_tools/assim_tools_mod.pf.f90	                        (rev 0)
+++ DART/trunk/assim_tools/assim_tools_mod.pf.f90	2017-03-22 15:33:44 UTC (rev 11387)
@@ -0,0 +1,3511 @@
+! DART software - Copyright 2004 - 2013 UCAR. This open source software is
+! provided by UCAR, "as is", without charge, subject to all terms of use at
+! http://www.image.ucar.edu/DAReS/DART/DART_download
+!
+! $Id$
+
+module assim_tools_mod
+
+ 
+! A variety of operations required by assimilation.
+
+use      types_mod,       only : r8, digits12, PI, missing_r8
+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
+
+use obs_sequence_mod,     only : obs_sequence_type, obs_type, get_num_copies, get_num_qc, &
+                                 init_obs, get_obs_from_key, get_obs_def, get_obs_values, &
+                                 destroy_obs
+   
+use          obs_def_mod, only : obs_def_type, get_obs_def_location, get_obs_def_time,    &
+                                 get_obs_def_error_variance, get_obs_kind
+
+use         obs_kind_mod, only : get_num_obs_kinds, get_obs_kind_index,                   &
+                                 get_obs_kind_var_type, assimilate_this_obs_kind
+
+use       cov_cutoff_mod, only : comp_cov_factor
+
+use       reg_factor_mod, only : comp_reg_factor
+
+use         location_mod, only : location_type, get_close_type, get_close_obs_destroy,    &
+                                 operator(==), set_location_missing, write_location,      &
+                                 LocationDims, vert_is_surface, has_vertical_localization
+
+use ensemble_manager_mod, only : ensemble_type, get_my_num_vars, get_my_vars,             & 
+                                 compute_copy_mean_var, get_var_owner_index,              &
+                                 prepare_to_update_copies, map_pe_to_task
+
+use mpi_utilities_mod,    only : my_task_id, broadcast_send, broadcast_recv,              & 
+                                 sum_across_tasks, task_sync
+
+use adaptive_inflate_mod, only : do_obs_inflate,  do_single_ss_inflate,                   &
+                                 do_varying_ss_inflate, get_inflate, set_inflate,         &
+                                 get_sd, set_sd, update_inflation,                        &
+                                 inflate_ens, adaptive_inflate_type,                      &
+                                 deterministic_inflate, solve_quadratic
+
+use time_manager_mod,     only : time_type, get_time
+
+use assim_model_mod,      only : get_state_meta_data, get_close_maxdist_init,             &
+                                 get_close_obs_init, get_close_obs


More information about the Dart-dev mailing list