<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='DA_SETUP_PSEUDO_OBS'><A href='../../html_code/obs/da_setup_pseudo_obs.inc.html#DA_SETUP_PSEUDO_OBS' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
subroutine da_setup_pseudo_obs(iv, ob) 1,2
!-------------------------------------------------------------------------
! Purpose: Sets up pseudo ob part of observation structure.
!-------------------------------------------------------------------------
implicit none
type(iv_type), intent(inout) :: iv ! Obs and header structure.
type(y_type), intent(inout) :: ob ! (Smaller) observation structure.
integer :: n ! Loop counters.
if (trace_use_dull) call da_trace_entry
("da_setup_pseudo_obs")
allocate (iv%pseudo(1:iv%info(pseudo)%nlocal))
!do n=1, iv%info(pseudo)%nlocal
iv%pseudo(:) % u % inv = missing_r
iv%pseudo(:) % v % inv = missing_r
iv%pseudo(:) % t % inv = missing_r
iv%pseudo(:) % p % inv = missing_r
iv%pseudo(:) % q % inv = missing_r
iv%pseudo(:) % u % error = missing_r
iv%pseudo(:) % v % error = missing_r
iv%pseudo(:) % t % error = missing_r
iv%pseudo(:) % p % error = missing_r
iv%pseudo(:) % q % error = missing_r
iv%pseudo(:) % u % qc = missing_data
iv%pseudo(:) % v % qc = missing_data
iv%pseudo(:) % t % qc = missing_data
iv%pseudo(:) % p % qc = missing_data
iv%pseudo(:) % q % qc = missing_data
ob%pseudo(:) % u = missing_r
ob%pseudo(:) % v = missing_r
ob%pseudo(:) % t = missing_r
ob%pseudo(:) % p = missing_r
ob%pseudo(:) % q = missing_r
!---------------------------------------------------------------
! [1.0] Initialise components of innovation vector:
!---------------------------------------------------------------
iv%info(pseudo)%x(:,:) = pseudo_x
iv%info(pseudo)%y(:,:) = pseudo_y
iv%info(pseudo)%zk(:,:) = pseudo_z
iv%info(pseudo)%i(:,:) = int(pseudo_x)
iv%info(pseudo)%j(:,:) = int(pseudo_y)
iv%info(pseudo)%k(:,:) = int(pseudo_z)
iv%info(pseudo)%dx(:,:) = pseudo_x-real(iv%info(pseudo)%i(:,:))
iv%info(pseudo)%dy(:,:) = pseudo_y-real(iv%info(pseudo)%j(:,:))
iv%info(pseudo)%dxm(:,:)=1.0-iv%info(pseudo)%dx(:,:)
iv%info(pseudo)%dym(:,:)=1.0-iv%info(pseudo)%dy(:,:)
iv%info(pseudo)%levels(:) = 1
if (pseudo_var(1:1) == 'u' .or. pseudo_var(1:1) == 'U') then
iv%pseudo(:) % u % inv = pseudo_val
iv%pseudo(:) % u % error = pseudo_err
iv%pseudo(:) % u % qc = 0
else if (pseudo_var(1:1) == 'v' .or. pseudo_var(1:1) == 'V') then
iv%pseudo(:) % v % inv = pseudo_val
iv%pseudo(:) % v % error = pseudo_err
iv%pseudo(:) % v % qc = 0
else if (pseudo_var(1:1) == 't' .or. pseudo_var(1:1) == 'T') then
iv%pseudo(:) % t % inv = pseudo_val
iv%pseudo(:) % t % error = pseudo_err
iv%pseudo(:) % t % qc = 0
else if (pseudo_var(1:1) == 'p' .or. pseudo_var(1:1) == 'P') then
iv%pseudo(:) % p % inv = pseudo_val
iv%pseudo(:) % p % error = pseudo_err
iv%pseudo(:) % p % qc = 0
else if (pseudo_var(1:1) == 'q' .or. pseudo_var(1:1) == 'Q') then
iv%pseudo(:) % q % inv = pseudo_val
iv%pseudo(:) % q % error = pseudo_err
iv%pseudo(:) % q % qc = 0
end if
! write(unit=stdout,fmt='(a4,2f15.5)')pseudo_var, pseudo_val, pseudo_err
! write(unit=stdout,fmt='(3f15.5)')pseudo_x, pseudo_y, pseudo_z
!end do
if (trace_use_dull) call da_trace_exit
("da_setup_pseudo_obs")
end subroutine da_setup_pseudo_obs