[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