[Dart-dev] DART/branches Revision: 11972

dart at ucar.edu dart at ucar.edu
Wed Oct 11 17:45:33 MDT 2017


nancy at ucar.edu
2017-10-11 17:45:30 -0600 (Wed, 11 Oct 2017)
269
fixes to the quad interp; option in pop model_mod to use
new code.  unrelated to quads but i want these in subversion -
the world ocean database converter changes needed to support
the WOD 2013 (they added an additional field/option).  these
changes are from fred c. 




Modified: DART/branches/quad_interp/assimilation_code/modules/assimilation/filter_mod.f90
===================================================================
--- DART/branches/quad_interp/assimilation_code/modules/assimilation/filter_mod.f90	2017-10-06 23:04:11 UTC (rev 11971)
+++ DART/branches/quad_interp/assimilation_code/modules/assimilation/filter_mod.f90	2017-10-11 23:45:30 UTC (rev 11972)
@@ -441,6 +441,9 @@
 if(num_output_state_members > ens_size) num_output_state_members = ens_size
 if(num_output_obs_members   > ens_size) num_output_obs_members   = ens_size
 
+! log something here if users have output_members turned off and the output stage turned on.
+! that's perfectly legal but a bit unusual.
+
 ! Set up stages to write : input, preassim, postassim, output
 call parse_stages_to_write(stages_to_write)
 

Modified: DART/branches/quad_interp/assimilation_code/programs/model_mod_check/model_mod_check.f90
===================================================================
--- DART/branches/quad_interp/assimilation_code/programs/model_mod_check/model_mod_check.f90	2017-10-06 23:04:11 UTC (rev 11971)
+++ DART/branches/quad_interp/assimilation_code/programs/model_mod_check/model_mod_check.f90	2017-10-11 23:45:30 UTC (rev 11972)
@@ -29,7 +29,8 @@
 
 use       assim_model_mod, only : static_init_assim_model
 
-use      time_manager_mod, only : time_type, set_time, print_time, print_date, operator(-)
+use      time_manager_mod, only : time_type, set_time, print_time, print_date, operator(-), &
+                                  get_calendar_type, NO_CALENDAR
 
 use  ensemble_manager_mod, only : init_ensemble_manager, ensemble_type
 
@@ -60,6 +61,8 @@
 character(len=32 ), parameter :: revision = "$Revision$"
 character(len=128), parameter :: revdate  = "$Date$"
 
+integer, parameter :: MAX_TESTS = 15
+
 !------------------------------------------------------------------
 ! The namelist variables
 !------------------------------------------------------------------
@@ -69,6 +72,9 @@
 character(len=256)            :: input_state_files(MAX_NUM_DOMS)  = 'null'
 character(len=256)            :: output_state_files(MAX_NUM_DOMS) = 'null'
 
+logical                       :: write_output_files = .true.
+integer                       :: run_tests(MAX_TESTS) = -1  ! default is run all
+
 integer(i8)                   :: x_ind   = -1
 real(r8), dimension(3)        :: loc_of_interest = -1.0_r8
 character(len=metadatalength) :: kind_of_interest = 'ANY'
@@ -97,14 +103,16 @@
                                interp_test_dy,     interp_test_yrange,     &
                                interp_test_dz,     interp_test_zrange,     &
                                verbose, test1thru, interp_test_vertcoord,  &
-                               single_file, input_state_files, output_state_files
+                               single_file, input_state_files, output_state_files, &
+                               write_output_files, run_tests
 
 ! io variables
-integer                   :: iunit, io
+integer                   :: iunit, io, i
 integer, allocatable      :: ios_out(:)
 type(file_info_type)      :: file_info_input, file_info_output
 type(stage_metadata_type) :: input_restart_files, output_restart_files
 logical :: read_time_from_file = .true.
+logical :: tests_to_run(MAX_TESTS) = .false.
 
 ! model state variables
 type(ensemble_type)   :: ens_handle
@@ -118,12 +126,24 @@
 integer :: idom, imem, num_failed, num_domains
 logical :: cartesian = .false.
 
+integer, parameter :: num_do = 7
+real(r8) :: interp_locs(2, num_do) = (/ &
+  285.1233803972090_r8,  36.47431083556960_r8,  &
+  285.1839237579961_r8,  36.51466717405312_r8,  &
+  285.1338379278140_r8,  36.56320563036720_r8,  &
+  285.0732830963600_r8,  36.52282555384560_r8,  &
+  285.110_r8,            36.515_r8,             &
+  285.110_r8,            36.540_r8,             &
+  285.105_r8,            36.500_r8  /)
+
 ! error handler strings
-character(len=512)              :: my_base, my_desc, my_location
+character(len=512) :: my_base, my_desc, my_location
+character(len=512) :: string1, string2, string3
+
 character(len=256), allocatable :: file_array_input(:,:), file_array_output(:,:)
 
 !----------------------------------------------------------------------
-! This portion checks the geometry information.
+! start of executable code
 !----------------------------------------------------------------------
 
 call initialize_modules_used()
@@ -132,237 +152,246 @@
 read(iunit, nml = model_mod_check_nml, iostat = io)
 call check_namelist_read(iunit, io, "model_mod_check_nml")
 
-if ( interp_test_dx  /= missing_r8 .or. &
-     interp_test_dy  /= missing_r8 .or. &
-     interp_test_dz  /= missing_r8 ) then


More information about the Dart-dev mailing list