[Dart-dev] [4010] DART/trunk/perfect_model_obs/perfect_model_obs.f90: Important bug fix: correct the standard deviation passed into

nancy at ucar.edu nancy at ucar.edu
Tue Aug 25 16:54:27 MDT 2009


An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20090825/da19fbfa/attachment.html 
-------------- next part --------------
Modified: DART/trunk/perfect_model_obs/perfect_model_obs.f90
===================================================================
--- DART/trunk/perfect_model_obs/perfect_model_obs.f90	2009-08-25 22:22:56 UTC (rev 4009)
+++ DART/trunk/perfect_model_obs/perfect_model_obs.f90	2009-08-25 22:54:27 UTC (rev 4010)
@@ -350,17 +350,8 @@
       ! If observation is not being evaluated or assimilated, skip it
       ! Ends up setting a 1000 qc field so observation is not used again.
       if(istatus == 0 .and. (assimilate_this_ob .or. evaluate_this_ob)) then
-         ! DEBUG: try this out to see if it's useful.  if the incoming error
-         ! variance is negative, add no noise to the values, but do switch the
-         ! sign on the error so the file is useful in subsequent runs.
-         errvar = get_obs_def_error_variance(obs_def)
-         if (errvar > 0.0_r8) then
-            obs_value(1) = random_gaussian(random_seq, true_obs(1), errvar)
-         else
-            obs_value(1) = true_obs(1)
-            call set_obs_def_error_variance(obs_def, -errvar)
-            call set_obs_def(obs, obs_def)
-         endif
+         obs_value(1) = random_gaussian(random_seq, true_obs(1), &
+            sqrt(get_obs_def_error_variance(obs_def)))
 
          ! Set qc to 0 if none existed before
          if(cnum_qc == 0) then


More information about the Dart-dev mailing list