[Dart-dev] DART/branches Revision: 12658

dart at ucar.edu dart at ucar.edu
Tue Jun 12 13:37:24 MDT 2018


thoar at ucar.edu
2018-06-12 13:37:24 -0600 (Tue, 12 Jun 2018)
178
Fully supporting DART QC = 8.

The files have been modified to make refactoring easier whenever that happens.
Uses the utilities_mod:set_filename_list() routine for file input.




Index: DART/branches/rma_trunk
===================================================================
--- DART/branches/rma_trunk	2018-06-12 19:16:00 UTC (rev 12657)
+++ DART/branches/rma_trunk	2018-06-12 19:37:24 UTC (rev 12658)

Property changes on: DART/branches/rma_trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -7,6 +7,7 ##
 /DART/branches/helen:5989-6155
 /DART/branches/mmc:12038-12269
 /DART/branches/model_mod_changes:11403-11604
+/DART/branches/qc8:12643-12657
 /DART/branches/rma_array_nml:11814-11839
 /DART/branches/rma_cam_fv:9552-9728
 /DART/branches/rma_cf_conventions:9727-10086
Modified: DART/branches/rma_trunk/assimilation_code/programs/obs_diag/oned/obs_diag.f90
===================================================================
--- DART/branches/rma_trunk/assimilation_code/programs/obs_diag/oned/obs_diag.f90	2018-06-12 19:16:00 UTC (rev 12657)
+++ DART/branches/rma_trunk/assimilation_code/programs/obs_diag/oned/obs_diag.f90	2018-06-12 19:37:24 UTC (rev 12658)
@@ -9,15 +9,20 @@
 !-----------------------------------------------------------------------
 ! The programs defines a series of epochs (periods of time) and geographic
 ! regions and accumulates statistics for these epochs and regions.
+!
+! All 'possible' obs_kinds are treated separately.
 !-----------------------------------------------------------------------
 
-! In Atmospheric Science, 'spread' has units of standard deviations ...
+! In Atmospheric Science, 'spread' has units of standard deviation ...
+! In filter:obs_space_diagnostics() the 'spread' copies are converted to
+! standard deviations.
 !
 ! I should rename some of the variables I use as variances to reflect this.
 ! 'priorspred' should really be 'priorvar' since you have to accumulate variances
 ! the math is correct as it is, but the variable names don't make it easy ...
 
-use        types_mod, only : r4, r8, digits12, MISSING_R4, metadatalength
+use        types_mod, only : r4, r8, digits12, MISSING_R4, &
+                             metadatalength
 use obs_sequence_mod, only : read_obs_seq, obs_type, obs_sequence_type, get_first_obs, &
                              get_obs_from_key, get_obs_def, get_copy_meta_data, &
                              get_obs_time_range, get_time_range_keys, &
@@ -35,12 +40,12 @@
                              operator(*), operator(+), operator(-), &
                              operator(>), operator(<), operator(/), &
                              operator(/=), operator(<=), operator(>=)
-use    utilities_mod, only : open_file, register_module, &
+use    utilities_mod, only : open_file, close_file, register_module, &
                              file_exist, error_handler, E_ERR, E_WARN, E_MSG,  &
                              initialize_utilities, logfileunit, nmlfileunit,   &
                              find_namelist_in_file, check_namelist_read,       &
-                             nc_check, do_nml_file, do_nml_term, finalize_utilities, &
-                             next_file, get_next_filename
+                             nc_check, do_nml_file, do_nml_term,               &
+                             set_filename_list, finalize_utilities
 use         sort_mod, only : sort
 use   random_seq_mod, only : random_seq_type, init_random_seq, several_random_gaussians
 
@@ -56,7 +61,6 @@
 character(len=*), parameter :: revdate  = "$Date$"
 
 !---------------------------------------------------------------------
-!---------------------------------------------------------------------
 
 integer, parameter :: MaxRegions = 4
 integer, parameter :: MaxTrusted = 5
@@ -72,9 +76,7 @@
 type(obs_def_type)      :: obs_def
 type(location_type)     :: obs_loc
 
-character(len=256) :: obs_seq_in_file_name
-character(len=256), allocatable, dimension(:) :: obs_seq_filenames
-character(len = stringlength), dimension(MaxTrusted) :: trusted_obsname = 'null'
+character(len=stringlength), dimension(MaxTrusted) :: trusted_list = 'null'
 
 ! Storage with fixed size for observation space diagnostics
 real(r8), dimension(1) :: prior_mean, posterior_mean, prior_spread, posterior_spread
@@ -81,7 +83,7 @@
 real(r8) :: pr_mean, po_mean ! same as above, without useless dimension
 real(r8) :: pr_sprd, po_sprd ! same as above, without useless dimension
 
-integer :: obs_copy_index, prior_mean_index, posterior_mean_index
+integer :: obs_index, prior_mean_index, posterior_mean_index
 integer :: prior_spread_index, posterior_spread_index
 integer :: flavor
 integer :: num_copies, num_qc, num_obs, max_num_obs, obs_seq_file_id
@@ -88,11 +90,11 @@
 integer :: num_obs_types
 
 ! variables used primarily/exclusively for the rank histogram
-integer                :: ens_size, rank_histogram_bin
-type(random_seq_type)  :: ran_seq
-real(r8)               :: obs_err_var
+integer               :: ens_size, rank_histogram_bin
+type(random_seq_type) :: ran_seq
+real(r8)              :: obs_error_variance
 
-character(len=129) :: obs_seq_read_format
+character(len=stringlength) :: obs_seq_read_format
 logical :: pre_I_format


More information about the Dart-dev mailing list