da_transform_xtoy.inc
References to this file elsewhere.
1 subroutine da_transform_xtoy(xb, iv, xa, xp, y)
2
3 !-------------------------------------------------------------------------
4 ! Purpose: TBD
5 !-------------------------------------------------------------------------
6
7 implicit none
8
9 type (xb_type), intent(in) :: xb ! first guess state.
10 type (ob_type), intent(in) :: iv ! obs. increment vector (o-b).
11 type (x_type), intent(inout) :: xa ! gridded analysis increment.
12 type (xpose_type), intent(in) :: xp ! Domain decomposition vars.
13 type (y_type), intent(inout) :: y ! y = h (xa)
14
15 if (trace_use) call da_trace_entry("da_transform_xtoy")
16
17 !--------------------------------------------------------------------------
18 ! [1.0] Radiosonde observation operator y = H(x):
19 !--------------------------------------------------------------------------
20
21 call da_transform_xtoy_sound (xa, iv, xp, y)
22 call da_transform_xtoy_sonde_sfc (xa, xb, iv, xp, y)
23
24 !---------------------------------------------------------------------------
25 ! [2.0] Surface observation operator y = H(x):
26 !---------------------------------------------------------------------------
27
28 call da_transform_xtoy_synop (xa, xb, iv, xp, y)
29
30 !---------------------------------------------------------------------------
31 ! [3.0] Cloud track wind observation operator y = H(x):
32 !---------------------------------------------------------------------------
33
34 ! Geostationary Satellite
35 call da_transform_xtoy_geoamv(xa, iv, xp, y)
36 ! Polar orbiting Satellite
37 call da_transform_xtoy_polaramv(xa, iv, xp, y)
38
39 !---------------------------------------------------------------------------
40 ! [4.0] Aircraft observation operator y = H(x):
41 !---------------------------------------------------------------------------
42
43 call da_transform_xtoy_airep (xa, iv, xp, y)
44
45 !---------------------------------------------------------------------------
46 ! [5.0] Metar observation operator y = H(x):
47 !---------------------------------------------------------------------------
48
49 call da_transform_xtoy_metar (xa, xb, iv, xp, y)
50
51 !---------------------------------------------------------------------------
52 ! [6.0] Ship observation operator y = H(x):
53 !---------------------------------------------------------------------------
54
55 call da_transform_xtoy_ships (xa, xb, iv, xp, y)
56
57 !---------------------------------------------------------------------------
58 ! [7.0] GPS TPW/ZTD observation operator y = H(x):
59 !---------------------------------------------------------------------------
60
61 call da_transform_xtoy_gpspw (xb, iv, xa, xp, y)
62
63
64 !---------------------------------------------------------------------------
65 ! [8.0] SSMI observation operator y = H(x):
66 !------------------------------------------------------------------------------
67
68 call da_transform_xtoy_ssmi (xb, iv, xa, y)
69
70 !---------------------------------------------------------------------------
71 ! [9.0] Pilot observation operator y = H(x):
72 !---------------------------------------------------------------------------
73
74 call da_transform_xtoy_pilot (xa, iv, xp, y)
75
76 !---------------------------------------------------------------------------
77 ! [10.0] Pseudo obs observation operator y = H(x):
78 !----------------------------------------------------------------------------
79
80 call da_transform_xtoy_pseudo (xa, iv, xp, y)
81
82 !---------------------------------------------------------------------------
83 ! [11.0] Satem observation operator y = H(x):
84 !---------------------------------------------------------------------------
85
86 call da_transform_xtoy_satem (xa, xb, iv, xp, y)
87
88 !---------------------------------------------------------------------------
89 ! [12.0] SSM/T1 observation operator y = H(x):
90 !---------------------------------------------------------------------------
91
92 call da_transform_xtoy_ssmt1 (xa, iv, xp, y)
93
94 !---------------------------------------------------------------------------
95 ! [13.0] SSM/T2 observation operator y = H(x):
96 !---------------------------------------------------------------------------
97
98 call da_transform_xtoy_ssmt2 (xa, iv, xp, y)
99
100 !---------------------------------------------------------------------------
101 ! [14.0] Scatterometer observation operator y = H(x):
102 !---------------------------------------------------------------------------
103
104 call da_transform_xtoy_qscat (xa, iv, xp, y)
105
106 !---------------------------------------------------------------------------
107 ! [15.0] Profiler observation operator y = H(x):
108 !---------------------------------------------------------------------------
109
110 call da_transform_xtoy_profiler (xa, iv, xp, y)
111
112 !---------------------------------------------------------------------------
113 ! [16.0] Buoy observation operator y = H(x):
114 !---------------------------------------------------------------------------
115
116 call da_transform_xtoy_buoy (xa, xb, iv, xp, y)
117
118 !---------------------------------------------------------------------------
119 ! [17.0] GPS Refractivity observation operator y = H(x):
120 !---------------------------------------------------------------------------
121
122 call da_transform_xtoy_gpsref (xa, iv, xp, y)
123
124 !---------------------------------------------------------------------------
125 ! [18.0] Radar observation operator y = H(x):
126 !------------------------------------------------------------------------------
127
128 call da_transform_xtoy_radar (xa, xb, iv, xp, y)
129
130 !---------------------------------------------------------------------------
131 ! [19.0] TC bogus observation operator y = H(x):
132 !---------------------------------------------------------------------------
133
134 call da_transform_xtoy_bogus (xa, xb, iv, xp, y)
135
136 !---------------------------------------------------------------------------
137 ! [20.0] AIRS retrievals observation operator y = H(x):
138 !---------------------------------------------------------------------------
139
140 call da_transform_xtoy_airsr (xa, iv, xp, y)
141
142 !---------------------------------------------------------------------------
143 ! [20.0] Radiance observation operator y = H(x):
144 !---------------------------------------------------------------------------
145
146 if (use_rad) then
147 if (rtm_option == rtm_option_rttov) then
148 call da_transform_xtoy_rttov (xa, iv, xp, y)
149 elseif (rtm_option == rtm_option_crtm) then
150 #ifdef CRTM
151 !if (use_crtm_kmatrix) then
152 ! call da_transform_xtoy_crtmk (xa, iv, xp, y)
153 !else if (use_crtm_kmatrix_fast) then
154 ! call da_transform_xtoy_crtmk_f (xa, iv, xp, y)
155 !else
156 call da_transform_xtoy_crtm (xa, iv, xp, y)
157 !end if
158 #endif
159 else
160 call da_warning(__FILE__,__LINE__,(/"Unknown radiative transfer model"/))
161 endif
162 end if
163
164 if (trace_use) call da_trace_exit("da_transform_xtoy")
165
166 end subroutine da_transform_xtoy
167
168