[Dart-dev] DART/branches Revision: 12179

dart at ucar.edu dart at ucar.edu
Tue Dec 5 12:59:37 MST 2017


nancy at ucar.edu
2017-12-05 12:59:35 -0700 (Tue, 05 Dec 2017)
369
drew some pictures and convinced myself that the test
for obs above a given level is to test the bottom level
numbers and reject the obs if the bottom level is smaller
than the limit (since the model top is level 1).

my strategy with this model is to figure out what i think
i should do and then invert the sense of the tests.  seems 
to work pretty well so far.  :)




Modified: DART/branches/recam/models/cam-fv/model_mod.f90
===================================================================
--- DART/branches/recam/models/cam-fv/model_mod.f90	2017-12-05 18:35:00 UTC (rev 12178)
+++ DART/branches/recam/models/cam-fv/model_mod.f90	2017-12-05 19:59:35 UTC (rev 12179)
@@ -759,14 +759,24 @@
       !>member has failed?  pro: save work  con: don't get forward operator
       !>values for members that could compute them
       !>(this is true for all the subsequent returns from this routine)
+
       if (any(status_array /= 0)) then
          istatus(:) = 4   ! cannot locate enclosing vertical levels  !>@todo FIXME use where statements?
          return
       endif
       
-      if (any(highest_obs_limit_in_state < four_top_levs(icorner,:)) &&
-              highest_obs_limit_in_state > 0) then
-         istatus(:) = 14
+      ! if we are avoiding assimilating obs above a given level, test here and return
+      ! if any of the bottom corners are above the limit (meaning the obs is at least
+      ! in the layer above the given cutoff.)
+      !
+      ! level 1 is top, so test that the level numbers are *smaller* than the limit.
+      ! (meaning the obs is above the given limit in at least one ensemble member)
+
+      if (highest_obs_limit_in_state > 0) then
+         if (any(four_bot_levs(icorner,:) <= highest_obs_limit_in_state)) then
+            istatus(:) = 14
+            return
+         endif
       endif
    enddo
    


More information about the Dart-dev mailing list