Presentation is loading. Please wait.

Presentation is loading. Please wait.

How to set up and run WRF model

Similar presentations


Presentation on theme: "How to set up and run WRF model"— Presentation transcript:

1 How to set up and run WRF model
Wei Wang NCAR/MMM

2 Outline How to download and compile the WRF model code? Namelist
Input and output files

3 How to download and compile WRF?
Download WRF source code from What you get is WRFV1.3.TAR.gz After gunzip and untar, you should see a directory WRFV1/ cd to WRFV1/ directory, and you should see ..

4 WRFV1 directory CHANGES Makefile README README_test_cases
Registry/ - add/remove input/output, new variables arch/ - architecture-dependent compile options clean compile configure dyn_eh/ dyn_em/ external/ frame/ inc/ main/ - main programs: real, ideal, wrf, executables phys/ - physics routines run/ share/ test/ - where you run the model tools/

5 How to compile? Type ‘configure’ to create configure.wrf file for your particular computer: > ./configure checking for perl5... no checking for perl... found /usr/local/bin/perl (perl) Will use NETCDF in dir: /usr/local/netcdf Please select from among the following supported platforms. 1. Compaq OSF1 alpha (single-threaded) 2. Compaq OSF1 alpha SM (OpenMP) 3. Compaq OSF1 alpha DM/SM (RSL, MPICH, RSL IO, OpenMP) 4. Compaq OSF1 alpha DM/SM (RSL, DECMPI, RSL IO, OpenMP) Enter selection [1-4] : 1

6 How to compile? You’ll see, for example:
You have chosen: Compaq OSF1 alpha (single-threaded) These are the default options for this platform: # OMP = OMPCPP = FC = f90 CC = cc CFLAGS = FCOPTIM = fast -O4 -inline all …… These will be written to the file configure.wrf here in the top-level directory. If you wish to change settings, please edit that file. If you wish to change the default options, edit the file: arch/configure.defaults Configuration successful. To build the model type compile .

7 How to compile? You may want to edit configure.wrf to change default compile options. In WRF V1.3, compile options are provided for SGI (single, OpenMP, MPI) Sun (single and OpenMP – higher version required) IBM AIX (single, OpenMP, MPI) Alpha OSF (single, OpenMP, MPI) Alpha Linux (single, MPI) Linix (single, OpenMP, MPI)

8 How to compile? After typing compile, you will be given a list of options: compile em_b_wave compile em_hill2d_x compile em_quarter_ss compile em_real compile em_squall2d_x compile em_squall2d_y Typing one of the above will produce both initialization and model executables

9 How to compile? Type one of the above to compile e.g. compile em_real
If compile is successful, you should have two executables built in directory main/: real.exe wrf.exe And these executables are linked to ./test/em_real/ if you typed compile em_real If you type compile em_quarter_ss you’d have ideal.exe linked to ./test/em_quarter_ss/

10 How to compile? - Hints If the netCDF library is built in a ‘unusual’ location on your computer, you may use the environment variable NETCDF to provide the correct path to configure. e.g. setenv NETCDF /usr/local/lib32/r4i4 If you compile on a Linux computer, make sure that you have netCDF library installed with PGI compiler.

11 WRFV1/test directory There are six subdirectories for each dynamical core (we recommend that you use the em core): eh_b_wave/ eh_hill2d_x/ eh_quarter_ss/ eh_real/ eh_squall2d_x/ eh_squall2d_y/ em_b_wave/ em_hill2d_x/ em_quarter_ss/ em_real/ em_squall2d_x/ em_squall2d_y/

12 test/em_real directory
The following are in the test/em_real/ directory: LANDUSE.TBL RRTM_DATA eta_micro_loopup.dat tr49t67 tr49t85 tr67t85 namelist.input - require editing real.exe -> ../../main/real.exe wrf.exe -> ../../main/wrf.exe Physics data

13 namelist.input Before you run real.exe or ideal.exe, and wrf.exe, edit the namelist.input for runtime options More information on namelist can be found in WRFV1/run/README.namelist and on the Web:

14 Description of namelist_01
&namelist_01 time_step_max = 1, number of time steps to run max_dom = 1, number of domains (leave as is) dyn_opt = 2, dynamics option: = Eulerian height coordinate = Eulerian mass coordinate = Semi-Lagrangian (not yet implemented) rk_ord = 3, time-integration scheme option 2 = Runge-Kutta 2nd order 3 = Runge-Kutta 3rd order

