Description of WRFDA namelist variables ----------------------------------------- Note: variables followed by (...) indicate that this variable can or needs to be defined for more than 1 values. &wrfvar1 write_increments = .false. ; .true.: write out a binary analysis_increment file var4d = .false. ; .true.: 4D-VAR var4d_bin = 3600 ; second, Observation sub-window bin legnth for 4D-Var var4d_bin_rain = 3600 ; second, precipitation observation sub-window length for 4D-Var var4d_lbc = .true. ; on/off switch for lateral boundary control in 4D-Var multi_inc = 0 ; >0: multi-incremental run ; print_detail_xxx: output extra (sometimes can be too many) diagnostics for debugging. ; not recommended to turn them on for production runs. print_detail_radar = .false. print_detail_xa = .false. print_detail_xb = .false. print_detail_obs = .false. print_detail_map = .false. print_detail_grad = .false. ; .true.: to print out detailed gradient of each observation type at ; the first and final iterations. check_max_iv_print = .true. ; obsolete (only used by Radar) / &wrfvar2 analysis_accu = 900 ; second, if time difference between namelist setting ; (analysis_date) and date info read in from first guess ; is larger than analysis_accu, WRFr will issue a ; warning message ("=======> Wrong xb time found???"), ; but won't abort. calc_w_increment = .false. ; .true.: the increment of the vertical velocity w will be ; diagnosed based on the increments of other fields. ; If use_radarobs=.true., the w increments are always ; calculated. / &wrfvar3 fg_format = 1 ; 1: fg_format_wrf_arw_regional (default) ; 2: fg_format_wrf_nmm_regional ; 3: fg_format_wrf_arw_global ; 4: fg_format_kma_global ob_format = 2 ; 1: ob_format_bufr (NCEP PREPBUFR), read in data from ob.bufr (not fully tested) ; 2: ob_format_ascii (output from obsproc), read in data from ob.ascii (default) ; 3: ob_format_madis (not tested) num_fgat_time = 1 ; 1: 3DVAR ; > 1: number of time slots for FGAT (for ob_format=2 and radiance only) / &wrfvar4 thin_conv = .true. ; for ob_format=1 (NCEP PREPBUFR) only. ; thinning is mandatory for ob_format=1 as time-duplicate ; data are "thinned" within thinning routine, however, ; thin_conv can be set to .false. for debugging purpose. thin_mesh_conv (max_instruments) = 20.0 ; for precipitation observation assimilation in 4D-Var and ; ob_format=1 (NCEP PREPBUFR) only. ; km, each observation type can set its thinning mesh and ; the index/order follows the definition in ; WRFDA/var/da/da_control/da_control.f90 ; use_xxxobs - .true.: assimilate xxx obs if available ; .false.: not assimilate xxx obs even available thin_rainobs = .true. ; perform thinning on preciptation data use_synopobs = .true. use_shipsobs = .true. use_metarobs = .true. use_soundobs = .true. use_pilotobs = .true. use_airepobs = .true. use_geoamvobs = .true. use_polaramvobs = .true. use_bogusobs = .true. use_buoyobs = .true. use_profilerobs = .true. use_satemobs = .true. use_gpspwobs = .true. use_gpsrefobs = .true. use_qscatobs = .true. use_radarobs = .false. use_radar_rv = .false. use_radar_rf = .false. use_rainobs = .false. use_airsretobs = .true. ; use_hirs2obs, use_hirs3obs, use_hirs4obs, use_mhsobs ; use_msuobs, use_amsuaobs, use_amsubobs, use_airsobs, ; use_eos_amsuaobs, use_hsbobs, use_ssmisobs are ; radiance-related variables that only control if reading ; in corresponding BUFR files into WRFDA or not, but ; do not control if assimilate the data or not. ; Some more variables have to be set in &wrfvar14 in order ; to assimilate radiance data. use_hirs2obs = .false. ; .true.: to read in data from hirs2.bufr use_hirs3obs = .false. ; .true.: to read in data from hirs3.bufr use_hirs4obs = .false. ; .true.: to read in data from hirs4.bufr use_mhsobs = .false. ; .true.: to read in data from mhs.bufr use_msuobs = .false. ; .true.: to read in data from msu.bufr use_amsuaobs = .false. ; .true.: to read in data from amsua.bufr use_amsubobs = .false. ; .true.: to read in data from amsub.bufr use_airsobs = .false. ; .true.: to read in data from airs.bufr use_eos_amsuaobs = .false. ; .true.: to read in data from airs.bufr use_hsbobs = .false. ; .true.: to read in data from hsb.bufr use_ssmisobs = .false. ; .true.: to read in data from ssmis.bufr use_obs_errfac = .false. ; .true.: apply obs error tuning factors if errfac.dat is available ; for conventional data only / &wrfvar5 check_max_iv = .true. ; .true.: reject the observations whose innovations (O-B) are ; larger than a maximum value defined as a multiple of ; the observation error for each observation. ; i.e., inv > (obs_error*factor) --> fails_error_max ; the default maximum value is 5 times the observation error. ; the factor of 5 can be changed through max_error_* settings. max_error_t = 5.0 ; maximum check_max_iv error check factor for t max_error_uv = 5.0 ; maximum check_max_iv error check factor for u and v max_error_pw = 5.0 ; maximum check_max_iv error check factor for precipitable water max_error_ref = 5.0 ; maximum check_max_iv error check factor for gps refractivity max_error_q = 5.0 ; maximum check_max_iv error check factor for specific humidity max_error_p = 5.0 ; maximum check_max_iv error check factor for pressure max_error_thickness = 5.0 ; maximum check_max_iv error check factor for thickness max_error_rv = 5.0 ; maximum check_max_iv error check factor for radar radial velocity max_error_rf = 5.0 ; maximum check_max_iv error check factor for radar reflectivity max_error_rain = 5.0 ; maximum check_max_iv error check factor for precipitation / &wrfvar6 ; for minimization options max_ext_its = 1 ; number of outer loops ntmax = 200 ; maximum number of iterations in an inner loop eps (max_outer_iterations) = 0.01 ; minimization convergence criterion (used dimension: max_ext_its) ; minimization stops when the norm of the gradient of the cost ; function gradient is reduced by a factor of eps. ; inner minimization stops either when the criterion is met or ; when inner iterations reach ntmax. orthonorm_gradient = .false. ; .true.: the gradient vectors are stored during ; the Conjugate Gradient for each iteration and ; used to re-orthogonalize the new gradient. ; This requires extra storage of large vectors ; (each one being the size of the control variable) ; but results in a better convergence of the ; Conjugate Gradient after around 20 iterations. / &wrfvar7 cv_options = 5 ; 3: NCEP Background Error model ; 5: NCAR Background Error model (default) ; 6: Use of multivariate background error statistics ; as1 - as5 are for cv_options=3 only as1 (3) = -1.0 ; tuning factors for variance, horizontal and vertical scales for ; control variable 1 = stream function. For cv_options=3 only. ; the actual default valuse are 0.25, 1.0, 1.5. as2 (3) = -1.0 ; tuning factors for variance, horizontal and vertical scales for ; control variable 2 - unbalanced potential velocity. For cv_options=3 only. ; the actual default valuse are 0.25, 1.0, 1.5. as3 (3) = -1.0 ; tuning factors for variance, horizontal and vertical scales for ; control variable 3 - unbalanced temperature. For cv_options=3 only. ; the actual default valuse are 0.25, 1.0, 1.5. as4 (3) = -1.0 ; tuning factors for variance, horizontal and vertical scales for ; control variable 4 - pseudo relative humidity. For cv_options=3 only. ; the actual default valuse are 0.25, 1.0, 1.5. as5 (3) = -1.0 ; tuning factors for variance, horizontal and vertical scales for ; control variable 5 - unbalanced surface pressure. For cv_options=3 only. ; the actual default valuse are 0.25, 1.0, 1.5. rf_passes = 6 ; number of passes of recursive filter. ; var_scaling1-5 and len_scaling1-5 are for cv_options=5 only var_scaling1 (max_outer_iterations) = 1.0 ; tuning factor of background error covariance for ; control variable 1 - stream function. For cv_options=5 only. var_scaling2 (max_outer_iterations) = 1.0 ; tuning factor of background error covariance for ; control variable 2 - unbalanced velocity potential. For cv_options=5 only. var_scaling3 (max_outer_iterations) = 1.0 ; tuning factor of background error covariance for ; control variable 3 - unbalanced temperature. For cv_options=5 only. var_scaling4 (max_outer_iterations) = 1.0 ; tuning factor of background error covariance for ; control variable 4 - pseudo relative humidity. For cv_options=5 only. var_scaling5 (max_outer_iterations) = 1.0 ; tuning factor of background error covariance for ; control variable 5 - unbalanced surface pressure. For cv_options=5 only. len_scaling1 (max_outer_iterations) = 1.0 ; tuning factor of scale-length for stream function. For cv_options=5 only. len_scaling2 (max_outer_iterations) = 1.0 ; tuning factor of scale-length for unbalanced velocity potential. For cv_options=5 only. len_scaling3 (max_outer_iterations) = 1.0 ; tuning factor of scale-length for unbalanced temperature. For cv_options=5 only. len_scaling4 (max_outer_iterations) = 1.0 ; tuning factor of scale-length for pseudo relative humidity. For cv_options=5 only. len_scaling5 (max_outer_iterations) = 1.0 ; tuning factor of scale-length for unbalanced surface pressure. For cv_options=5 only. je_factor = 1.0 ; ensemble covariance weighting factor / &wrfvar8 ; not used / &wrfvar9 ; for program tracing. trace_use=.true. gives additional performance diagnostics ; (calling tree, local routine timings, overall routine timings, memory usage) ; It does not change results, but does add runtime overhead. stdout = 6 ; unit number for standard output stderr = 0 ; unit number for error output trace_unit = 7 ; Unit number for tracing output ; note that units 10 and 9 are reserved for reading namelist.input ; and writing namelist.output respectively. trace_pe = 0 ; Currently, statistics are always calculated for all processors, ; and output by processor 0. trace_repeat_head = 10 ; the number of times any trace statement will produce output ; for any particular routine. This stops overwhelming trace output ; when a routine is called multiple times. Once this limit is reached ; a 'going quiet' message is written to the trace file, and no more ; output is produced from the routine, though statistics are still gathered. trace_repeat_body = 10 ; see trace_repeat_head description trace_max_depth = 30 ; define the deepest level to which tracing writes output trace_use = .false. ; .true.: activate tracing trace_use_frequent = .false. trace_use_dull = .false. trace_memory = .true. ; .true.: calculate allocated memory using a mallinfo call. ; On some platforms (Cray and Mac), mallinfo is not available ; and no memory monitoring can be done. trace_all_pes = .false. ; .true.: tracing is output for all pes. As stated in trace_pe, ; this does not change processor statistics. trace_csv = .true. ; .true.: tracing statistics are written to a xxxx.csv file in CSV format use_html = .true. ; .true.: tracing and error reporting routines will include HTML tags. warnings_are_fatal = .false. ; .true.: warning messages that would normally allow the ; program to continue are treated as fatal errors. / &wrfvar10 ; for code developers test_transforms = .false. ; .true.: perform adjoint tests test_gradient = .false. ; .true.: perform gradient test / &wrfvar11 cv_options_hum = 1 ; do not change check_rh = 0 ; 0: no supersaturation check after minimization ; 1: supersaturation (rh> 100%) and minimum rh (rh<10%) check, ; and make the local adjustment of q. ; 2: supersaturation (rh> 95%) and minimum rh (rh<11%) check, ; and make the multi-level q adjustment under the constraint ; of conserved column integrated water vapor sfc_assi_options = 1 ; 1: surface observations will be assimilated based on the ; lowest model level first guess. Observations are not used ; when the height difference of the elevation of the observing ; site and the lowest model level height is larger than 100m. ; 2: surface observations will be assimilated based on surface ; similarity theory in PBL. Innovations are computed based ; on 10-m wind, 2-m temperature and 2-m moisture. calculate_cg_cost_fn = .false. ; .true.: Compute and write out cost function and gradient of ; each iteration into files called cost_fn and grad_fn. ; .false.: Only the initial and final cost functions are computed ; and output. lat_stats_option = .false. ; do not change / &wrfvar12 balance_type = 1 ; obsolete / &wrfvar13 vert_corr = 2 ; do not change vertical_ip = 0 ; obsolete vert_evalue = 1 ; do not change max_vert_var1 = 99.0 ; speficy the maximum truncation value (in percentage) ; to explain the variance of stream function ; in eigenvector decomposition max_vert_var2 = 99.0 ; speficy the maximum truncation value (in percentage) ; to explain the variance of unbalanced potential velocity ; in eigenvector decomposition max_vert_var3 = 99.0 ; speficy the maximum truncation value (in percentage) ; to explain the variance of unbalanced temperature ; in eigenvector decomposition max_vert_var4 = 99.0 ; speficy the maximum truncation value (in percentage) ; to explain the variance of pseudo relative humidity ; in eigenvector decomposition max_vert_var5 = 99.0 ; for unbalanced surface pressure, it should be a non-zero ; positive number. ; set max_vert_var5=0.0 only for offline VarBC applications. / &wrfvar14 ; the following 4 variables (rtminit_nsensor, rtminit_platform, ; rtminit_satid, rtminit_sensor) together control ; what sensors to be assimilated. rtminit_nsensor = 1 ; total number of sensors to be assimilated rtminit_platform (max_instruments) = -1 ; platforms IDs array (used dimension: rtminit_nsensor) ; e.g., 1 for NOAA, 9 for EOS, 10 for METOP and 2 for DMSP rtminit_satid (max_instruments) = -1.0 ; satellite IDs array (used dimension: rtminit_nsensor) rtminit_sensor (max_instruments) = -1.0 ; sensor IDs array (used dimension: rtminit_nsensor) ; e.g., 0 for HIRS, 3 for AMSU-A, 4 for AMSU-B, ; 15 for MHS, 10 for SSMIS, 11 for AIRS rad_monitoring (max_instruments) = 0 ; integer array (used dimension: rtminit_nsensor) ; 0: assimilating mode ; 1: monitoring mode (only calculate innovations) thinning_mesh (max_instruments) = 60.0 ; real array (used dimension: rtminit_nsensor) ; specify thinning mesh size (in KM) for different sensors. thinning = .false. ; .true.: perform thinning on radiance data qc_rad = .true. ; .true.: perform quality control. always .true. write_iv_rad_ascii = .false. ; .true.: output radiance Observation minus Background files, ; which are in ASCII format and separated by ; sensors and processors. write_oa_rad_ascii = .false. ; .true.: output radiance Observation minus Analysis files ; (including also O minus B), which are in ASCII format ; and separated by sensors and processors. use_error_factor_rad = .false. ; .true.: use a radiance error tuning factor file ; "radiance_error.factor", which can be created ; with empirical values or generated using variational ; tuning method (Desroziers and Ivanov, 2001) use_antcorr (max_instruments) = .false. ; .true.: perform Antenna Correction in CRTM rtm_option = 1 ; what RTM (Radiative Transfer Model) to use ; 1: RTTOV (WRFDA needs to compile with RTTOV) ; 2: CRTM (WRFDA needs to compile with CRTM) only_sea_rad = .false. ; .true.: assimilate radiance over water only use_varbc = .false. ; .true.: perform Variational Bias Correction. ; A parameter file in ASCII format called VARBC.in ; (a template is provided with the source code tar ball) ; is required. freeze_varbc = .false. ; .true: together with use_varbc=.false., keep the VarBC ; bias parameters constant in time. In this case, ; the bias correction is read and applied to the ; innovations, but it is not updated during the ; minimization. varbc_factor = 1.0 ; for scaling the VarBC preconditioning varbc_nobsmin = 10 ; defines the minimum number of observations required for ; the computation of the predictor statistics during the ; first assimilation cycle. If there are not enough data ; (according to "VARBC_NOBSMIN") on the first cycle, the ; next cycle will perform a coldstart again. airs_warmest_fov = .false. ; .true.: uses the observation brightness temperature for ; AIRS Window channel #914 as criterion for GSI ; thinning (with a higher amplitude than the distance ; from the observation location to the nearest grid point). use_crtm_kmatrix = .false. ; .true. use CRTM K matrix rather than calling CRTM TL ; and AD routines for gradient calculation, which ; reduces runtime noticeably. use_rttov_kmatrix = .false. ; .true. use RTTOV K matrix rather than calling RTTOV TL ; and AD routines for gradient calculation, which ; reduces runtime noticeably. rttov_emis_atlas_ir = 0 ; 0: do not use IR emissivity atlas ; 1: use IR emissivity atlas (recommended) rttov_emis_atlas_mw = 0 ; 0: do not use MW emissivity atlas ; 1: use TELSEM MW emissivity atlas (recommended) ; 2: use CNRM MW emissivity atlas / &wrfvar15 ; needs to be set together with &wrfvar19 num_pseudo = 0 ; set the number of pseudo ob, either 0 or 1 (single ob) ; when num_pseudo=1, all other obs will be switched off pseudo_x = 1.0 ; set the X-position (I) of the ob in unit of grid-point pseudo_y = 1.0 ; set the Y-position (J) of the ob in unit of grid-point pseudo_z = 1.0 ; set the Z-position (K) of the ob in vertical level index, ; in bottom-up order. pseudo_val = 1.0 ; set the innovation of the pseudo ob. ; wind in m/s, pressure in Pa, temperature in K, ; specific humidity in kg/kg pseudo_err = 1.0 ; set the error of the pseudo ob. Unit the same as pseudo_val. ; if pseudo_var="q", pseudo_err=0.001 is more reasonable. / &wrfvar16 ; for hybrid WRF-Var/ensemble alphacv_method = 2 ; 1: ensemble perturbations in control variable space ; 2: ensemble perturbations in model variable space ensdim_alpha = 0 ; ensemble size alpha_corr_type = 3 ; 1: alpha_corr_type_exp ; 2: alpha_corr_type_soar ; 3: alpha_corr_type_gaussian (default) alpha_corr_scale = 1500.0 ; km, / &wrfvar17 analysis_type = "3D-VAR" ; "3D-VAR": 3D-VAR mode (default) ; "QC-OBS": 3D-VAR mode plus extra filtered_obs output ; "VERIFY": verification mode. ; WRF-Var resets check_max_iv=.false. and ntmax=0 ; "RANDOMCV": for creating ensemble perturbations adj_sens = .false. ; .true.: write out gradient of Jo for adjoint sensitivity / &wrfvar18 ; needs to set &wrfvar21 and &wrfvar22 as well if ob_format=1 and/or radiances are used. analysis_date = "2002-08-03_00:00:00.0000" ; specify the analysis time. It should be ; consistent with the first guess time. ; However, if time difference between ; analysis_date and date info read in from ; first guess is larger than analysis_accu, ; WRF-Var will issue a warning message ; ("=======> Wrong xb time found???"), ; but won't abort. / &wrfvar19 ; needs to be set together with &wrfvar15 pseudo_var = "t" ; set the pseudo ob variable ; "t": temperature ; "u": X-direction component of wind ; "v": Y-direction component of wind ; "p": pressure ; "q": specific humidity ; "pw": total precipitable water ; "ref": refractivity ; "ztd": zenith total delay / &wrfvar20 documentation_url = "http://www.mmm.ucar.edu/people/wrfhelp/wrfvar/code/trunk" / &wrfvar21 time_window_min = "2002-08-02_21:00:00.0000" ; start time of assimilation time window ; used for ob_format=1 and radiances to select ; observations inside the defined time_window. ; Note: new in V3.1, this variable is also used ; for ob_format=2 to double-check if the obs ; are within the specified time window. / &wrfvar22 time_window_max = "2002-08-03_03:00:00.0000" ; end time of assimilation time window ; used for ob_format=1 and radiances to select ; observations inside the defined time_window. ; Note: new in V3.1, this variable is also used ; for ob_format=2 to double-check if the obs ; are within the specified time window. / &perturbation ; settings related to the 4D-Var penalty term option, which controls the ; high-frequency gravity waves using a digital filter. jcdfi_use = .true. ; .true.: include JcDF term in the cost function ; .false.: ignore JcDF term in the cost function jcdfi_diag = 1 ; 0: no diagnostic information for JcDF term in J ; 1: print diagnostic information for JcDF term in J jcdfi_penalty = 10 ; The weight gived to JcDF term during minimization enable_identity = .false. ; .true.: use identity adjoint and tangent linear model in 4D-Var ; .false. use full adjoint and tangent linear model in 4D-Var trajectory_io = .true. ; .true.: use memory I/O in 4D-Var for data exchange ; .false.: use disk I/O in 4D-Var for data exchange var4d_detail_out = .false. ; .true.: output extra diagnostics for debugging 4D-Var /