da_transform_xtoy.inc

References to this file elsewhere.
1 subroutine da_transform_xtoy(grid, iv, y)
2 
3    !-------------------------------------------------------------------------
4    ! Purpose: TBD
5    !-------------------------------------------------------------------------
6 
7    implicit none
8    
9    type (domain),  intent(inout) :: grid
10    type (iv_type), intent(in)    :: iv       ! obs. increment vector (o-b).
11    type (y_type),  intent(inout) :: y        ! y = h (grid%xa)
12 
13    if (trace_use) call da_trace_entry("da_transform_xtoy")
14    
15    !--------------------------------------------------------------------------
16    ! [1.0] observation operator y = H(x):
17    !--------------------------------------------------------------------------
18   
19    if (iv%info(sound)%nlocal > 0) then
20       call da_transform_xtoy_sound (grid, iv, y) 
21       call da_transform_xtoy_sonde_sfc (grid, iv, y) 
22    end if
23 
24    if (iv%info(synop)%nlocal          > 0) call da_transform_xtoy_synop    (grid, iv, y)
25    if (iv%info(geoamv)%nlocal         > 0) call da_transform_xtoy_geoamv   (grid, iv, y)
26    if (iv%info(polaramv)%nlocal       > 0) call da_transform_xtoy_polaramv (grid, iv, y)
27    if (iv%info(airep)%nlocal          > 0) call da_transform_xtoy_airep    (grid, iv, y)
28    if (iv%info(metar)%nlocal          > 0) call da_transform_xtoy_metar    (grid, iv, y)
29    if (iv%info(ships)%nlocal          > 0) call da_transform_xtoy_ships    (grid, iv, y)
30    if (iv%info(gpspw)%nlocal          > 0) call da_transform_xtoy_gpspw    (grid, iv, y)
31    if (iv%info(gpsref)%nlocal         > 0) call da_transform_xtoy_gpsref   (grid, iv, y)
32    if (iv%info(ssmi_tb)%nlocal        > 0) call da_transform_xtoy_ssmi_tb  (grid, iv, y)
33    if (iv%info(ssmi_rv)%nlocal > 0) call da_transform_xtoy_ssmi_rv  (grid, iv, y)
34    if (iv%info(pilot)%nlocal          > 0) call da_transform_xtoy_pilot    (grid, iv, y)
35    if (iv%info(satem)%nlocal          > 0) call da_transform_xtoy_satem    (grid, iv, y)
36    if (iv%info(ssmt1)%nlocal          > 0) call da_transform_xtoy_ssmt1    (grid, iv, y)
37    if (iv%info(ssmt2)%nlocal          > 0) call da_transform_xtoy_ssmt2    (grid, iv, y)
38    if (iv%info(qscat)%nlocal          > 0) call da_transform_xtoy_qscat    (grid, iv, y)
39    if (iv%info(profiler)%nlocal       > 0) call da_transform_xtoy_profiler (grid, iv, y)
40    if (iv%info(buoy)%nlocal           > 0) call da_transform_xtoy_buoy     (grid, iv, y)
41    if (iv%info(gpsref)%nlocal         > 0) call da_transform_xtoy_gpsref   (grid, iv, y)
42    if (iv%info(radar)%nlocal          > 0) call da_transform_xtoy_radar    (grid, iv, y)
43    if (iv%info(bogus)%nlocal          > 0) call da_transform_xtoy_bogus    (grid, iv, y)
44    if (iv%info(airsr)%nlocal          > 0) call da_transform_xtoy_airsr    (grid, iv, y)
45 
46    if (num_pseudo              > 0) call da_transform_xtoy_pseudo   (grid, iv, y)
47 
48    if (use_rad) then
49       if (rtm_option == rtm_option_rttov) then
50          call da_transform_xtoy_rttov (grid, iv, y)
51       elseif (rtm_option == rtm_option_crtm) then
52 #ifdef CRTM
53          !if (use_crtm_kmatrix) then
54          !   call da_transform_xtoy_crtmk (grid, iv, y)
55          !else if (use_crtm_kmatrix_fast) then
56          !   call da_transform_xtoy_crtmk_f (grid, iv, y)
57          !else
58             call da_transform_xtoy_crtm (grid, iv, y)
59          !end if
60 #endif
61        else
62           call da_warning(__FILE__,__LINE__,(/"Unknown radiative transfer model"/))
63        end if
64    end if
65 
66    if (trace_use) call da_trace_exit("da_transform_xtoy")
67 
68 end subroutine da_transform_xtoy
69 
70