[Dart-dev] [5771] DART/branches/development/models/wrf/model_mod.f90: reset return code from vertical convert in the get_close_obs() routine if you don't have to convert the next obs in the loop.
nancy at ucar.edu
nancy at ucar.edu
Thu Jul 5 10:13:54 MDT 2012
Revision: 5771
Author: nancy
Date: 2012-07-05 10:13:54 -0600 (Thu, 05 Jul 2012)
Log Message:
-----------
reset return code from vertical convert in the get_close_obs() routine if you don't have to convert the next obs in the loop. this was wrong but only makes a tiny difference in the final results. it does, however, give different results for different PE counts, which is how we tracked this down. also, avoid using an optional argument without testing first in the pressure interpolation routine. it's an internal-only routine so the optional arg was always being specified, but it seems better to not leave land mines around for future code changes.
Modified Paths:
--------------
DART/branches/development/models/wrf/model_mod.f90
-------------- next part --------------
Modified: DART/branches/development/models/wrf/model_mod.f90
===================================================================
--- DART/branches/development/models/wrf/model_mod.f90 2012-06-27 22:01:19 UTC (rev 5770)
+++ DART/branches/development/models/wrf/model_mod.f90 2012-07-05 16:13:54 UTC (rev 5771)
@@ -5647,7 +5647,7 @@
if (extrapolate) do_interp = .false.
endif
-if (extrapolate .and. .not. present(edgep)) then
+if (.not. do_interp .and. .not. present(edgep)) then
call error_handler(E_ERR, 'interp_4pressure:', &
'edgep must be specified for extrapolation. internal error.', &
source, revision, revdate)
@@ -6733,6 +6733,8 @@
call vert_convert(ens_mean, local_obs_loc, obs_kind(t_ind), istatus2)
! Store the "new" location into the original full local array
obs_loc(t_ind) = local_obs_loc
+ else
+ istatus2 = 0
endif
endif
More information about the Dart-dev
mailing list