[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