15 Description of namelist_01
diff_opt = 1, diffusion option: 0 = no turbulence or explicit spatial numerical filters = old diffusion scheme, evaluates diffusion terms on coordinate surfaces(uses khdiv,kvdif) = new diffusion scheme, evaluates mixing terms in physical space (stress form turbulence parameterization by specifying km_opt) km_opt = 1, eddy coefficient option = constant (use khdiv kvdif) = 1.5 order TKE closure = Smagorinsky first order closure (3d) 4 = Smagorinsky first order closure (2d) damp_opt = 1, upper level damping flag (for diff_opt=2 only) = without damping = with damping

16 Description of namelist_01
ISFFLX = 1, heat and moisture fluxes from the surface = with fluxes from the surface = no flux from the surface IFSNOW = 0, snow-cover effects (for bl_surface_physics=1 only) 1 = with snow-cover effect = without snow-cover effect ICLOUD = 1, cloud effect to the optical depth in radiation (for ra_lw_physics = 1 and ra_sw_physics = 1 only) = with cloud effect = without cloud effect

17 Description of namelist_01
num_soil_layers = 4, number of soil layers in land surface model spec_bdy_width= 5, number of rows for specified boundary value nudging spec_zone = 1, number of points in specified zone (spec b.c. option) relax_zone = 4, number of points in relaxation zone (spec b.c. option) tile_sz_x = 0, number of points in tile x direction tile_sz_y = 0, number of points in tile y direction numtiles = 1, number of tiles per patch (alternative to above two) debug_level = 0/ 50,100,200,300 values give increasing prints

18 Description of namelist_02
grid_id = 1, domain identifier level = 1, domain nest level s_we = 1, start index in x (west-east) direction e_we = 32, end index in x (west-east) direction s_sn = 1, start index in y (south-north) direction e_sn = 32, end index in y (south-north) direction s_vert = 1, start index in z (vertical) direction e_vert = 31, end index in z (vertical) direction

19 Description of namelist_02
time_step_count_start = 0, start time-step (leave as is) time_step_count_end = 10, end time-step (this is inactive) time_step_count_output = 10, time-steps between history outputs frames_per_outfile = 10, output times per history file time_step_count_restart = 10, time-steps between restart outputs time_step_begin_restart = 0, time-step of restart beginning 0=not a restart time_step_sound = 4, number of sound steps per timestep

20 Description of namelist_02
mother_id = 1, mother domain id (this is inactive) i_mother_start = 1, start x position in mother domain j_mother_start = 1, start y position in mother domain i_mother_end = 1, end x position in mother domain i_mother_end = 1, end y position in mother domain mother_grid_ratio = 1, nest refinement ratio relative to mother mother_time_step_ratio = 1, nest time-step ratio relative to mother moad_grid_ratio = 1, nest nest refinement ratio relative to moad moad_time_step_ratio = 1, nest time-step ratio relative to moad

21 Description of namelist_03
dx = 2000, grid length in x direction dy = 2000, grid length in y direction dt = 12., time-step for advection ztop = , the height of the model top zdamp = 5000., damping depth from model top dampcoef = 0.2, damping coefficient (dampcoef <= 0.25) smdiv = 0, divergence damping (0.1 is typical) emdiv = 0.01, external-mode filter coef for mass coord ( is typical for real data) epssm = .1, time off-centering for vertical sound waves khdif = 0, horizontal diffusion constant (m^2/s) kvdif = 0, vertical diffusion constant (m^2/s) mix_cr_len = 200, the critical value of the mixing length for isotropic and anisotropic diffusion

22 Description of namelist_03
radt = 10, minutes between radiation physics calls bldt = 0, minutes between boundary-layer physics calls cudt = 5, minutes between cumulus physics calls julyr = 0, Julian Year for model start julday = 1, Julian Day for model start gmt = 0./ GMT time for model start

23 Description of namelist_04
periodic_x = .false., periodic boundary conditions in x direction symmetric_xs = .false., symmetric boundary conditions at x start (west) symmetric_xe = .false., symmetric boundary conditions at x end (east) open_xs = .false., open boundary conditions at x start (west) open_xe = .false., open boundary conditions at x end (east) periodic_y = .false., periodic boundary conditions in y direction symmetric_ys = .false., symmetric boundary conditions at y start (south) symmetric_ye = .false., symmetric boundary conditions at y end (north) open_ys = .false., open boundary conditions at y start (south) open_ye = .false., open boundary conditions at y end (north) nested = .false., nested boundary conditions (inactive) specified = .true., specified boundary conditions (inactive) top_radiation= .false., upper radiative boundary conditions (inactive)

24 Description of namelist_04
chem_opt = 0, chemistry option mp_physics microphysics option = 0, no microphysics = 1, Kessler scheme = 2, Lin et al. scheme = 3, NCEP 3-class simple ice scheme = 4, NCEP 5-class scheme = 5, Ferrier (new Eta) microphysics = 99, Zhao-Carr (old Eta) microphysics

