Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / README.namelist
blob81c0acad6f91430efc39c69bdbda802228e19951
1 Description of WRFDA namelist variables, defined in Registry/registry.var
2 --------------------------------------------------------------------------------
4  Note: variables followed by (...) indicate that this variable can or needs to
5        be defined for more than 1 value.
7 &wrfvar1
8   update_sfcdiags         = .false. ; .false.: not updating T2/Q2/U10/V10/TH2 with WRFDA re-diagnosed values.
9                                     ;          set to .true. only when using sf_sfclay_physics=91 in WRF and
10                                     ;          the first guess file contains QSFC, ZNT, UST, MOL, PBLH, HFX,
11                                     ;          QFX, and REGIME from the WRF model.
12                                     ; .true.: updating T2/Q2/U10/V10/TH2 with WRFDA re-diagnosed values.
13                                     ;         if not using sf_sfclay_physics=91 in WRF and QSFC, ZNT, UST, MOL,
14                                     ;         PBLH, HFX, QFX, and REGIME are not available in the first guess,
15                                     ;         there will be large inconsistency between WRFDA and WRF
16                                     ;         T2/Q2/U10/V10/TH2
17   use_wrf_sfcinfo         = .true.  ;
18   use_background_errors   = .true.  ;
19   write_iv_gpsztd         = .false. ; .true.: write out ztd innov information
20   write_increments        = .false. ; .true.: write out a binary analysis_increment file
21   var4d                   = .false. ; .true.: 4D-VAR
22   var4d_bin               = 3600    ; second, Observation sub-window bin legnth for 4D-Var
23   var4d_bin_rain          = 3600    ; second, precipitation observation sub-window length for 4D-Var 
24   var4d_lbc               = .true.  ; on/off switch for lateral boundary control in 4D-Var
25   multi_inc               = 0       ; >0: multi-incremental run
26      ; print_detail_xxx: output extra (sometimes can be too many) diagnostics for debugging.
27      ; not recommended to turn them on for production runs.
28   print_detail_radar      = .false.
29   print_detail_rain       = .false.
30   print_detail_rad        = .false.
31   print_detail_xa         = .false.
32   print_detail_xb         = .false.
33   print_detail_obs        = .false.
34   print_detail_map        = .false.
35   print_detail_grad       = .false. ; .true.: to print out detailed gradient of each observation type at
36                                     ;         the first and final iterations.
37   print_detail_outerloop  = .false. ; .true.: to write out wrfvar_output file at different outer loops
38   check_max_iv_print      = .true.  ; obsolete (only used by Radar)
39   write_gts_omb_oma       = .true.  ;(default)
40   write_rej_obs_conv      = .false. ;(default), the information is not too helpful
41   write_unpert_obs        = .false. ;(default), the information is not usually used
43 &wrfvar2
44   analysis_accu           = 900     ; seconds, if time difference between namelist setting
45                                     ; (analysis_date) and date info read in from first guess
46                                     ; is larger than analysis_accu, WRFDA will abort
47   calc_w_increment        = .false. ; .true.: the increment of the vertical velocity w will be 
48                                     ;         diagnosed based on the increments of other fields.
49                                     ;         If use_radarobs=.true., the w increments are always
50                                     ;         calculated.
51   dt_cloud_model          = .false. ; 
53   wind_sd                 = .false. ; .true.: wind values which are reported as speed/direction will be assimilated as such
54                                     ; .false.: default behavior: all wind obs are converted to u/v prior to assimilation
55   wind_sd_buoy            = .false. ; -  "obs. types employing wind_sd"
56   wind_sd_synop           = .false. ; -  "obs. types employing wind_sd"
57   wind_sd_ships           = .false. ; -  "obs. types employing wind_sd"
58   wind_sd_metar           = .false. ; -  "obs. types employing wind_sd"
59   wind_sd_sound           = .false. ; -  "obs. types employing wind_sd"
60   wind_sd_pilot           = .false. ; -  "obs. types employing wind_sd"
61   wind_sd_airep           = .false. ; -  "obs. types employing wind_sd"
62   wind_sd_qscat           = .false. ; -  "obs. types employing wind_sd"
63   wind_sd_tamdar          = .false. ; -  "obs. types employing wind_sd"
64   wind_sd_geoamv          = .false. ; -  "obs. types employing wind_sd"
65   wind_sd_mtgirs          = .false. ; -  "obs. types employing wind_sd"
66   wind_sd_polaramv        = .false. ; -  "obs. types employing wind_sd"
67   wind_sd_profiler        = .false. ; -  "obs. types employing wind_sd"
68   wind_stats_sd           = .false. ; -  "statistics output as sd" ""  ""
70   qc_rej_both             = .false  ; .true.: if either u or v (spd or dir) do not pass quality control, both obs are rejected
71                                     ; .false.: default behavior: qc on wind obs is handled individually
73 &wrfvar3
74   fg_format               = 1       ; 1: fg_format_wrf_arw_regional (default)
75                                     ; 2: wrf-nmm format             (untested)
76                                     ; 3: fg_format_wrf_arw_global   (untested)
77                                     ; 4: fg_format_kma_global       (untested)
78   ob_format               = 2       ; 1: ob_format_bufr (NCEP PREPBUFR), read in data from ob.bufr
79                                     ; 2: ob_format_ascii (output from obsproc), read in data from ob.ascii (default)
80   ob_format_gpsro         = 2       ; for ob_format=2 only...when ob_format=1, GPSRO will be read from ob.bufr
81                                     ; 1: read in GPSRO data from gpsro.bufr
82                                     ; 2: read in GPSRO data from ob.ascii (default)
83   num_fgat_time           = 1       ; 1: 3DVAR
84                                     ; > 1: number of time slots for FGAT and 4DVAR
86 &wrfvar4
87   thin_conv                         = .true.  ; for ob_format=1 (NCEP PREPBUFR) only.
88                                               ; thinning is mandatory for ob_format=1 as time-duplicate 
89                                               ; data are "thinned" within thinning routine, however, 
90                                               ; thin_conv can be set to .false. for debugging purpose.
91   thin_conv_ascii                   = .false. ; .true.: thinning for ob_format=2 (ASCII) observations 
92   thin_conv_opt (num_ob_indexes)    = 1       ; when thin_conv=true or thin_conv_ascii=true, each ob type
93                                               ; can set its thin_conv_opt.
94                                               ; the index/order of each ob type follows the definition in
95                                               ; WRFDA/var/da/da_control/da_control.f90
96                                               ; when thin_conv=false or thin_conv_ascii=false, WRFDA sets thin_conv_opt(:)=0
97                                               ; 0: no thinning
98                                               ; 1: thinning is on, keep one ob within a thinning box
99                                               ; 2: keep multiple obs within a thinning box, only applies to use_satwnd_bufr (polaramv)
100                                               ; 3: superob in horizontal, only applies to use_satwnd_bufr (polaramv)
101                                               ; 4: superob in horizontal and vertical (need to set also thin_mesh_vert_conv),
102                                               ;    only applies to use_satwnd_bufr (polaramv)
103   thin_mesh_conv (num_ob_indexes)   = 20.0    ; km, size of horizontal thinning mesh boxes for conventional (non-radiance) 
104                                               ; observations. Each observation type can set its thinning mesh and 
105                                               ; the index/order follows the definition in 
106                                               ; WRFDA/var/da/da_control/da_control.f90
107   thin_mesh_vert_conv(num_ob_indexes) = 100.0 ; hPa, size of vertical thinning mesh boxes for conventional (non-radiance)
108                                               ; observations. Each observation type can set its thinning mesh and
109                                               ; the index/order of each ob type follows the definition in
110                                               ; WRFDA/var/da/da_control/da_control.f90
111                                               ; only used when thin_conv_opt=4 and only implemented for use_satwnd_bufr (polaramv)
112      ; use_xxxobs - .true.: assimilate xxx obs if available
113      ;              .false.: do not assimilate xxx obs even if available
114   use_synopobs            = .true.   
115   use_shipsobs            = .true.
116   use_metarobs            = .true.
117   use_soundobs            = .true.
118   use_pilotobs            = .true.
119   use_airepobs            = .true.
120   use_geoamvobs           = .true.
121   use_polaramvobs         = .true.
122   use_satwnd_bufr         = .true. ; when ob_format=1 and satwnd.bufr exists in the working directory
123                                    ; satellite AMVs are read in from satwnd.bufr and processed as polaramv
124                                    ; this is to add additional AMVs that are not included in prepBUFR
125                                    ; AMVs from prepBUFR are processed as geoamv in WRFDA
126   use_bogusobs            = .true.
127   use_buoyobs             = .true.
128   use_profilerobs         = .true.
129   use_satemobs            = .true.
130   use_gpspwobs            = .true.
131   use_gpsztdobs           = .false.  ; .true.: Assimilate GPS Zenith Total Delay data
132   use_gpsrefobs           = .true.   ; Assimilate GPSRO in refractivity quantity
133   use_gpsephobs           = .false.  ; .true.: new in V4.0 for applying non-local Excess PHase operator.
134   top_km_gpsro            = 30.0     ; control the rejection of higher observations
135   bot_km_gpsro            = 0.0      ; control the rejection of lower observations
136   use_qscatobs            = .true.
137   use_radarobs            = .false.  ; .true.: Assimilate radar data; see User's Guide for more information
138   use_radar_rv            = .false.  ; Assimilate radar velocity observations
139   use_radar_rf            = .false.  ; Assimilate radar reflectivity using original reflectivity operator (total mixing ratio)
140   use_radar_rhv           = .false.  ; Assimilate retrieved hydrometeors (qr, qs, qg) from radar reflectivity
141   use_radar_rqv           = .false.  ; Assimilate estimated humidity (qv) from radar reflectivity
142   use_rainobs             = .false.  ; .true.: Assimilate precipitation data; see User's Guide for more information
143   thin_rainobs            = .true.   ; perform thinning on preciptation data
144   use_airsretobs          = .true.   ; Assimilate retrieved T/Q profiles from AIRS instrument
145      ; the satellite radiance use_xxxobs variables below only control whether
146      ; WRFDA will read in the corresponding xxxx.bufr file; they do not control
147      ; if the data will be assimilated or not.
148      ; Some more variables have to be set in &wrfvar14 in order
149      ; to assimilate radiance data.
150   use_hirs2obs            = .false.  ; .true.: to read in data from hirs2.bufr
151   use_hirs3obs            = .false.  ; .true.: to read in data from hirs3.bufr
152   use_hirs4obs            = .false.  ; .true.: to read in data from hirs4.bufr
153   use_mhsobs              = .false.  ; .true.: to read in data from mhs.bufr
154   use_msuobs              = .false.  ; .true.: to read in data from msu.bufr
155   use_amsuaobs            = .false.  ; .true.: to read in data from amsua.bufr
156   use_amsubobs            = .false.  ; .true.: to read in data from amsub.bufr
157   use_airsobs             = .false.  ; .true.: to read in data from airs.bufr
158   use_eos_amsuaobs        = .false.  ; .true.: to read in EOS AMSUA data from airs.bufr
159   use_ssmisobs            = .false.  ; .true.: to read in data from ssmis.bufr
160   use_atmsobs             = .false.  ; .true.: to read in data from atms.bufr
161   use_iasiobs             = .false.  ; .true.: to read in data from iasi.bufr
162   use_seviriobs           = .false.  ; .true.: to read in data from seviri.bufr
163   use_amsr2obs            = .false.  ; .true.: to read in AMSR2 data. The file names depend on the data type;
164                                      ;         see the User's Guide for more details
165   use_goesimgobs          = .false.  ;
166   use_obs_errfac          = .false.  ; .true.: apply obs error tuning factors if errfac.dat is available
167                                      ; for conventional data only
169 &wrfvar5
170   check_max_iv            = .true.   ; .true.: reject the observations whose innovations (O-B) are
171                                      ;         larger than a maximum value defined as a multiple of
172                                      ;         the observation error for each observation.
173                                      ;         i.e., inv > (obs_error*factor) --> fails_error_max
174                                      ;         the default maximum value is 5 times the observation error.
175                                      ;         the factor of 5 can be changed through max_error_* settings.
176   max_error_t             = 5.0      ; maximum check_max_iv error check factor for t
177   max_error_uv            = 5.0      ; maximum check_max_iv error check factor for u and v
178   max_error_pw            = 5.0      ; maximum check_max_iv error check factor for precipitable water
179   max_error_ref           = 5.0      ; maximum check_max_iv error check factor for gps refractivity
180   max_error_eph           = 5.0      ;
181   max_error_q             = 5.0      ; maximum check_max_iv error check factor for specific humidity
182   max_error_p             = 5.0      ; maximum check_max_iv error check factor for pressure
183   max_error_thickness     = 5.0      ; maximum check_max_iv error check factor for thickness
184   max_error_rv            = 5.0      ; maximum check_max_iv error check factor for radar radial velocity
185   max_error_rf            = 5.0      ; maximum check_max_iv error check factor for radar reflectivity
186   max_error_rain          = 5.0      ; maximum check_max_iv error check factor for precipitation 
187   max_omb_spd             = 100.0    ; Max absolute value of innovation for wind speed obs in m/s; if 
188                                      ; innov. is greater than this value it will be set to zero
189   max_omb_dir             = 1000.0   ; Max absolute value of innovation for wind direction obs in degrees; 
190                                      ; if innov. is greater than this value it will be set to zero
191   max_error_spd           = 5.0      ; maximum check_max_iv error check factor for wind speed
192   max_error_dir           = 5.0      ; maximum check_max_iv error check factor for wind direction
193   put_rand_seed           = .false.  ; For RANDOMCV
194                                      ; true:  enter your own seed numbers to generate random background perturbations. 
195                                      ; false: perturbations will be generated "randomly" and give new perturbations each time
197 &wrfvar6   ; for minimization options
198   max_ext_its                  = 1         ; number of outer loops
199   ntmax (max_outer_iterations) = 75        ; maximum number of iterations in inner loop 
200                                            ; (used dimension: max_ext_its)
201   eps (max_outer_iterations)   = 0.01      ; minimization convergence criterion (used dimension: max_ext_its)
202                                            ; minimization stops when the norm of the gradient of the cost 
203                                            ; function gradient is reduced by a factor of eps.
204                                            ; inner minimization stops either when the criterion is met or 
205                                            ; when inner iterations reach ntmax.
206   orthonorm_gradient           = .false.   ; .true.: the gradient vectors are stored during 
207                                            ;         the Conjugate Gradient for each iteration and 
208                                            ;         used to re-orthogonalize the new gradient. 
209                                            ;         This requires extra storage of large vectors 
210                                            ;         (each one being the size of the control variable)
211                                            ;         but results in a better convergence of the 
212                                            ;         Conjugate Gradient after around 20 iterations.
214 &wrfvar7
215   cv_options              = 5         ; 3: NCEP Background Error model
216                                       ; 5: NCAR Background Error model (default)
217                                       ; 6: Moisture-multivariate background error statistics
218                                       ; 7: New NCAR Background Error model (CV7)
219   ; For cv_options= 5, 6, or 7, be.dat must be generated by GEN_BE. See User's Guide for details.
220   ;
221   ; as1 - as5 are for cv_options=3 only
222   as1 (3)         = 0.25, 1.0, 1.5    ; tuning factors for variance, horizontal and vertical scales for 
223                                       ; control variable 1 = stream function. For cv_options=3 only.
224   as2 (3)         = 0.25, 1.0, 1.5    ; tuning factors for variance, horizontal and vertical scales for 
225                                       ; control variable 2 - unbalanced potential velocity. For cv_options=3 only.
226   as3 (3)         = 0.25, 1.0, 1.5    ; tuning factors for variance, horizontal and vertical scales for 
227                                       ; control variable 3 - unbalanced temperature. For cv_options=3 only.
228   as4 (3)         = 0.25, 1.0, 1.5    ; tuning factors for variance, horizontal and vertical scales for 
229                                       ; control variable 4 - pseudo relative humidity. For cv_options=3 only.
230   as5 (3)         = 0.25, 1.0, 1.5    ; tuning factors for variance, horizontal and vertical scales for 
231                                       ; control variable 5 - unbalanced surface pressure. For cv_options=3 only.
233   rf_passes               = 6         ; number of passes of recursive filter.
234   ; var_scaling1-5 and len_scaling1-5 are for cv_options=5, 6, and 7 only
235   var_scaling1 (max_outer_iterations)  = 1.0   ; tuning factor of background error covariance for control variable 1.
236                                                ; control variable 1 is stream function for cv_options=5 and 6.
237                                                ; control variable 1 is u-wind component for cv_options=7.
238   var_scaling2 (max_outer_iterations)  = 1.0   ; tuning factor of background error covariance for control variable 2.
239                                                ; control variable 2 is unbalanced velocity potential for cv_options=5 and 6.
240                                                ; control variable 2 is v-wind component for cv_options=7.
241   var_scaling3 (max_outer_iterations)  = 1.0   ; tuning factor of background error covariance for control variable 3.
242                                                ; control variable 3 is unbalanced temperature for cv_options=5 and 6.
243                                                ; control variable 3 is temperature for cv_options=7.
244   var_scaling4 (max_outer_iterations)  = 1.0   ; tuning factor of background error covariance for control variable 4.
245                                                ; control variable 4 is pseudo relative humidity for cv_options=5 and 7.
246                                                ; control variable 4 is unbalanced pseudo relative humidity for cv_options=6.
247   var_scaling5 (max_outer_iterations)  = 1.0   ; tuning factor of background error covariance for control variable 5.
248                                                ; control variable 5 is unbalanced surface pressure for cv_options=5 and 6.
249                                                ; control variable 5 is surface pressure for cv_options=7.
250   var_scaling6 (max_outer_iterations)  = 1.0   ; cloud liquid water
251   var_scaling7 (max_outer_iterations)  = 1.0   ; rain water
252   var_scaling8 (max_outer_iterations)  = 1.0   ; ice water
253   var_scaling9 (max_outer_iterations)  = 1.0   ; snow
254   var_scaling10(max_outer_iterations)  = 1.0   ; graupel
255   var_scaling11(max_outer_iterations)  = 1.0   ; vertical velocity
256   ; see the above description about the meaning of control variables 1-5.
257   len_scaling1 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 1.
258   len_scaling2 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 2.
259   len_scaling3 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 3.
260   len_scaling4 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 4.
261   len_scaling5 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 5.
262   len_scaling6 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 6.
263   len_scaling7 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 7.
264   len_scaling8 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 8.
265   len_scaling9 (max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 9.
266   len_scaling10(max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 10.
267   len_scaling11(max_outer_iterations)  = 1.0   ; tuning factor of scale-length for control variable 11.
268   je_factor               = 1.0       ; ensemble covariance weighting factor
269   cloud_cv_options        = 0         ; 0: no cloud control variables
270                                       ; 1: Total water (qt) is the moist/cloud control variable.
271                                       ;    Cloud water and rainwater are combined with water vapor as total water.
272                                       ;    A warm-rain scheme is used to partition the total water into water vapor,
273                                       ;    cloud water and rainwater during minimization.
274                                       ; 2: Moist control variable is pseudo relative humidity.
275                                       ;    The additional 5 cloud control variables are cloud water, rainwater, cloud ice,
276                                       ;    snow and graupel. Both horizontal and vertical correlations are considered.
277                                       ;    This option requires the background error statistics information of the
278                                       ;    aforementioned 5 cloud variables to be included in the be.dat file.
279                                       ; 3: Moist control variable is pseudo relative humidity. The additional 5 cloud
280                                       ;    control variables are cloud water, rainwater, cloud ice, snow and graupel.
281                                       ;    Only horizontal correlation is considered. Length scales and variances are
282                                       ;    hard-coded in var/da/da_setup_structures/da_setup_be_regional.inc.
284 &wrfvar8 ; not used
286 &wrfvar9   ; for program tracing. trace_use=.true. gives additional performance diagnostics
287            ; (calling tree, local routine timings, overall routine timings, memory usage)
288            ; It does not change results, but does add runtime overhead.
289   stdout                  = 6         ; unit number for standard output
290   stderr                  = 0         ; unit number for error output
291   trace_unit              = 7         ; Unit number for tracing output
292                                       ; note that units 10 and 9 are reserved for reading namelist.input
293                                       ; and writing namelist.output respectively.
294   trace_pe                = 0         ; Currently, statistics are always calculated for all processors, 
295                                       ; and output by processor 0.
296   trace_repeat_head       = 10        ; the number of times any trace statement will produce output 
297                                       ; for any particular routine. This stops overwhelming trace output
298                                       ; when a routine is called multiple times. Once this limit is reached 
299                                       ; a 'going quiet' message is written to the trace file, and no more 
300                                       ; output is produced from the routine, though statistics are still gathered.
301   trace_repeat_body       = 10        ; see trace_repeat_head description
302   trace_max_depth         = 30        ; define the deepest level to which tracing writes output
303   trace_use               = .false.   ; .true.: activate tracing
304   trace_use_frequent      = .false.
305   trace_use_dull          = .false.
306   trace_memory            = .true.    ; .true.: calculate allocated memory using a mallinfo call.
307                                       ;         On some platforms (Cray and Mac), mallinfo is not available 
308                                       ;         and no memory monitoring can be done.
309   trace_all_pes           = .false.   ; .true.: tracing is output for all pes. As stated in trace_pe, 
310                                       ;         this does not change processor statistics. 
311   trace_csv               = .true.    ; .true.: tracing statistics are written to a xxxx.csv file in CSV format
312   use_html                = .true.    ; .true.: tracing and error reporting routines will include HTML tags.
313   warnings_are_fatal      = .false.   ; .true.: warning messages that would normally allow the 
314                                       ;         program to continue are treated as fatal errors.
316 &wrfvar10   ; for code developers
317   test_transforms         = .false.   ; .true.: perform adjoint tests
318   test_gradient           = .false.   ; .true.: perform gradient test
320 &wrfvar11
321   cv_options_hum          = 1       ; do not change
322   check_rh                = 0       ; 0: no supersaturation check after minimization
323                                     ; 1: supersaturation (rh> 100%) and minimum rh (rh<10%) check, 
324                                     ;    and make the local adjustment of q.
325                                     ; 2: supersaturation (rh> 95%) and minimum rh (rh<11%) check, 
326                                     ;    and make the multi-level q adjustment under the constraint 
327                                     ;    of conserved column integrated water vapor
328   sfc_assi_options        = 1       ; 1: surface observations will be assimilated based on the 
329                                     ;    lowest model level first guess. Observations are not used
330                                     ;    when the height difference of the elevation of the observing
331                                     ;    site and the lowest model level height is larger than the
332                                     ;    height (in meters) specified in namelist max_stheight_diff.
333                                     ; 2: surface observations will be assimilated based on surface 
334                                     ;    similarity theory in PBL. Innovations are computed based 
335                                     ;    on 10-m wind, 2-m temperature and 2-m moisture. 
336   max_stheight_diff       = 100.0   ; threshold in meters. See sfc_assi_options=1.
337   max_stheight_diff_ztd   = 1000.0  ; threshold in meters. For ZTD, stations whose |Zdiff|>max_stHeight_diff_ztd will not be assimilated
338   consider_xap4ztd        = .true.  ; whether or not including xa%p in TL/AD of xtoztd operator
339   obs_err_inflate         = .false. ; .true.: inflate obs error by exp(|Zdiff|/stn_ht_diff_scale) for
340                                     ; SYNOP t, p, q with sfc_assi_options=1 only.
341                                     ; Zdiff is the height difference between model and station that is
342                                     ; calculated in WRFDA.
343   stn_ht_diff_scale       = 200.0   ; height in meters used for calculating obs error inflation factors
344                                     ; when obs_err_inflate = .true.
345   psfc_from_slp           = .false. ; .false.: use reported Psfc.
346                                     ;          This is the recommended (default) option.
347                                     ; .true.: when sfc_assi_options=1, re-calculates Psfc from SLP
348                                     ;         when the observation elevation is below the lowest
349                                     ;         model level height. This is the behavior before V3.8.
350   calculate_cg_cost_fn    = .false. ; .true.: Compute and write out cost function of each iteration
351                                     ;         into a file cost_fn for diagnostic purpose.
352                                     ; .false.: Only the initial and final cost functions are computed
353                                     ;          and output in cost_fn.
354                                     ;          The cost function values in rsl.out.0000 are estimates.
355                                     ; The actual cost function of each iteration is not needed for
356                                     ; minimization. For production runs, set calculate_cg_cost_fn=
357                                     ; .false. to reduce run time.
358   write_detail_grad_fn    = .false. ; .true.: calculate and write out detailed gradient components of
359                                     ;         each iteration into a file grad_fn for diagnostic purpose.
360                                     ;         This will increase runtime, especially for 4DVAR.
361                                     ; The summed gradient info is available in rsl.out.0000.
362                                     ; Keeping write_detail_grad_fn=false (default) is the best practice.
364   seed_array1             = 1       ; First integer for seeding the random function when put_rand_seed=.true.
365   seed_array2             = 1       ; Second integer for seeding the random function when put_rand_seed=.true.
366                                     ; It is not necessary to change both seeds to get different perturbations
368 &wrfvar12
369   use_wpec                = .false. ; true: enables the WPEC dynamic constraint term
370   wpec_factor             = 0.001   ; WPEC dynamic constraint weighting factor (1/gamma)
371   balance_type            = 3       ; for use_wpec=true
372                                     ;   1 = geostrophic term
373                                     ;   2 = cyclostrophic term
374                                     ;   3 = geostrophic + cyclostrophic terms (default; recommended)
376   use_divc                = .false. ; switch for divergence constraint
377   divc_factor             = 1000.   ;  
379   use_lsac                = .false. ; switch for large scale analysis constraint
380   lsac_nh_step            =  1      ; increment step in grid points in the horizontal direction
381   lsac_nv_step            =  1      ; increment step in grid points in the vertical direction
382   lsac_nv_start           =  1      ; index of starting grid point in the vertical direction
383   lsac_use_u              =  .true. ; switch for large scale u analysis constraint
384   lsac_use_v              =  .true. ; switch for large scale v analysis constraint
385   lsac_use_t              =  .true. ; switch for large scale t analysis constraint
386   lsac_use_q              =  .true. ; switch for large scale q analysis constraint
387   lsac_u_error            =  2.5    ; m/s
388   lsac_v_error            =  2.5    ; m/s
389   lsac_t_error            =  2.0    ; degree C
390   lsac_q_error            =  0.002  ; kg/kg
391   lsac_print_details      =  .false.; switch for printout
393 &wrfvar13
394   max_vert_var1           = 99.0   ; specify the maximum truncation value (in percentage)
395                                    ; to explain the variance of stream function
396                                    ; in eigenvector decomposition
397   max_vert_var2           = 99.0   ; specify the maximum truncation value (in percentage)
398                                    ; to explain the variance of unbalanced potential velocity
399                                    ; in eigenvector decomposition
400   max_vert_var3           = 99.0   ; specify the maximum truncation value (in percentage)
401                                    ; to explain the variance of unbalanced temperature
402                                    ; in eigenvector decomposition
403   max_vert_var4           = 99.0   ; specify the maximum truncation value (in percentage)
404                                    ; to explain the variance of pseudo relative humidity
405                                    ; in eigenvector decomposition
406   max_vert_var5           = 99.0   ; for unbalanced surface pressure, it should be a non-zero
407                                    ; positive number.
408   max_vert_var6           = 99.0
409   max_vert_var7           = 99.0
410   max_vert_var8           = 99.0
411   max_vert_var9           = 99.0
412   max_vert_var10          = 99.0
413   max_vert_var11          = 99.0
415                                    ; set max_vert_var5=0.0 only for offline VarBC applications.
416   psi_chi_factor          = 1.0    ; Contribution of stream function in defining balanced part of velocity potential. For cv_options=6 only.
417   psi_t_factor            = 1.0    ; Contribution of stream function in defining balanced part of temperature. For cv_options=6 only.
418   psi_ps_factor           = 1.0    ; Contribution of stream function in defining balanced part of surface pressure. For cv_options=6 only.
419   psi_rh_factor           = 1.0    ; Contribution of stream function in defining balanced part of moisture. For cv_options=6 only.
420   chi_u_t_factor          = 1.0    ; Contribution of the unbalanced part of velocity potential in defining balanced part of temperature. For cv_options=6 only.
421   chi_u_ps_factor         = 1.0    ; Contribution of the unbalanced part of velocity potential in defining balanced part of surface pressure. For cv_options=6 only.
422   chi_u_rh_factor         = 1.0    ; Contribution of the unbalanced part of velocity potential in defining balanced part of moisture. For cv_options=6 only.
423   t_u_rh_factor           = 1.0    ; Contribution of the unbalanced part of temperature in defining balanced part of moisture. For cv_options=6 only.
424   ps_u_rh_factor          = 1.0    ; Contribution of the unbalanced part of surface pressure in defining balanced part of moisture. For cv_options=6 only.
426 &wrfvar14
427      ; the following 4 variables (rtminit_nsensor, rtminit_platform, rtminit_satid, rtminit_sensor) 
428      ; together control what sensors from which platforms will be assimilated.
429   rtminit_nsensor                     = 1        ; total number of sensors to be assimilated
430   rtminit_platform (max_instruments)  = -1       ; platforms IDs array (used dimension: rtminit_nsensor)
431                                                  ; e.g., 1 for NOAA, 9 for EOS, 10 for METOP and 2 for DMSP
432   rtminit_satid (max_instruments)     = -1.0     ; satellite IDs array (used dimension: rtminit_nsensor)
433   rtminit_sensor (max_instruments)    = -1.0     ; sensor IDs array (used dimension: rtminit_nsensor)
434                                                  ; e.g., 0 for HIRS, 3 for AMSU-A, 4 for AMSU-B, 
435                                                  ;      15 for MHS, 10 for SSMIS, 11 for AIRS
436   rad_monitoring (max_instruments)    = 0        ; integer array (used dimension: rtminit_nsensor)
437                                                  ; 0: assimilating mode
438                                                  ; 1: monitoring mode (only calculate innovations)
439   thinning_mesh (max_instruments)     = 60.0     ; real array (used dimension: rtminit_nsensor)
440                                                  ; specify thinning mesh size (in KM) for different sensors.
441   thinning                            = .true.   ; .true.: perform thinning on radiance data
442   qc_rad                              = .true.   ; .true.: perform quality control. Use .false. only for testing/debugging
443   write_iv_rad_ascii                  = .false.  ; .true.: output radiance Observation minus Background files, 
444                                                  ;         which are in ASCII format and separated by 
445                                                  ;         sensors and processors.
446   write_oa_rad_ascii                  = .true.   ; .true.: output radiance Observation minus Analysis files 
447                                                  ;         (including also O minus B), which are in ASCII format
448                                                  ;          and separated by sensors and processors.
449   use_error_factor_rad                = .false.  ; .true.: use a radiance error tuning factor file 
450                                                  ;         "radiance_error.factor", which can be created 
451                                                  ;         with empirical values or generated using variational
452                                                  ;         tuning method (Desroziers and Ivanov, 2001)
453   use_antcorr (max_instruments)       = .false.  ; .true.: perform Antenna Correction in CRTM
454   rtm_option                          = 1        ; which RTM (Radiative Transfer Model) to use (see User's Guide)
455                                                  ;         1: RTTOV (WRFDA must be compiled with RTTOV)
456                                                  ;         2: CRTM  (WRFDA must be compiled with CRTM)
457   only_sea_rad                        = .false.  ; .true.: assimilate radiance over water only
458   use_varbc                           = .true.   ; .true.: perform Variational Bias Correction.
459                                                  ;         An ASCII parameter file "VARBC.in" is required.
460                                                  ;         (a template is provided with the source code)
461   freeze_varbc                        = .false.  ; .true: together with use_varbc=.false., keep the VarBC
462                                                  ;        bias parameters constant in time. In this case,
463                                                  ;        the bias correction is read and applied to the
464                                                  ;        innovations, but it is not updated during the
465                                                  ;        minimization.
466   varbc_factor                        = 1.0      ; for scaling the VarBC preconditioning
467   varbc_nbgerr                        = 5000     ;
468   varbc_nobsmin                       = 10       ; defines the minimum number of observations required for 
469                                                  ; the computation of the predictor statistics during the 
470                                                  ; first assimilation cycle. If there are not enough data 
471                                                  ; (according to "VARBC_NOBSMIN") on the first cycle, the 
472                                                  ; next cycle will perform a coldstart again.
473   use_clddet                      = 2            ; 0: off
474                                                  ; 1:use the MMR scheme to conduct cloud detection for infrared radiance
475                                                  ; 2:use the pf scheme to conduct cloud detection for infrared radiance (Default)
476                                                  ; 3:use the ECMWF operational scheme to conduct cloud detection for infrared radiance
477   use_clddet_zz                    = false       ; .true. :use the cloud detection scheme from Zhuge X. and Zou X. JAMC,2016.
478   airs_warmest_fov                    = .false.  ; .true.: uses the observation brightness temperature for 
479                                                  ;         AIRS Window channel #914 as criterion for GSI 
480                                                  ;         thinning (with a higher amplitude than the distance 
481                                                  ;         from the observation location to the nearest grid point).
482   use_crtm_kmatrix                    = .true.   ; .true. use CRTM K matrix rather than calling CRTM TL
483                                                  ;        and AD routines for gradient calculation, which
484                                                  ;        reduces runtime noticeably. 
485   use_rttov_kmatrix                   = .false.  ; .true. use RTTOV K matrix rather than calling RTTOV TL
486                                                  ;        and AD routines for gradient calculation, which
487                                                  ;        reduces runtime noticeably. 
488   rttov_emis_atlas_ir                 = 0        ; 0: do not use IR emissivity atlas
489                                                  ; 1: use IR emissivity atlas (recommended)
490   rttov_emis_atlas_mw                 = 0        ; 0: do not use MW emissivity atlas
491                                                  ; 1: use TELSEM MW emissivity atlas (recommended)
492                                                  ; 2: use CNRM MW emissivity atlas
493   use_blacklist_rad                   = .true.   ; .true.: to switch off the assimilation of known problematic
494                                                  ;         channels (up to year 2012) that are hard-coded in
495                                                  ;         var/da/da_radiance/da_blacklist_rad.inc.
496                                                  ; .false.: users need to specify proper channel selections
497                                                  ;          in the radiance_info files.
498  calc_weightfunc                      = .false.  ; 
500 &wrfvar15   ; needs to be set together with &wrfvar19
501   num_pseudo              = 0          ; set the number of pseudo ob, either 0 or 1 (single ob)
502                                        ; when num_pseudo=1, all other obs will be switched off
503   pseudo_x                = 1.0        ; set the X-position (I) of the ob in model grid-point units
504   pseudo_y                = 1.0        ; set the Y-position (J) of the ob in model grid-point units
505   pseudo_z                = 1.0        ; set the Z-position (K) of the ob in vertical level index,
506                                        ;     in bottom-up order.
507   pseudo_val              = 1.0        ; set the innovation of the pseudo ob.  
508                                        ; wind in m/s, pressure in Pa, temperature in K,
509                                        ; specific humidity in kg/kg
510   pseudo_err              = 1.0        ; set the error of the pseudo ob. Same units as pseudo_val.
511                                        ; if pseudo_var="q", pseudo_err=0.001 is more reasonable.
513 &wrfvar16   ; for hybrid WRF-Var/ensemble
514   alphacv_method          = 2          ; 1: ensemble perturbations in control variable space
515                                        ; 2: ensemble perturbations in model variable space
516   ensdim_alpha            = 0          ; ensemble size
517   alpha_corr_type         = 3          ; 1: alpha_corr_type_exp
518                                        ; 2: alpha_corr_type_soar
519                                        ; 3: alpha_corr_type_gaussian (default)
520   alpha_corr_scale        = 200.0      ; km, 
521   ep_para_read            = 0          ; how ensemble perturbations are read. 0: serial read; 1: parallel read
522   rden_bin                = 1          ; number of bins/batches to read ensemble perturbations in parallel
523   alpha_std_dev           = 1.0        ;
524   alpha_vertloc_opt       = 2          ; new option since v4.2 (to replace previous alpha_vertloc)
525                                        ; for choosing the source of vertical localization for alpha control variable
526                                        ; 0: no vertical localization applied for alpha control variable.
527                                        ; 1: read in vertloc function from be.vertloc.dat. The same behavior as pre-v4.2.
528                                        ; 2: (default, recommended) let WRFDA calculate logP-based vertical localization. be.vertloc.dat will be written out.
529   alpha_hydrometeors      = .false.    ; switch for cloud alpha control variables
530   hybrid_dual_res         = .false.    ; swithc for dual-resolution hybrid
531   dual_res_upscale_opt    = 3          ;
532   use_4denvar             = .false.    ; switch for activating 4D-Ensemble-Var" 
534 &wrfvar17
535   analysis_type           = "3D-VAR"   ; "3D-VAR": 3D-VAR mode (default)
536                                        ; "QC-OBS": 3D-VAR mode plus extra filtered_obs output
537                                        ; "VERIFY": verification mode.
538                                        ;           WRFDA resets check_max_iv=.false. and ntmax=0
539                                        ; "RANDOMCV": for creating ensemble perturbations
540   n_randomcv              = 1          ; number of realizations of randomcv
541                                        ; set to > 1 to get multiple perturbed output in one execution
542   adj_sens                = .false.    ; .true.: write out gradient of Jo for adjoint sensitivity
544 &wrfvar18   ; needs to set &wrfvar21 and &wrfvar22 as well if ob_format=1 and/or radiances are used.
545   analysis_date           = "2002-08-03_00:00:00.0000"   ; specify the analysis time. It should be 
546                                                          ; consistent with the first guess time.
547                                                          ; If time difference between analysis_date
548                                                          ; and date info read in from first guess 
549                                                          ; is larger than analysis_accu, WRFDA will 
550                                                          ; abort.
552 &wrfvar19   ; needs to be set together with &wrfvar15
553   pseudo_var              = "t"   ; set the pseudo ob variable
554                                   ;   "t": temperature
555                                   ;   "u": X-direction component of wind
556                                   ;   "v": Y-direction component of wind
557                                   ;   "p": pressure
558                                   ;   "q": specific humidity
559                                   ;  "pw": total precipitable water
560                                   ; "ref": refractivity
561                                   ; "ztd": zenith total delay
563 &wrfvar20
564   documentation_url       = "http://www.mmm.ucar.edu/people/wrfhelp/wrfvar/code/trunk"
566 &wrfvar21
567   time_window_min         = "2002-08-02_21:00:00.0000"  ; start time of assimilation time window
568                                                         ; used for ob_format=1 and radiances to select
569                                                         ; observations inside the defined time_window.
570                                                         ; Also used for ob_format=2 to check if the obs
571                                                         ; are within the specified time window.
573 &wrfvar22
574   time_window_max         = "2002-08-03_03:00:00.0000"  ; end time of assimilation time window
575                                                         ; used for ob_format=1 and radiances to select
576                                                         ; observations inside the defined time_window.
577                                                         ; Also used for ob_format=2 to check if the obs
578                                                         ; are within the specified time window.
580 &radar_da
581   ; tuning parameters for use_radar_rqv=.true. only
582   ; except that radar_non_precip_opt applies to both use_radar_rhv=.true. and use_radar_rqv=.true.
583   radar_non_precip_opt    = 0         ; 0: do not consider non-precipitating radar echo
584                                       ; 1: KNU scheme for assimilating non-precipitating radar echo
585   radar_non_precip_rf     = -999.99   ; reflectivity (dBZ) value used to indicate non-precip ob
586   radar_non_precip_rh_w   = 95.0      ; RH (%) wrt water for non_precip rqv
587   radar_non_precip_rh_i   = 85.0      ; RH (%) wrt ice for non_precip rqv
588   cloudbase_calc_opt      = 1         ; how model LCL is calculated
589                                       ; 1: KNU scheme
590                                       ; 2: NCAR scheme
591   radar_saturated_rf      = 25.0      ; reflectivity (dBZ) value used to indicate saturated rqv
592   radar_rqv_thresh1       = 40.0      ; reflectivity (dBZ) threshold for scaling down rqv
593   radar_rqv_thresh2       = 50.0      ; reflectivity (dBZ) threshold for scaling down rqv
594   radar_rqv_rh1           = 95.0      ; RH (%) for (radar_saturated_rf < rf < radar_rqv_thresh1)
595   radar_rqv_rh2           = 85.0      ; RH (%) for (radar_rqv_thresh1 < rf < radar_rqv_thresh2)
596   radar_rqv_h_lbound      = -999.0    ; height (m) lower bound for rqv
597   radar_rqv_h_ubound      = -999.0    ; height (m) upper bound for rqv
598   radar_rhv_err_opt       = 1         ;(default) 1: calculated (original), 2: from namelist
599   radar_rhv_rrn_err       = 0.15      ;(default) obs error of retrieved qrain in g/kg
600   radar_rhv_rsn_err       = 0.15      ;(default) obs error of retrieved qsnow in g/kg
601   radar_rhv_rgr_err       = 0.15      ;(default) obs error of retrieved qgraup in g/kg
602   write_oa_radar_ascii    = .true.    ;(default)
604 &obs_opt
605   gpsro_drift             = 1         ; horizontal drifting for GPSRO.  0=no drift, 1=drift
606   gpseph_opt              = 1         ; 0: local operator variant, 1: non-local
607   gpseph_loadbalance      = .true.    ;
608   write_iv_gpsref         = .false.   ; switch to write out RO_Innov_ files
609   ; the following gpsref_qc settings are used in da_qc_gpsref.inc
610   gpsref_qc_dndz_opt      = 1         ; 0: off, 1: on (default)
611   gpsref_qc_dndz2_opt     = 1         ; 0: off, 1: on (default)
612   gpsref_qc_dndz_thresh   = -50.0
613   gpsref_qc_dndz2_thresh  = 100.0
614   gpsref_qc_gsi_opt       = 1         ; 0: off, 1: on (default)
615   gpsref_qc_pcnt_opt      = 1         ; 0: off, 1: on (default)
616   gpsref_qc_pcnt_h1       = 7000.0
617   gpsref_qc_pcnt_h2       = 25000.0
618   gpsref_qc_pcnt_below    = 0.05
619   gpsref_qc_pcnt_middle   = 0.04
620   gpsref_qc_pcnt_above    = 0.10
621   ; uv_error_opt and uv_error_opt are only used by use_satwnd_bufr (polaramv)
622   uv_error_opt (num_ob_indexes) = 3   ; 1: single uv_error_val
623                                       ; 2: from external obs error table (same format as used in GSI)
624                                       ; 3: from ob input
625                                       ; when ob errors are not available from ob input and obs_errtable,
626                                       ; WRFDA uses uv_error_val from namelist (below) for use_satwnd_bufr (polaramv).
627   uv_error_val (num_ob_indexes) = 2.5 ; m/s, uv observation error
629 &perturbation   ; settings related to the 4D-Var penalty term option, which controls the
630                 ; high-frequency gravity waves using a digital filter.
631   jcdfi_use               = .false.  ; .true.: include JcDF term in the cost function
632                                      ; .false.: ignore JcDF term in the cost function
633   jcdfi_diag              = 1        ; 0: no diagnostic information for JcDF term in J
634                                      ; 1: print diagnostic information for JcDF term in J
635   jcdfi_penalty           = 10       ; The weight gived to JcDF term during minimization
636   enable_identity         = .false.  ; .true.: use identity adjoint and tangent linear model in 4D-Var
637                                      ; .false. use full adjoint and tangent linear model in 4D-Var
638   trajectory_io           = .true.   ; .true.: use memory I/O in 4D-Var for data exchange
639                                      ; .false.: use disk I/O in 4D-Var for data exchange
640   var4d_detail_out        = .false.  ; .true.: output extra diagnostics for debugging 4D-Var
641   var4d_run               = .true.   ; true: exlcude the P calculation in start_em