[Dart-dev] DART/branches Revision: 12045

dart at ucar.edu dart at ucar.edu
Fri Nov 3 17:02:38 MDT 2017


thoar at ucar.edu
2017-11-03 17:02:37 -0600 (Fri, 03 Nov 2017)
78
The 3d ones are tested and complete.
The 1D,2D units are close but not done.




Modified: DART/branches/mmc/models/model_mod_tools/test_interpolate_oned.f90
===================================================================
--- DART/branches/mmc/models/model_mod_tools/test_interpolate_oned.f90	2017-11-03 22:37:49 UTC (rev 12044)
+++ DART/branches/mmc/models/model_mod_tools/test_interpolate_oned.f90	2017-11-03 23:02:37 UTC (rev 12045)
@@ -18,19 +18,21 @@
                                   nc_check, E_MSG, open_file, close_file, do_output
 
 use          location_mod, only : location_type, set_location, write_location,  &
-                                  get_dist
+                                  get_dist, get_location, LocationDims
 
 use          obs_kind_mod, only : get_name_for_quantity
 
 use  ensemble_manager_mod, only : ensemble_type
 
-use             model_mod, only : model_interpolate
+use             model_mod, only : get_model_size, &
+                                  get_state_meta_data, &
+                                  model_interpolate
 
 use netcdf
 
 implicit none
 
-public :: test_interpolate_range, test_interpolate_single
+public :: test_interpolate_range, test_interpolate_single, find_closest_gridpoint
 
 ! version controlled file description for error handling, do not edit
 character(len=256), parameter :: source   = &
@@ -38,11 +40,18 @@
 character(len=32 ), parameter :: revision = "$Revision$"
 character(len=128), parameter :: revdate  = "$Date$"
 
+! for messages
+character(len=512) :: string1, string2, string3
+
 contains
 
+
 !-------------------------------------------------------------------------------
-! Do a interpolation on a range of x values.  Returns the number of failures.
-!-------------------------------------------------------------------------------
+!> Interpolate over a range of x values.
+!> Returns the number of failures.
+!> Exercises model_mod:model_interpolate().
+!> This will result in a netCDF file with all salient metadata.
+
 function test_interpolate_range( ens_handle,            &
                                  ens_size,              &
                                  interp_test_dx,        &
@@ -55,6 +64,10 @@
                                  mykindindex,           &
                                  verbose )
 
+! The arguments to this function must be the same across all types of location dimensions.
+! Consequently, there are some unused variables. Could make them optional, but this is only
+! a test.
+
 type(ensemble_type)   , intent(inout) :: ens_handle
 integer               , intent(in)    :: ens_size
 real(r8)              , intent(in)    :: interp_test_dx
@@ -61,20 +74,19 @@
 real(r8)              , intent(in)    :: interp_test_dy
 real(r8)              , intent(in)    :: interp_test_dz
 character(len=*)      , intent(in)    :: interp_test_vertcoord
+real(r8), dimension(2), intent(in)    :: interp_test_xrange
 real(r8), dimension(2), intent(in)    :: interp_test_yrange
-real(r8), dimension(2), intent(in)    :: interp_test_xrange
 real(r8), dimension(2), intent(in)    :: interp_test_zrange
 integer               , intent(in)    :: mykindindex
 logical               , intent(in)    :: verbose
 
-! function to exercise the model_mod:model_interpolate() function
-! This will result in a netCDF file with all salient metadata
 integer :: test_interpolate_range
 
+! Local variables
+
+character(len=*), parameter :: routine = 'test_interpolate_range'
 character(len=metadatalength) :: kind_of_interest
 
-! Local variables
-
 real(r8), allocatable :: X(:)
 real(r8), allocatable :: field(:,:)
 integer :: nx
@@ -91,8 +103,6 @@
 
 character(len=256) :: output_file = 'check_me'
 
-! for message strings
-character(len=512) :: string1, string2
 
 character(len=32)  :: field_name
 type(location_type) :: loc
@@ -127,16 +137,15 @@
    if (any(ios_out /= 0)) then
      if (verbose) then
         write(string2,'(''i,X'',1(1x,i6),1(1x,f14.6))') &
-                    i,X(i)
+                          i,X(i)


More information about the Dart-dev mailing list