<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='DA_ADD_NOISE_NEW'><A href='../../html_code/tools/da_add_noise_new.inc.html#DA_ADD_NOISE_NEW' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>

subroutine da_add_noise_new (qc, error, inv, yo, z) 1,3

   !-----------------------------------------------------------------------
   ! Purpose: TBD
   !-----------------------------------------------------------------------

   implicit none

   integer, intent(in)              :: qc
   real, intent(in)                 :: error
   real, intent(inout)              :: inv
   real, intent(inout)              :: yo      ! Observation.
   real, intent(out)                :: z       ! Random number.

   real                             :: noise

   if (trace_use) call da_trace_entry("da_add_noise_new")

   z = missing_r

   if (qc &gt;= obs_qc_pointer) then
      ! [1] Calculate scaled Gaussian noise:

      call da_gauss_noise (z)      
      noise = error * z
      
      ! [3] Recalculate corresponding O and O-B:
      yo = yo + noise
      inv = inv + noise
   end if

   if (trace_use) call da_trace_exit("da_add_noise_new")

end subroutine da_add_noise_new