[Dart-dev] DART/branches Revision: 12043

dart at ucar.edu dart at ucar.edu
Fri Nov 3 16:08:41 MDT 2017


thoar at ucar.edu
2017-11-03 16:08:41 -0600 (Fri, 03 Nov 2017)
147
Happy with the format and banner statements.
Added test 7, find_closest_gridpoint().
Will be a template for the other test_interpolate() formats.




Modified: DART/branches/mmc/models/model_mod_tools/test_interpolate_threed_sphere.f90
===================================================================
--- DART/branches/mmc/models/model_mod_tools/test_interpolate_threed_sphere.f90	2017-11-03 21:38:54 UTC (rev 12042)
+++ DART/branches/mmc/models/model_mod_tools/test_interpolate_threed_sphere.f90	2017-11-03 22:08:41 UTC (rev 12043)
@@ -18,21 +18,26 @@
                                   nc_check, E_MSG, open_file, close_file, do_output
 
 use          location_mod, only : location_type, set_location, write_location,  &
-                                  get_dist, VERTISUNDEF, VERTISSURFACE,         &
-                                  VERTISLEVEL, VERTISPRESSURE, VERTISHEIGHT,    &
-                                  VERTISSCALEHEIGHT
+                                  get_dist, get_location, LocationDims, &
+                                  VERTISUNDEF, VERTISSURFACE, VERTISLEVEL, &
+                                  VERTISPRESSURE, VERTISHEIGHT, VERTISSCALEHEIGHT, &
+                                  query_location, LocationDims
 
-use          obs_kind_mod, only : get_name_for_quantity
+use          obs_kind_mod, only : get_name_for_quantity, get_index_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_single, &
+          test_interpolate_range, &
+          find_closest_gridpoint
 
 ! version controlled file description for error handling, do not edit
 character(len=256), parameter :: source   = &
@@ -40,12 +45,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 lat, lon, vert values.  Returns the
-! number of failures.
-!-------------------------------------------------------------------------------
+!> Interpolate over a range of lat, lon, and vert 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_dlon,      &
@@ -55,7 +66,7 @@
                                  interp_test_lonrange,  &
                                  interp_test_latrange,  &
                                  interp_test_vertrange, &
-                                 mykindindex,           &
+                                 quantity_string,       &
                                  verbose )
 
 type(ensemble_type)   , intent(inout) :: ens_handle
@@ -67,22 +78,21 @@
 real(r8), dimension(2), intent(in)    :: interp_test_latrange
 real(r8), dimension(2), intent(in)    :: interp_test_lonrange
 real(r8), dimension(2), intent(in)    :: interp_test_vertrange
-integer               , intent(in)    :: mykindindex
+character(len=*),       intent(in)    :: quantity_string
 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
 
-character(len=metadatalength) :: kind_of_interest
-
 ! Local variables
 
+character(len=*), parameter :: routine = 'test_interpolate_range'
+
 real(r8), allocatable :: lon(:), lat(:), vert(:)
 real(r8), allocatable :: field(:,:,:,:)
-integer :: nlon, nlat, nvert
-integer :: ilon, jlat, kvert, nfailed
-character(len=128) :: ncfilename, txtfilename
+integer,  allocatable :: all_ios_out(:,:)
+integer               :: nlon, nlat, nvert
+integer               :: ilon, jlat, kvert, nfailed
+character(len=128)    :: ncfilename, txtfilename
 
 character(len=8)      :: crdate      ! needed by F90 DATE_AND_TIME intrinsic
 character(len=10)     :: crtime      ! needed by F90 DATE_AND_TIME intrinsic
@@ -93,14 +103,9 @@
 integer :: VarID(ens_size), lonVarID, latVarID, vertVarID
 


More information about the Dart-dev mailing list