[Dart-dev] DART/branches Revision: 12090
dart at ucar.edu
dart at ucar.edu
Fri Nov 10 11:51:12 MST 2017
hendric at ucar.edu
2017-11-10 11:51:09 -0700 (Fri, 10 Nov 2017)
59
convert_state_obs is mostly complete. needs some testing
Modified: DART/branches/recam/models/cam-fv/model_mod.f90
===================================================================
--- DART/branches/recam/models/cam-fv/model_mod.f90 2017-11-10 17:06:46 UTC (rev 12089)
+++ DART/branches/recam/models/cam-fv/model_mod.f90 2017-11-10 18:51:09 UTC (rev 12090)
@@ -17,7 +17,12 @@
use types_mod
use time_manager_mod
-use location_mod
+use location_mod, only : location_type, set_vertical, set_location, &
+ get_location,get_close_obs, get_close_state, &
+ query_location, &
+ VERTISUNDEF, VERTISSURFACE, VERTISLEVEL, &
+ VERTISPRESSURE, VERTISHEIGHT, &
+ VERTISSCALEHEIGHT
use utilities_mod
use obs_kind_mod
use mpi_utilities_mod
@@ -37,8 +42,7 @@
use location_io_mod
use quad_utils_mod
use default_model_mod, only : adv_1step, init_time, init_conditions, &
- nc_write_model_vars, pert_model_copies, &
- convert_vertical_obs, convert_vertical_state
+ nc_write_model_vars, pert_model_copies
implicit none
private
@@ -64,7 +68,7 @@
init_time, &
init_conditions, &
convert_vertical_obs, & ! todo
- convert_vertical_state, & ! todo
+ convert_vertical_state, & ! doing
get_close_obs, & ! todo
get_close_state ! todo
@@ -334,8 +338,8 @@
!>
!>
-subroutine get_values_from_qty(state_handle, ens_size, qty, lon_index, lat_index, lev_index, vals, my_status)
-type(ensemble_type), intent(in) :: state_handle
+subroutine get_values_from_qty(ens_handle, ens_size, qty, lon_index, lat_index, lev_index, vals, my_status)
+type(ensemble_type), intent(in) :: ens_handle
integer, intent(in) :: ens_size
integer, intent(in) :: qty
integer, intent(in) :: lon_index
@@ -349,7 +353,7 @@
varid = get_varid_from_kind(domain_id, qty)
state_indx = get_dart_vector_index(lon_index, lat_index, lev_index, domain_id, varid)
-vals(:) = get_state(state_indx, state_handle)
+vals(:) = get_state(state_indx, ens_handle)
if (varid < 0) my_status = 12
@@ -360,9 +364,9 @@
!>
!>
-subroutine get_values_from_varid(state_handle, ens_size, lon_index, lat_index, lev_index, &
+subroutine get_values_from_varid(ens_handle, ens_size, lon_index, lat_index, lev_index, &
varid, vals, my_status)
-type(ensemble_type), intent(in) :: state_handle
+type(ensemble_type), intent(in) :: ens_handle
integer, intent(in) :: ens_size
integer, intent(in) :: lon_index
integer, intent(in) :: lat_index
@@ -378,7 +382,7 @@
!>@todo FIXME find unique level indices here (see new wrf code)
state_indx = get_dart_vector_index(lon_index, lat_index, lev_index(1), domain_id, varid)
-vals = get_state(state_indx, state_handle)
+vals = get_state(state_indx, ens_handle)
my_status(:) = 0
@@ -760,9 +764,9 @@
!>
!>
-subroutine find_vertical_levels(state_handle, ens_size, lon_index, lat_index, vert_val, &
+subroutine find_vertical_levels(ens_handle, ens_size, lon_index, lat_index, vert_val, &
which_vert, obs_qty, bot_levs, top_levs, vert_fracts, my_status)
-type(ensemble_type), intent(in) :: state_handle
+type(ensemble_type), intent(in) :: ens_handle
integer, intent(in) :: ens_size
integer, intent(in) :: lon_index
integer, intent(in) :: lat_index
@@ -799,16 +803,20 @@
case(VERTISPRESSURE)
! construct a pressure column here and find the model levels
! that enclose this value
- call get_values_from_qty(state_handle, ens_size, QTY_SURFACE_PRESSURE, &
- lon_index, lat_index, level_one, surf_pressure, status1)
+ call get_values_from_qty(ens_handle, ens_size, QTY_SURFACE_PRESSURE, &
+ lon_index, lat_index, level_one, &
+ surf_pressure, status1)
!>@todo FIXME: should we figure out now or later? how many unique levels we have?
More information about the Dart-dev
mailing list