[Dart-dev] DART/branches Revision: 11522
dart at ucar.edu
dart at ucar.edu
Wed Apr 26 15:12:32 MDT 2017
nancy at ucar.edu
2017-04-26 15:12:30 -0600 (Wed, 26 Apr 2017)
78
updates for the path_names files and the latest
changes to various routines.
Modified: DART/branches/model_mod_changes/assimilation_code/location/threed_cartesian/location_mod.f90
===================================================================
--- DART/branches/model_mod_changes/assimilation_code/location/threed_cartesian/location_mod.f90 2017-04-25 22:11:08 UTC (rev 11521)
+++ DART/branches/model_mod_changes/assimilation_code/location/threed_cartesian/location_mod.f90 2017-04-26 21:12:30 UTC (rev 11522)
@@ -10,7 +10,7 @@
! Has interfaces to convert spherical lat/lon coords in degrees,
! plus a radius, into cartesian coords.
-use types_mod, only : r8, MISSING_R8, MISSING_I, PI, RAD2DEG, DEG2RAD
+use types_mod, only : r8, i8, MISSING_R8, MISSING_I, PI, RAD2DEG, DEG2RAD
use utilities_mod, only : register_module, error_handler, E_ERR, ascii_file_format, &
nc_check, E_MSG, open_file, close_file, set_output, &
logfileunit, nmlfileunit, find_namelist_in_file, &
@@ -32,11 +32,11 @@
set_location_missing, is_location_in_region, &
write_location, read_location, interactive_location, query_location, &
LocationDims, LocationName, LocationLName, LocationStorageOrder, LocationUnits, &
- get_close_type, get_close_init, get_close, get_close_destroy, &
+ get_close_type, get_close_init, get_close_obs, get_close_state, get_close_destroy, &
operator(==), operator(/=), get_dist, has_vertical_choice, vertical_localization_on, &
set_vertical, is_vertical, get_vertical_localization_coord, &
- set_vertical_localization_coord, convert_vertical, print_get_close_type,
- find_nearest, set_periodic
+ set_vertical_localization_coord, convert_vertical_obs, convert_vertical_state, &
+ print_get_close_type, find_nearest, set_periodic
! version controlled file description for error handling, do not edit
character(len=256), parameter :: source = &
@@ -982,6 +982,49 @@
!----------------------------------------------------------------------------
+subroutine get_close_obs(gc, base_loc, base_type, locs, loc_qtys, loc_types, &
+ num_close, close_ind, dist, ens_handle)
+
+! The specific type of the base observation, plus the generic kinds list
+! for either the state or obs lists are available if a more sophisticated
+! distance computation is needed.
+
+type(get_close_type), intent(in) :: gc
+type(location_type), intent(in) :: base_loc, locs(:)
+integer, intent(in) :: base_type, loc_qtys(:), loc_types(:)
+integer, intent(out) :: num_close, close_ind(:)
+real(r8), optional, intent(out) :: dist(:)
+type(ensemble_type), optional, intent(in) :: ens_handle
+
+call get_close(gc, base_loc, base_type, locs, loc_qtys, &
+ num_close, close_ind, dist, ens_handle)
+
+end subroutine get_close_obs
+
+!----------------------------------------------------------------------------
+
+subroutine get_close_state(gc, base_loc, base_type, locs, loc_qtys, loc_indx, &
+ num_close, close_ind, dist, ens_handle)
+
+! The specific type of the base observation, plus the generic kinds list
+! for either the state or obs lists are available if a more sophisticated
+! distance computation is needed.
+
+type(get_close_type), intent(in) :: gc
+type(location_type), intent(in) :: base_loc, locs(:)
+integer, intent(in) :: base_type, loc_qtys(:)
+integer(i8), intent(in) :: loc_indx(:)
+integer, intent(out) :: num_close, close_ind(:)
+real(r8), optional, intent(out) :: dist(:)
+type(ensemble_type), optional, intent(in) :: ens_handle
+
+call get_close(gc, base_loc, base_type, locs, loc_qtys, &
+ num_close, close_ind, dist, ens_handle)
+
+end subroutine get_close_state
+
+!----------------------------------------------------------------------------
+
subroutine get_close(gc, base_loc, base_type, locs, loc_qtys, &
num_close, close_ind, dist, ens_handle)
@@ -1854,18 +1897,36 @@
!--------------------------------------------------------------------
-subroutine convert_vertical(ens_handle, num, locs, loc_kinds, which_vert, status)
+subroutine convert_vertical_obs(ens_handle, num, locs, loc_kinds, loc_types, &
+ which_vert, status)
type(ensemble_type), intent(in) :: ens_handle
integer, intent(in) :: num
type(location_type), intent(inout) :: locs(:)
+integer, intent(in) :: loc_kinds(:), loc_types(:)
+integer, intent(in) :: which_vert
+integer, intent(out) :: status(:)
+
+status(:) = 1
+
+end subroutine convert_vertical_obs
+
+!--------------------------------------------------------------------
+
+subroutine convert_vertical_state(ens_handle, num, locs, loc_kinds, loc_indx, &
+ which_vert, istatus)
More information about the Dart-dev
mailing list