da_transform_xtoy_adj.inc

References to this file elsewhere.
1 subroutine da_transform_xtoy_adj(grid, iv, jo_grad_y, jo_grad_x)
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. inc vector (o-b).
11    type (y_type),  intent(inout) :: jo_grad_y   ! grad_y(jo)
12    type (x_type),  intent(inout) :: jo_grad_x   ! grad_x(jo)
13 
14    if (trace_use) call da_trace_entry("da_transform_xtoy_adj")
15   
16    !--------------------------------------------------------------------------
17    ! [1.0] observation operator y = H(x):
18    !--------------------------------------------------------------------------
19   
20    if (iv%info(sound)%nlocal > 0) then
21       call da_transform_xtoy_sound_adj     (iv, jo_grad_y, jo_grad_x) 
22       call da_transform_xtoy_sonde_sfc_adj (grid, iv, jo_grad_y, jo_grad_x) 
23    end if
24 
25    if (iv%info(synop)%nlocal    > 0) call da_transform_xtoy_synop_adj    (grid, iv, jo_grad_y, jo_grad_x)
26    if (iv%info(geoamv)%nlocal   > 0) call da_transform_xtoy_geoamv_adj   (iv, jo_grad_y, jo_grad_x)
27    if (iv%info(polaramv)%nlocal > 0) call da_transform_xtoy_polaramv_adj (iv, jo_grad_y, jo_grad_x)   
28    if (iv%info(airep)%nlocal    > 0) call da_transform_xtoy_airep_adj    (iv, jo_grad_y, jo_grad_x)
29    if (iv%info(metar)%nlocal    > 0) call da_transform_xtoy_metar_adj    (grid, iv, jo_grad_y, jo_grad_x)
30    if (iv%info(ships)%nlocal    > 0) call da_transform_xtoy_ships_adj    (grid, iv, jo_grad_y, jo_grad_x)
31    if (iv%info(gpspw)%nlocal    > 0) call da_transform_xtoy_gpspw_adj    (grid, iv, jo_grad_y, jo_grad_x)
32    if (iv%info(gpsref)%nlocal   > 0) call da_transform_xtoy_gpsref_adj   (iv, jo_grad_y, jo_grad_x)
33    if (iv%info(ssmi_tb)%nlocal  > 0) call da_transform_xtoy_ssmi_tb_adj  (grid, iv, jo_grad_y, jo_grad_x)
34    if (iv%info(ssmi_rv)%nlocal  > 0) call da_transform_xtoy_ssmi_rv_adj  (grid, iv, jo_grad_y, jo_grad_x)
35    if (iv%info(pilot)%nlocal    > 0) call da_transform_xtoy_pilot_adj    (iv, jo_grad_y, jo_grad_x)
36    if (iv%info(satem)%nlocal    > 0) call da_transform_xtoy_satem_adj    (grid, iv, jo_grad_y, jo_grad_x)
37    if (iv%info(ssmt1)%nlocal    > 0) call da_transform_xtoy_ssmt1_adj    (iv, jo_grad_y, jo_grad_x)
38    if (iv%info(ssmt2)%nlocal    > 0) call da_transform_xtoy_ssmt2_adj    (iv, jo_grad_y, jo_grad_x)
39    if (iv%info(qscat)%nlocal    > 0) call da_transform_xtoy_qscat_adj    (iv, jo_grad_y, jo_grad_x)
40    if (iv%info(profiler)%nlocal > 0) call da_transform_xtoy_profiler_adj (iv, jo_grad_y, jo_grad_x)
41    if (iv%info(buoy)%nlocal     > 0) call da_transform_xtoy_buoy_adj     (grid, iv, jo_grad_y, jo_grad_x)
42    if (iv%info(gpsref)%nlocal   > 0) call da_transform_xtoy_gpsref_adj   (iv, jo_grad_y, jo_grad_x)
43    if (iv%info(radar)%nlocal    > 0) call da_transform_xtoy_radar_adj    (grid, iv, jo_grad_y, jo_grad_x)
44    if (iv%info(bogus)%nlocal    > 0) call da_transform_xtoy_bogus_adj    (grid, iv, jo_grad_y, jo_grad_x)
45    if (iv%info(airsr)%nlocal    > 0) call da_transform_xtoy_airsr_adj    (iv, jo_grad_y, jo_grad_x)
46 
47    if (num_pseudo            > 0) call da_transform_xtoy_pseudo_adj   (iv, jo_grad_y, jo_grad_x)
48 
49    if (use_rad) then
50       if (rtm_option == rtm_option_rttov) then
51          call da_transform_xtoy_rttov_adj (iv, jo_grad_y, jo_grad_x)
52       elseif (rtm_option == rtm_option_crtm) then
53 #ifdef CRTM
54          !if (use_crtm_kmatrix) then
55          !   call da_transform_xtoy_crtmk_adj (iv, jo_grad_y, jo_grad_x)
56          !else if (use_crtm_kmatrix_fast) then
57          !   call da_transform_xtoy_crtmk_f_adj (iv, jo_grad_y, jo_grad_x)
58          !else
59             call da_transform_xtoy_crtm_adj (iv, jo_grad_y, jo_grad_x)
60          !end if
61 #endif
62       else
63          call da_warning(__FILE__,__LINE__,(/"Unknown radiative transfer model"/))
64       end if
65    end if
66 
67    if (trace_use) call da_trace_exit("da_transform_xtoy_adj")
68 
69 end subroutine da_transform_xtoy_adj
70 
71