25 Description of namelist_04
ra_lw_physics longwave radiation option = 0, no longwave radiation = 1, rrtm scheme = 99, GFDL (Eta) longwave (semi-supported) *remove –DTRIEDNTRUE from compile flags ra_sw_physics shortwave radiation option = 0, no shortwave radiation = 1, Dudhia scheme = 2, Goddard short wave = 99, GFDL (Eta) shortwave (semi-supported)

26 Description of namelist_04
bl_sfclay_physics surface-layer option = 0, no surface-layer = 1, Monin-Obukhov scheme = 2, Monin-Obukhov (Janjic Eta) scheme bl_surface_physics land-surface option = 0, no land-surface = 1, thermal diffusion scheme = 2, OSU land-surface model bl_pbl_physics boundary-layer option = 0, no boundary-layer = 1, mrf scheme = 2, Mellor-Yamada-Janjic (Eta) TKE scheme

27 Description of namelist_04
cu_physics cumulus option = 0, no cumulus = 1, Kain-Fritsch (new) scheme = 2, Betts-Miller-Janjic (Eta) scheme  = 99, previous Kain-Fritsch scheme

28 Description of namelist_04
h_mom_adv_order = 5, horizontal momentum advection order (5=5th,etc.) v_mom_adv_order= 3, vertical momentum advection order h_sca_adv_order= 5, horizontal scalar advection order v_sca_adv_order= 3, vertical scalar advection order  io_form_history = 2, io_form_restart = 2, io_form_initial = 2, io_form_boundary = 2, = 1, (not active) = 2, netCDF format

29 Description of namelist_05
&namelist_05 (only used for real.exe pre-processed files, ignored otherwise)   start_year = 2000, four digit year of starting time start_month= 11, two digit (01-12) month of starting time start_day = 20, two digit (01-31) day of starting time start_hour = 12, two digit (00-23) hour of starting time start_minute= 00, two digit (00-59) minute of starting time start_second= 00, two digit (00-59) second of starting time  end_year = 2000, four digit year of ending time end_month = 11, two digit (01-12) month of ending time  end_day = 21, two digit (01-31) day of ending time  end_hour = 00, two digit (00-23) hour of ending time end_minute = 00, two digit (00-59) minute of ending time  end_second = 00, two digit (00-59) second of ending time interval_seconds= 43200, time interval in seconds between analysis (and boundary) times

30 Description of namelist_05
real_data_init_type which type of real input: = 1, WRF SI = 2, MM5 data (height model only at this time) = 3, user written routine read_generic in module_si_io.F

31 Description of namelist_quilt
The following namelist controls asynchronized I/O for MPI: &namelist_quilt nio_tasks_per_group = 0, default value is 0, no quilting nio_groups = 1, default 1, don’t change

32 WRF input files Running real.exe turns real_input_em.d01.yyyy-mm-dd_hh:mm:ss to wrfinput_d01 and wrfbdy_d01 Running ideal.exe creates wrfinput_d01 (and wrfbdy_d01, but wrfbdy is not used)

33 How to run WRF? To run WRF on a single processor, type
> wrf.exe >& wrf.out & To run WRF using OpenMP, one may need to choose how many processors to use. To do this, type > setenv OMP_NUM_THREADS 4 to select to run on 4-processor shared-memory computer. (Note, on some computer, if one doesn’t set the number of processors to use, the wrf.exe may use all processors available.)

34 How to run WRF? To run WRF on a MPI machine with MPICH, type
> mpirun –np 4 wrf.exe The standard-out and error will go into the following files: show_domain_0000: domain-deposition info rsl.out rsl.error.0000 rsl.out rsl.error.0001 rsl.out rsl.error.0002 rsl.out rsl.error.0003 There will be one pair of files for each running processor For other MPI-implementation, the run command may be different. For example, on IBM, the MPI run-command is > poe wrf.exe

35 WRF output files After one runs wrf.exe, WRF produces these output files: wrfout_d01_000000: history file wrfrst_d01_nnnnnn: restart file where nnnnnn is model time step when the restart file is written. If one splits output files, one may obtain: wrfout_d01_xxxxxx where xxxxxx is the time step at which the output file is written. For example, wrfout_d01_000000 wrfout_d01_003600

36 WRF output files WRF input and output files wrfinput_d01 wrfbdy_d01
wrfout_d01_xxxxxx wrfrst_d01_xxxxxx are netCDF files. So one can use netCDF utilities to look at file header and values of any fields. e.g. ncdump –h wrfout_d01_ – gives a list of fields ncdump –v U wrfout_d01_ – prints out values of U field in the file.


Download ppt "How to set up and run WRF model"

Similar presentations


Ads by Google