[Dart-dev] [5893] DART/branches/development/models/mpas_atm/model_mod.f90: use the state vector (x) instead of the ensemble mean

nancy at ucar.edu nancy at ucar.edu
Mon Oct 8 15:55:04 MDT 2012


Revision: 5893
Author:   nancy
Date:     2012-10-08 15:55:03 -0600 (Mon, 08 Oct 2012)
Log Message:
-----------
use the state vector (x) instead of the ensemble mean
(which isn't defined the first time the forward operators
are called).  also check for a QV < 0 and have the forward
operator fail in that case.

Modified Paths:
--------------
    DART/branches/development/models/mpas_atm/model_mod.f90

-------------- next part --------------
Modified: DART/branches/development/models/mpas_atm/model_mod.f90
===================================================================
--- DART/branches/development/models/mpas_atm/model_mod.f90	2012-10-05 22:32:55 UTC (rev 5892)
+++ DART/branches/development/models/mpas_atm/model_mod.f90	2012-10-08 21:55:03 UTC (rev 5893)
@@ -1005,10 +1005,12 @@
    if (debug > 4) print *, 'called compute SH, kind, val, istatus: ', obs_kind, interp_val, istatus
    if (istatus /= 0) goto 100
 
-   if (interp_val > 0.0_r8) then
+   if (interp_val >= 0.0_r8) then
       interp_val = interp_val / (1.0 + interp_val)
    else
-      interp_val = 0.0_r8
+      interp_val = MISSING_R8
+      istatus = 203
+      goto 100
    endif
    if (debug > 4) print *, 'return val is: ', interp_val
 
@@ -3903,7 +3905,7 @@
 else if(vert_is_height(location) .or. vert_is_level(location)) then
    new_location = location
    ! FIXME: pick a hardcoded obs_kind for this call.
-   call vert_convert(ens_mean, new_location, KIND_TEMPERATURE, VERTISPRESSURE, istatus)
+   call vert_convert(x, new_location, KIND_TEMPERATURE, VERTISPRESSURE, istatus)
    if(istatus == 0) then
       loc_array = get_location(new_location) 
       compute_pressure_at_loc = loc_array(3)


More information about the Dart-dev mailing list