1 subroutine da_add_noise_new (qc, error, inv, yo, z)
3 !-----------------------------------------------------------------------
5 !-----------------------------------------------------------------------
9 integer, intent(in) :: qc
10 real, intent(in) :: error
11 real, intent(inout) :: inv
12 real, intent(inout) :: yo ! Observation.
13 real, intent(out) :: z ! Random number.
17 if (trace_use) call da_trace_entry("da_add_noise_new")
21 if (qc >= obs_qc_pointer) then
22 ! [1] Calculate scaled Gaussian noise:
24 call da_gauss_noise (z)
27 ! [3] Recalculate corresponding O and O-B:
32 if (trace_use) call da_trace_exit("da_add_noise_new")
34 end subroutine da_add_noise_new