WRF学习之 ch5 WRF模式(五)运行WRF(i-n): 全球模拟,数字滤波初始化运行,SST更新,【待译】
Chapter 5: WRF Model
from https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.1/users_guide_chap5.html
Table of Contents
• Introduction
• Installing WRF
• Running WRF
a. Idealized Case
b. Real Data Case
c. Restart Run
d. Two-Way Nested Runs
e. One-Way Nested Run Using ndown
f. Moving Nested Run
g. Analysis Nudging Runs
h. Observation Nudging
i. Global Run
j. DFI Run
k. SST Update
l. Using bucket_mm and bucket_J options
m. Adaptive Time Stepping
n. Stochastic Parameterization Schemes
o. Run-Time IO
p. Output Diagnostics
q. WRF-Hydro
r. Using IO Quilting
s. Using Physics Suites
t. Hybrid Vertical Coordinate.
• Examples of namelists for various applications
• Check Output
• Trouble Shooting
• Physics and Dynamics Options
• Summary of PBL Physics Options
• Summary of Microphysics Options
• Summary of Cumulus Parameterization Options
• Summary of Radiation Options
• Description of Namelist Variables
• WRF Output Fields
• Special WRF Output Variables
i. Global Run
WRF supports global capability. To make a global run, run WPS, starting with the namelist template namelist.wps.gloabl. Set map_proj = ‘lat-lon’, and grid dimensions e_we and e_sn without setting dx and dy in namelist.wps. The geogrid program will calculate grid distances, and their values can be found in the global attribute section of geo_em.d01.nc file. Type
ncdump –h geo_em.d01.nc to find out the grid distances, which will be needed in filling out WRF’s namelist.input file. Grid distances in x and y directions may be different, but it is best that they are set similarly or the same. WRF and WPS assume the earth is a sphere, and its radius is 6370 km. There are no restrictions on what to use for grid dimensions, but for effective use of the polar filter in WRF, the east-west dimension should be set to 2P3Q5R+1 (where P, Q, and R are any integers, including 0).
Run the rest of the WPS programs as usual but only for one time period. This is because the domain covers the entire globe, and lateral boundary conditions are no longer needed.
Run the program real.exe as usual and for one time period only. The lateral boundary file wrfbdy_d01 is not needed.
Copy namelist.input.global to namelist.input, and edit it. Run the model as usual.
Note: since this is not a commonly-used configuration in the model, use it with caution. Not all physics and diffusion options have been tested with it, and some options may not work well with polar filters. Also, positive-definite and monotonic advection options do not work with polar filters in a global run because polar filters can generate negative values of scalars. This implies, too, that WRF-Chem cannot be run with positive-definite and monotonic options in a global WRF setup.
As an extension to the global lat-lon grid, the regional domain can also be set using a lat-lon grid. To do so, one needs to set both grid dimensions, and grid distances in degrees. Again geogrid will calculate the grid distance, assuming the earth is a sphere and its radius is 6370 km. Find the grid distance in meters in the netCDF file, and use the value for WRF’s namelist.input file.
j. Using Digital Filter Initialization
Digital filter initialization (DFI) is a new option in V3. It is a way to remove initial model imbalance as, for example, measured by the surface pressure tendency. This might be important when one is interested in the 0 – 6 hour simulation/forecast. It runs a digital filter during a short model integration, backward and forward, and then starts the forecast. In WRF implementation, this is all done in a single job. With the V3.3 release, DFI can be used for multiple domains with concurrent nesting, with feedback disabled.
There is no special requirement for data preparation.
Start with the example.namelist file in test/em_real/ directory, look for the section that begins with namelist record for DFI: &dfi_control, and cut and paste it into your namelist.input file. Edit it to match your case configuration (e.g. dates). For a typical application, the following options are used:
dfi_opt = 3 (Note: if doing a restart, this must be changed to 0)
dfi_nfilter = 7 (filter option: Dolph)
dfi_cutoff_seconds = 3600 (should not be longer than the filter window)
For time specification, it typically needs to integrate backward for 0.5 to 1 hour, and integrate forward for half of the time.
If option dfi_write_filtered_input is set to true, a filtered wrfinput file, wrfinput_initialized_d01, will be produced when you run wrf.
In Version 3.2, a constant boundary condition option is introduced for DFI. To use it, set constant_bc = 1 in &bdy_control
If a different time step is used for DFI, one may use time_step_dfi to set it.
k. 使用sst_update选项
The WRF model physics do not predict sea-surface temperature, vegetation fraction, albedo or sea ice. For long simulations, the model provides an alternative to read-in the time-varying data and to update these fields. In order to use this option, one must have access to time-varying SST and sea ice fields. Twelve monthly values of vegetation fraction and albedo are available from the geogrid program. Once these fields are processed via WPS, one may activate the following options in the namelist record &time_control before running the program real.exe and wrf.exe:
WRF模型物理不能预报海表温度、植被比例、反照率和海冰。对于长时段模拟,该模型提供了一种读取的时间变化数据和更新这些字段的替代方案。为了使用此选项,必须能够访问随时间变化的SST和海冰场。geogrid程序提供了12个月平均的的植被比例和反照率值。一旦通过WPS处理了这些字段,在运行程序real.exe和wrf.exe之前,可以激活namelist记录的&time_control中的以下选项:
io_form_auxinput4 = 2
auxinput4_inname = “wrflowinp_d
auxinput4_interval = 360, 360, 360,
and in &physics
sst_update = 1
注意这个选项对于 sf_ocean_physics options.不起作用
Note that this option doesn’t work with sf_ocean_physics options.
l. Using bucket_mm and bucket_J options
These options are for long simulation rainfall accumulations and radiation budget accumulation terms (RAINC, RAINNC, ACSWUPT, ACLWDNBC, etc.). With 32-bit accuracy, adding small numbers to very large numbers loses accuracy as the accumulation term increases. For simulations of days to weeks, the accumulations are usually okay, but for months to years, this has the effect of truncating the additions, and especially small ones may be zeroed-out.
When these options are activated, part of the term is stored in an integer that increments by 1 each time the bucket value is reached, so we have two terms - RAINNC and I_RAINNC, where RAINNC now only contains the remainder. The total is retrieved from the output with total = RAINNC+bucket_mmI_RAINNC. A reasonable bucket value may be based on a monthly accumulation such as 100 mm. Total precipitation equals RAINC + RAINNC, where
Total RAINNC = RAINNC+bucket_mmI_RAINNC
Total RAINC = RAINC+bucket_mmI_RAINC
The radiation accumulation terms (e.g., ACSWUPT) are in Joules/m^2, so that the mean value over a simulation period is the difference divided by the time between, giving W/m^2.
The bucket_J option is for these terms, and the typical value, based on a monthly accumulation, is 1.e9 J. Here the total is given by (ACSWUPT example - other radiative terms would follow the same equation concept):
total = ACSWUPT+bucket_JI_ACSWUPT
m. Using Adaptive Time Stepping
Adaptive time stepping is a way to maximize the time step that the model can use while keeping the model numerically stable. The model time step is adjusted based on the domain-wide horizontal and vertical stability criterion (called the Courant-Friedrichs-Lewy (CFL) condition). The following set of values would typically work well.
use_adaptive_time_step = .true.
step_to_output_time = .true. (but nested domains may still be writing output at the desired time. Try to use adjust_output_times = .true. to make up for this.)
target_cfl = 1.2, 1.2, 1.2,
max_step_increase_pct = 5, 51, 51, (a large percentage value for the nest allows the time step for the nest to have more freedom to adjust)
starting_time_step = the actual value or -1 (which means 4DX at start time)
max_time_step : use fixed values for all domains, e.g. 8DX
min_time_step : use fixed values for all domains, e.g. 3*DX
adaptation_domain: which domain is driving the adaptive time step
Also see the description of these options in the list of namelist on page 5-43.
n. Stochastic parameterization schemes
The stochastic parameterization suite comprises a number of stochastic parameterization schemes, some widely used and some developed for very specific applications. It can be used to represent model uncertainty in ensemble simulations by applying a small perturbation at every time step to each member. Each of these schemes generates its own random perturbation field characterized by spatial and temporal correlations and an overall perturbation amplitude defined in the namelist record &stoch (since version 3.6).
Random perturbations are generated on the parent domain at every time step and by default, interpolated to the nested domain(s). The namelist settings determine on which domains these perturbations are applied. By setting, e.g. sppt=0,1,1 the perturbations would be applied on the nested domains only.
Since the scheme uses Fast Fourier Transforms (FFTs) provided in the library FFTPACK, we recommend the number of gridpoints in each direction to be a product of small primes. If the number of gridpoints is a large prime in at least one of the directions, the computational cost may increase substantially.
Random perturbation field (rand_perturb=1)
This option generates a 3-D Gaussian random perturbation field for user-implemented applications.The perturbation field is saved as rand_pert in the history files (available starting with version 3.7).
Stochastically perturbed physics tendencies (SPPT) (sppt=1)
A random pattern is used to perturb the accumulated physics tendencies (except those from micro-physics) of potential temperature, wind and humidity. For details on the WRF implementation see Berner et al., 2015 (http://journals.ametsoc.org/doi/abs/10.1175/MWR-D-14-00091.1). The perturbation field is saved as rstoch in the history files (available starting with version 3.9).
Stochastic kinetic-energy backscatter scheme (SKEBS) (skebs=1)
A random pattern is used to perturb the potential temperature and rotational wind component. The perturbation fields are saved as ru_tendf_stoch, rv_tendf_stoch, rt_tendf_stoch in the history files for u,v and θ, respectively. For details on the WRF implementation see Berner et al., 2011 http://journals.ametsoc.org/doi/abs/10.1175/2010MWR3595.1) and http://www2.mmm.ucar.edu/wrf/users/docs/skebs_in_wrf.pdf . Wind perturbations are proportional to the square root of the kinetic-energy backscatter rate, and temperature perturbations are proportional to the potential energy backscatter rate (Details available at http://www2.mmm.ucar.edu/wrf/users/docs/skebs_in_wrf.pdf.
Default parameters are for synoptic-scale perturbations in the mid-latitudes. Tuning strategies are discussed in Romine et al. 2014 (http://journals.ametsoc.org/doi/citedby/10.1175/MWR-D-14-00100.1) and Ha et al. 2015 (http://journals.ametsoc.org/doi/10.1175/MWR-D-14-00395.1)
Stochastically perturbed parameter scheme (SPP) (spp=1)
A random pattern is used to perturb parameters in selected physics packages, namely the GF convection scheme, the MYNN boundary layer scheme and the RUC LSM. Parameter perturbations to a single physics package can be achieved by setting spp_conv=1, spp_pbl=1 or spp_lsm=1. For implementation details see Jankov et al. (http://journals.ametsoc.org/doi/abs/10.1175/MWR-D-16-0160.1). The perturbation fields are saved as pattern_spp_conv, pattern_spp_pbl, pattern_spp_lsm in the history files. (Available starting with version 3.9).
Stochastic Perturbations to the boundary conditions (perturb_bdy)
For perturb_bdy=1, the stochastic random field is used to perturb the boundary tendencies for wind and potential temperature. The perturb_bdy option runs independently of SKEBS and as such may be run with or without the SKEB scheme, which operates solely on the interior grid. However, selecting perturb_bdy=1 will require the generation of a domain-size random array, thus computation time may increase.
For perturb_bdy=2, a user-provided pattern is used to perturb the boundary tendencies. Arrays are initialized and called: field_u_tend_perturb, field_v_tend_perturb, field_t_tend_perturb. These arrays will need to be filled with desired pattern in spec_bdytend_perturb in share/module_bc.F or spec_bdy_dry_perturb in dyn_em/module_bc_em.F
Stochastic perturbations to the boundary tendencies in WRF-CHEM (perturb_chem_bdy)
The random pattern created by the option rand_perturb=1 (see above) is used to perturb the chemistry boundary tendencies in WRF-CHEM. For this application, WRF-Chem should be compiled at the time of the WRF compilation.
The perturb_chem_bdy option runs independently of rand_perturb and as such may be run with or without the rand_perturb scheme, which operates solely on the interior grid. However, selecting perturb_bdy_chem=1 will require the generation of a domain-size random array to apply the perturbations in the lateral boundary zone, thus computation time may increase. When running WRF-Chem with have_bcs_chem = .true. in &chem, chemical LBCs read from wrfbdy_d01 are perturbed with the random pattern created by rand_perturb=1 (available from version 3.7).
2021-01-12 16:41