[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