@@ -105,19 +105,66 @@ the ensemble mean of the state vector.
105105For ETKF, see
106106e.g. < https://github.com/PDAF/PDAF/blob/ae9545227bd4804469dff389a9baadcc9e31906e/src/PDAF_etkf_analysis.F90#L441-L444 >
107107
108+ ## locweight ##
108109
110+ Only for localization.
109111
110- ## Command Line Examples ##
112+ Usage depends on interface routines.
111113
112- ### Command Line Example: EnKF ###
114+ ` locweight ` (integer): set weight function for localization,
115+ - default=0
116+ - for constant weight of 1
117+ - possible are integer values 0 to 4.(see ` init_pdaf ` )
113118
114- ` subtype ` (integer) Parameter subtype for Ensemble Kalman Filter (EnKF).
119+ ``` text
120+ locweight == 0 ! Uniform (unit) weighting
121+ locweight == 1 ! Exponential weighting
122+ locweight == 2 ! 5th-order polynomial (Gaspari&Cohn, 1999)
123+ ```
124+ ## cradius ##
115125
116- - Full ensemble integration; analysis for $2\cdot \mathtt{dim \_ obs} > \mathtt{dim \_ ens}$
126+ Only for localization.
117127
118- - Full ensemble integration; analysis for $2\cdot \mathtt{dim \_ obs} \leq \mathtt{dim \_ ens}$
128+ Usage depends on interface routines.
119129
120- - Offline mode
130+ ` cradius ` (old name: ` local_range ` ) (real) set cut-off radius
131+ - 0.0 by default
132+ - any positive value should work.
133+
134+ ## sradius ##
135+
136+ Only for localization.
137+
138+ Usage depends on interface routines.
139+
140+ ` sradius ` (old name ` srange ` ) (real): the support radius of the
141+ localization, default: equal to ` cradius ` .
142+
143+ ` sradius ` has different meanings depending on the value of
144+ ` locweight ` .
145+
146+ - ` locweight == 0 ` : ` sradius ` is not used
147+ - ` locweight == 1 ` : ` sradius ` is distance with weight ` 1/e ` , for
148+ avoiding sharp cut-off, ` cradius ` should be significantly larger
149+ than ` sradius `
150+ - ` locweight == 2 ` : ` sradius ` is the support radius for 5th-order
151+ polynomial, can safely be chosen the same as ` cradius ` ,
152+ parametrization change of the 5th-order polynomial is at ` sradius/2 ` ,
153+ see
154+ < https://github.com/PDAF/PDAF/blob/ed631034956dece8e91e8b588c4cf3aaa7916f49/src/PDAF_local_weight.F90#L147-L176 > .
155+
156+ More detail in PDAF documentation:
157+ < https://pdaf.awi.de/trac/wiki/PDAF_local_weight >
158+
159+
160+ ## Command Line Examples ##
161+
162+ ### Command Line Example: EnKF ###
163+
164+ Main option: ` -filtertype 2 `
165+
166+ Additional options:
167+ - ` -subtype `
121168
122169Example of the model execution using EnKF analysis:
123170
@@ -128,20 +175,27 @@ With this command, the TSMP-PDAF executable `tsmp-pdaf` will be run with
128175will be performed every assimilation cycle with an observation error of
1291760.1 and observations read from the files ` myobs.xxxxx ` .
130177
131- ### Command Line Example: ETKF ###
178+ #### EnKF: subtype # ###
132179
133- ` subtype ` (integer) Parameter subtype for Ensemble Transform Kalman
134- Filter (ETKF).
180+ ` subtype ` (integer) Parameter subtype for Ensemble Kalman Filter (EnKF).
181+
182+ ``` fortran
183+ IF (subtype == 0) THEN
184+ WRITE (*, '(a, 14x, a)') 'PDAF', '--> EnKF with analysis for large observation dimension'
185+ ELSE IF (subtype == 1) THEN
186+ WRITE (*, '(a, 14x, a)') 'PDAF', '--> EnKF with analysis for small observation dimension'
187+ ELSE IF (subtype == 5) THEN
188+ WRITE (*, '(a, 14x, a)') 'PDAF', '--> offline mode'
135189
136- - full ensemble integration; apply T-matrix analogously to SEIK
190+ ```
137191
138- - full ensemble integration; formulation without T matrix
139192
140- - Fixed error space basis; analysis with T-matrix
193+ ### Command Line Example: ETKF ###
141194
142- - Fixed state covariance matrix; analysis with T-matrix
195+ Main option: ` -filtertype 4 `
143196
144- - Offline mode; analysis with T-matrix
197+ Additional options:
198+ - ` -subtype `
145199
146200Example of the model execution using EtKF analysis:
147201
@@ -152,18 +206,31 @@ With this command, the TSMP-PDAF executable `tsmp-pdaf` will be run with
152206will be performed every assimilation cycle with an observation error of
1532070.1 and observations read from the files ` myobs.xxxxx ` .
154208
155- ### Command Line Example: ESTKF ###
209+ #### ETKF: subtype # ###
156210
157- ` subtype ` (integer) Parameter subtype for Error Subspace Transform Kalman Filter
158- (ESTKF ).
211+ ` subtype ` (integer) Parameter subtype for Ensemble Transform Kalman
212+ Filter (ETKF ).
159213
160- - Standard implementation with ensemble integration
214+ ``` fortran
215+ IF (subtype == 0) THEN
216+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> ETKF using T-matrix'
217+ ELSE IF (subtype == 1) THEN
218+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> ETKF following Hunt et al. (2007)'
219+ ELSE IF (subtype == 2) THEN
220+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> ETKF with fixed error-space basis'
221+ ELSE IF (subtype == 3) THEN
222+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> ETKF with fixed state covariance matrix'
223+ ELSE IF (subtype == 5) THEN
224+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> offline mode'
161225
162- - Fixed error space basis
226+ ```
227+
228+ ### Command Line Example: ESTKF ###
163229
164- - Fixed state covariance matrix
230+ Main option: ` -filtertype 6 `
165231
166- - Offline mode
232+ Additional options:
233+ - ` -subtype `
167234
168235Example of the model execution using EstKF analysis:
169236
@@ -174,24 +241,32 @@ With this command, the TSMP-PDAF executable `tsmp-pdaf` will be run with
174241will be performed every assimilation cycle with an observation error of
1752420.1 and observations read from the files ` myobs.xxxxx ` .
176243
177- ### Command Line Example: LETKF ###
178-
179- ` cradius ` (deprecated: ` local_range ` ) (real) set cut-off radius, 0.0
180- by default, any positive value should work.
244+ #### ESTKF: subtype ####
181245
182- ` locweight ` (integer) set weight function for localization, default=0
183- for constant weight of 1; possible are integer values 0 to 4 .
246+ ` subtype ` (integer) Parameter subtype for Error Subspace Transform Kalman Filter
247+ (ESTKF) .
184248
185- ` subtype ` (integer) Parameter subtype for Local Ensemble Transform
186- Kalman Filter (Letkf).
249+ ``` fortran
250+ IF (subtype == 0) THEN
251+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> Standard ESTKF'
252+ ELSE IF (subtype == 2) THEN
253+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> ESTKF with fixed error-space basis'
254+ ELSE IF (subtype == 3) THEN
255+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> ESTKF with fixed state covariance matrix'
256+ ELSE IF (subtype == 5) THEN
257+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> offline mode'
187258
188- - full ensemble integration; apply T-matrix analogously to SEIK
259+ ```
189260
190- - Fixed error space basis; analysis with T-matrix
261+ ### Command Line Example: LETKF ###
191262
192- - Fixed state covariance matrix; analysis with T-matrix
263+ Main option: ` -filtertype 5 `
193264
194- - Offline mode; analysis with T-matrix.
265+ Additional options:
266+ - ` -subtype `
267+ - ` -locweight `
268+ - ` -cradius `
269+ - ` -sradius `
195270
196271Example of the model execution using Letkf analysis:
197272
@@ -202,26 +277,35 @@ With this command, the TSMP-PDAF executable `tsmp-pdaf` will be run with
202277will be performed every assimilation cycle with an observation error of
2032780.1 and observations read from the files ` myobs.xxxxx ` .
204279
205- ### Command Line Example: LESTKF ###
206-
207- ` cradius ` (deprecated: ` local_range ` ) (real) set cut-off radius, 0.0 by default, any
208- positive value should work.
280+ #### LETKF subtype
209281
210- ` locweight ` (integer) set weight function for localization, default=0
211- for constant weight of 1; possible are integer values 0 to 4.
212-
213- ` subtype ` (integer) Parameter subtype for Local Error Subspace Transform Kalman
214- Filter (LESTKF).
215-
216- - Standard implementation with ensemble integration
282+ ` subtype ` (integer) Parameter subtype for Local Ensemble Transform
283+ Kalman Filter (LETKF).
284+
285+ ``` f90
286+ IF (subtype == 0) THEN
287+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> LETKF using T-matrix'
288+ ELSE IF (subtype == 1) THEN
289+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> LETKF following Hunt et al. (2007)'
290+ ELSE IF (subtype == 2) THEN
291+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> LETKF with fixed error-space basis'
292+ ELSE IF (subtype == 3) THEN
293+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> LETKF with fixed state covariance matrix'
294+ ELSE IF (subtype == 5) THEN
295+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> offline mode'
296+ ```
217297
218- - Fixed error space basis
298+ ### Command Line Example: LESTKF ###
219299
220- - Fixed state covariance matrix
300+ Main option: ` -filtertype 7 `
221301
222- - Offline mode
302+ Additional options:
303+ - ` -subtype `
304+ - ` -locweight `
305+ - ` -cradius `
306+ - ` -sradius `
223307
224- Example of the model execution using Lestkf analysis:
308+ Example of the model execution using LESTKF analysis:
225309
226310 mpiexec -np 512 ./tsmp-pdaf -n_modeltasks 64 -filtertype 7 -cradius 3 -locweight 0 -subtype 0 -delt_obs 1 -rms_obs 0.1 -obs_filename myobs
227311
@@ -230,6 +314,23 @@ With this command, the TSMP-PDAF executable `tsmp-pdaf` will be run with
230314will be performed every assimilation cycle with an observation error of
2313150.1 and observations read from the files ` myobs.xxxxx ` .
232316
317+ #### LESTKF: subtype ####
318+
319+ ` subtype ` (integer) Parameter subtype for Local Error Subspace Transform Kalman
320+ Filter (LESTKF).
321+
322+
323+ ``` fortran
324+ IF (subtype == 0) THEN
325+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> Standard LESTKF'
326+ ELSE IF (subtype == 2) THEN
327+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> LESTKF with fixed error-space basis'
328+ ELSE IF (subtype == 3) THEN
329+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> LESTKF with fixed state covariance matrix'
330+ ELSE IF (subtype == 5) THEN
331+ WRITE (*, '(a, 12x, a)') 'PDAF', '--> offline mode'
332+ ```
333+
233334### Command Line Example: LENKF ###
234335
235336Main option: ` -filtertype 8 `
@@ -252,49 +353,9 @@ analysis will be performed every assimilation cycle with an
252353observation error of 0.1 and observations read from the files
253354` myobs.xxxxx ` .
254355
255- #### subtype
356+ #### LENKF: subtype ####
256357
257358` subtype ` (integer) Parameter subtype for Localized Ensemble Kalman
258359Filter (Lenkf).
259360- Full ensemble integration; analysis with covariance localization
260361- Offline mode
261-
262- #### locweight
263-
264- ` locweight ` (integer): set weight function for localization,
265- - default=0
266- - for constant weight of 1
267- - possible are integer values 0 to 4.(see ` init_pdaf ` )
268-
269- ``` text
270- locweight == 0 ! Uniform (unit) weighting
271- locweight == 1 ! Exponential weighting
272- locweight == 2 ! 5th-order polynomial (Gaspari&Cohn, 1999)
273- ```
274- #### cradius
275-
276- ` cradius ` (old name: ` local_range ` ) (real) set cut-off radius
277- - 0.0 by default
278- - any positive value should work.
279-
280- #### sradius
281-
282- ` sradius ` (old name ` srange ` ) (real): the support radius of the
283- localization, default: equal to ` cradius ` .
284-
285- ` sradius ` has different meanings depending on the value of
286- ` locweight ` .
287-
288- - ` locweight == 0 ` : ` sradius ` is not used
289- - ` locweight == 1 ` : ` sradius ` is distance with weight ` 1/e ` , for
290- avoiding sharp cut-off, ` cradius ` should be significantly larger
291- than ` sradius `
292- - ` locweight == 2 ` : ` sradius ` is the support radius for 5th-order
293- polynomial, can safely be chosen the same as ` cradius ` ,
294- parametrization change of the 5th-order polynomial is at ` sradius/2 ` ,
295- see
296- < https://github.com/PDAF/PDAF/blob/ed631034956dece8e91e8b588c4cf3aaa7916f49/src/PDAF_local_weight.F90#L147-L176 > .
297-
298- More detail in PDAF documentation:
299- < https://pdaf.awi.de/trac/wiki/PDAF_local_weight >
300-
0 commit comments