Skip to content

@kkeene44 kkeene44 released this Dec 18, 2018 · 1 commit to master since this release

The WRF model has been updated to Version 4.0.3 on December 18, 2018.

Acknowledgements: We would like to thank Xu Zhang (Shanghai Typhoon Institute), J. Fidel González-Rouco (UCM & IGEO-CSIC, Spain), Jorge Navarro and Elena García-Bustamante (CIEMAT, Spain), and Carlos Ross (DFM Consultores) for their contributions to this release.

This is a bug fix release. Following are fixes associated with this release.


  • LES options in V4.0 with use_theta_m=1 (default) contained an error with surface fluxes leading to a cooler PBL. QFX term has been added to surface theta_m flux to correct this problem.
  • Fixed a non-bit-for-bit restart problem with the diff_6th_opt option. The error was due to the start and end indices too close to the domain boundaries when doing 6th order horizontal diffusions. Because the loop indices are changes, the results from any run that uses this option will also change. This was a bug since this option was added to the model in V3.1. Thanks to Jorge Navarro for the initial report that led to the discovery of the bug.
  • Fix for a problem that occurred if a user were to use NLCD and MODIS landuse static data together for an urban application. All urban land use categories were assigned type 13, which is correct for MODIS, but NLCD urban high-resolution categories should be assigned 24, 25, and 26 (and should be preferentially used, when available).

Ideal cases:

  • Idealized cases will now utilize the “set_physics_rconfigs” and “check_nml_consistency” subroutines from share/module_check_a_mundo.F. This will ensure that namelist requirements are not overlooked, and that the correct number of soil layers is assigned to cases, depending on what (if any) LSM scheme is used.

Data Assimilation:

  • A syntax error was introduced with the v4.0 release that breaks the build of the WRFPLUS code (and only the WRFPLUS code) v19.0.1 of the Intel compiler. An OpenMP parallel loop was incorrectly constructed. That syntax error has been removed, though it is important to note that WRFPLUS never was intended to work with OpenMP, and the WRFPLUS code continues to only work with serial or DM build options.


  • A fix to the Registry.EM_COMMON file to correct a problem causing a few variables to be identically zero in the fine-grid ndown run or nesting run when input_from_file = .false.


  • WRF now supports the correct compiler flag for OpenMP builds with newer Intel compilers, v18.0 and later. The Intel-recommended flag (-qopenmp) was tested successfully with Intel 16.0.1, 17.0.1, and 18.0.1.


  • After removing a hard-coded limit for an assumed maximum number of MPI tasks, the observation nudging code for WRF now supports more than 1024 MPI tasks. If users previously ran the obs-nudging code with 1024 or fewer MPI tasks, the original code is OK; however, if users attempted to run obs-nudging with >1024 MPI tasks, likely the code died with a segmentation fault while trying to access an address for an array index that was not available.
Assets 2

@smileMchen smileMchen released this Nov 10, 2018 · 17 commits to master since this release

WRF Model Version 4.0.2: UPDATES

The WRF model has been updated to Version 4.0.2 on November 9, 2018.

The WRF Preprocessing System (WPS) has also been updated to Version 4.0.2.

Acknowledgements: We would like to thank Tanya Smirnova (NOAA), Alexander Davies (US Naval Academy), Jeremy Silver (U. Melbourne), @sodoesburningbus, and Alexander Ukhov (KAUST) for their contributions to this release.

This is a bug fix release. Following are fixes associated with this release.

  • Dynamics:

    • Fix zero-valued d02 dry potential temperature perturbation from horizontal interpolation.This fix does not change the WRF model simulation results. However, if users grab the initial condition dry potential temperature perturbation field, "T" in the netcdf file, that value will be identically zero (the field is initialized within the solver routine for all subsequent time steps). Most WRF post-processors will assume that the field is a horizontally and vertically uniform dry potential temperature = 300 K, which would provide almost reasonable-looking values for temperature near the surface. After the first time step, the model results will be correct. This bug is in v4.0 and v4.0.1.
  • Microphysics:

    • A loop counter and an array index are changed from real to integers in the Morrison 2-moment scheme with consideration of CESM-NCSU RCP4.5 climatological aerosol. This change makes the code able to compile on Cray.
    • Explicitly name a small value as a PARAMETER so that the small value can be represented with single precision on Cray. This is also for the Morrison 2-moment scheme with consideration of CESM-NCSU RCP4.5 climatological aerosol.
  • Cumulus parameterization:

    • A minor modification was made to the Grell 3 scheme to prevent random seed array bounds errors in the cup_forcing_ens_3d subroutine
    • Correct a few syntaxes in multi-scale Kain-Fritsch to make the code able to compile on Cray
  • Land surface scheme

    • Bug fix in RUC LSM for the computation of LAI for particular day when LAI parameter is read in from the VEGPARM.TBL. The bug makes the value of LAI smaller than it should be.
    • Bug fix for Noah LSM when rdalai2d is set to true. In areas where LAI is zero (and vegetation fraction isn’t), unrealistic sensible and latent heat fluxes are produced due to this bug, leading to model crash.
  • PBL scheme

    • The MYJ and QNSE PBLs use surface water vapor mixing ratio as low boundary condition for moisture and compute it from the latent heat flux, while other PBL schemes use directly latent heat flux as low boundary condition. Therefore, there is a special computation of latent heat flux inside RUC LSM to get correct surface Qv. In original code the check in the surface driver is made on the option of surface layer scheme, and not PBL scheme. Therefore, if MYJ PBL is not used together with MYJ surface layer scheme, there will be inaccuracy in low boundary condition for moisture.
    • A check was implemented to stop the real or wrf program if bl_mynn_edmf (which is set to 1 by default in the MYNN scheme) is being used in combination with either the ishallow or shcu_physics option turned on. A message informs the user that bl_mynn_edmf cannot be used with the other 2 options and the namelist must be modified.
  • Ideal case:

    • The default value for vegfra in idealized cases was modified from a fraction to a percentage, consistent with the Noah LSM driver
  • Data Assimilation:

    • Bug fix for WRFDA RANDOMCV when put_rand_seed=.false. and the compiler has a minimum size of random seed array larger than 10.
    • Fix WRFDA compilation when RTTOV-11 is built with HDF5-enabled.
  • Chemistry:

    • Correct the chemical reaction rate constant for reaction: SO2 + OH -> SO4. This change applies only to the following chem_opt options: MOZART_KPP,MOZCART_KPP,T1_MOZCART_KPP,MOZART_MOSAIC_4BIN_KPP,MOZART_MOSAIC_4BIN_AQ_KPP.
    • Bug fix in optical_prep_gocart to better represent dust particles that have radii less than 0.46 microns. With this fix, the underestimation of AOD is overcome.
    • Bug fix for the contribution calculation of dust and sea salt bins into the MOZAIC bins. This fix leads to increased contribution of small dust and sea salt particles to AOD.
Assets 2

@kkeene44 kkeene44 released this Oct 2, 2018 · 40 commits to master since this release

WRF Model Version 4.0.1: UPDATES

The WRF model has been updated to Version 4.0.1 on October 2, 2018.
The WRF Preprocessing System (WPS) has also been updated to Version 4.0.1.

Acknowledgements: We would like to thank Mike Barlage, Jim Bresch, Greg Thompson, and May Wong for their contributions to this release.

This is a bug fix release. Following are fixes associated with this release.


  • Hybrid vertical coordinate - In the original implementation of the hybrid vertical coordinate (v3.9), the cpp directives utilized capitalization to differentiate between the use of full-level (c1f, for example) and half-level (c1h, for example) 1d coefficient arrays. For several locations in module_small_step_em.F, the use of the "mu" array with the "t_2" field incorrectly was assigned to full levels. These errors are minor.

  • Moist potential temperature - In the porting of the theta_m mods from being ONLY inside of the WRF model to being part of the initialization step in the real and ideal programs, the start_em file was modified. Part of the computation of the pressure involves dry_theta * ( 1 + Rv/Rd Qv ). When the incoming data from the real or ideal program has the namelist option use_theta_m==1, then the factor ( 1 + Rv/Rd Qv ) was already included in the theta field. This error is dramatic for the initial conditions (more than 30 hPa in some locations), but the error dies out over time.


  • Microphysics, Thompson:

    • Bug has been in the code for approximately 10 years, skipping a reduced number of rain.

    • Increased maximum ice concentration permitting 10000/Liter whereas previously 500/Liter upper limit.

    • A series of new checks using "EQV" construct to provide some loops to be skipped.

    • Minor changes to lower limits of precip to eliminate really tiny values (~1E-9).

    • Removed extraneous ELSE blocks in reading lookup tables.

    • Eliminate air density - fix for extreme model top heights by Tanya Smirnovich for FIM model (and MPAS).

    • Set a higher value for min dust concentration when nucleating ice.

  • Land Surface Model, NoahMP:

    • Noah-MP frozen soil initialization- An incorrect sign change was introduced in v4.0, impacting soil moisture and soil temperature initialization.

    • Array out of bounds Noah-MP - Fix possible/likely array out of bounds by assuming homogeneous soil with depth.Only applies to opt_run=2.

    • Noah-MP snow liquid water movement - prevent excessive gravitational water movement. Fixes unrealistic snow density values during melt season.

    • Noah-MP divide by zero - Bug fix in v4.0 introduced a possible divide by zero when LAI is zero.

    • Noah-MP leaf aerodynamic resistance - limit leaf aerodynamic resistance to prevent very large canopy exchange coefficients with high wind speed.


  • Wrong namelist entries given in test/em_real/

Data Assimilation:

  • Cheyenne path change for crtm_coeffs_2.2.3 corrected for new file system directory structure.
    An array out-of-bounds error is fixed when cloud_cv_options is set (0, 1, or 2) and mp_physics is set (any value besides 0 or 98) such that any of xa%qrn, xa%qcw, xa%qci, xa%qsn, or xa%qgr are disabled and such that moist scalars qc, qr, qi, qs, and qg are enabled. See registry.var for more info. Error mode without fix: WRFDA will have a fatal error during the analysis update when bounds checking is turned on (debug mode). It is also possible that those moist scalars and correlated variables will be incorrectly updated when bounds-checking is turned off.

  • Bug fix for max_ext_its>=2 and cloud/w BE scaling factors (i.e. var_scaling6..11 and len_scaling6..11) that vary with outerloops.

  • Bug fix for ob.radar that contains rv=-999.99, rv_err=-888888.0, rf_err=-888888.0 to avoid excess check_max_iv prints.


  • convert_emiss compilation - Minor bug fix for convert_emiss compilation issue. The build target for convert_emiss was accidentally removed when error detection (not recognizing an argument for the ./compile script) was introduced with v4.0. Users will not be able to build the WRF Chem executable convert_emiss without this fix.
Assets 2

@davegill davegill released this Jun 9, 2018 · 61 commits to master since this release

WRF Model Version 4.0: UPDATES

WRF Model Update
The WRF model tar file has been updated to Version 4.0 on June 8, 2018. For known problems in V4.0, please click here.

The WRF Pre-Processing System (WPS) has been updated to Version 4.0.

Note: V4.0 WRF can use wrfinput and wrfbdy files from earlier versions of the model. But one must use appropriate options to do so (see below). If one would like to try the latest options, one must re-run program real.exe from this version of the code.

As always, be cautious when using new options.

If you are interested in seeing how V4.0 has been tested, click here.

New in Version 4.0:


  • The hybrid sigma-pressure vertical coordinate introduced in V3.9 is now the default. It can be turned of by using namelist option hybrid_opt=0. See doc/README.hybrid_vert_coord for details.

  • Temperature variable is now moist theta by default. This has been an option since V3.7, controlled by namelist use_theta_m.



  • P3 (Predicted Particle Property scheme) microphysics: Added an option for including the second free array for ice. Added a new data file p3_lookup_table_2.dat. Activated by using mp_physics = 52. (Thanks to Morrison of NCAR)

  • Thompson-Eidhammer microphysics (mp_physics = 28): Added a surface dust emissions scheme (near copy of GOCART) to link into the ice-friendly aerosol variable. This option is activated by namelist option dust_emis = 1. (Thanks to Thompson, M. Xu and T. Eidhammer of NCAR)


  • An option is added use CESM-NCSU (North Carolina State University) prescribed RCP4.5 climatological aerosol data (spatially and temporally varying) to interact with cloud simulated by MSKF (cu_physics=11) and a special aerosol Morrison scheme (mp_physics=40). A subgrid-scale cloud microphysics scheme of Song and Zhang (2011) is added in MSKF, and the aerosol activation and ice nucleation parameterizations of Song and Zhang (2011) are added into a version of Morrison scheme (mp_physics = 40). The cloud produced by the MSKF is passed onto radiation. Radar reflectivity from the microphysics in MSKF can be output as mskf_refl_10cm. The options are activated by namelist aercu_opt (= 0, no aerosol interaction; = 1, interaction with MSKF only; = 2, interaction with both MSKF and Morrison). The aerosol concentration can be changed by a namelist aercu_fct (default value is 1.). The aerosol comes in on 30 pressure levels, and has 10 types. The input data can be found on Cheyenne in /glade/p/work/wrfhelp/WRF_files, and on the web at A user needs to link one of these files to CESM_RCP4.5_Aerosol_Data.dat before running. (Thanks to Timothy Glotfelty, Patrick Hawbecker, and Kiran Alapaty of EPA)


  • KSAS (cu_physics=14): A scale-aware verson of NSAS. Should be run with shcu_physics = 4, the NSAS shallow scheme, which is part of the NSAS scheme. The old NSAS scheme has been moved to cu_physics = 96. (Thanks to Korea Instituted of Atmospheric Prediction Systems or KIAPS and Jihyeon Jang of NCAR).

Land-Surface Model:

  • Noah-MP:
  • Gecros crop model (Genotype-by-Environment interaction on CROp growth Simulator, Germany) is added to NoahMP and can be activated by option opt_crop = 2. (Thanks to J. Ingwersen of U. Hohenheim and M. Barlage of NCAR)
  • Added capability for Noah-MP to read soil composition data and use pedotransfer (PT) function to determine soil properties (opt_soil in namelist). PT function coefficients are controlled from MPTABLE. Users can add additional PT functions controlled by opt_pedo in namelist. Special version of GEOGRID.TBL and datasets added in WPS. (Thanks to M. Barlage of NCAR)
  • Variables for NoahMP is now in a separate registry file, registry.noahmp (Thanks to M. Barlage of NCAR)


  • RRTMK (ra_sw_physics=14, ra_lw_physics=14): A version of RRTMG improved by KIAPS: G-packed McICA was sped up without losing accuracy, and two-stream approximation (TSA) for scattering process is revised. Overall speed of the code isn't changed. (Thanks to Korea Instituted of Atmospheric Prediction Systems. Reference: Baek, S. (2017), A revised radiation package of G-packed McICA and two-stream approximation: Performance evaluation in a global weather forecasting model, J. Adv. Model. Earth Syst., 9, doi:10.1002/2017MS000994)

Improvements and Bug fixes:


RAP/HRRR Physics: (Thanks to Joe Olson, Tanya Smirnova, and others at GSD/NOAA)

  • MYNN PBL (bl_pbl_physics=5) and MYNN surface layer (sf_sfclay_physics=5):

(a) Enhancement of mass-flux scheme, tweak of mixing length and stratus component of subgrid clouds. Changed default option to EDMF and mixing length option 2.
(b) SPP fixes: SPP turned off for subgrid cloud decay; and missing height information for length scale is added.
(c) MYNN surface layer: Changed 2 m exchange coefficient calculation which affects 2-m diagnostics, but not model solution;
(d) Switched to use THv for TH* calculation to be consistent with RIB calculation and further relaxed some limits on PSIT, PSIX, and UST following Jimenez et al. (2012). Small impact. Using Li et al. (2010, BLM) for RIB -> z/L mapping. Changed default z0,zt,zq over water to be COARE 3.0 (was 3.5 in v3.9).

  • RUC LSM (sf_surface_physics = 3):

(a) Changed empirical formulation of frozen precipitation density to match better observed snow accumulation on the ground;
(b) Applied snow "mosaic" approach only when temperature at the first atmospheric level is above 271K. This change prevents from two warm skin temperature over shallow snow;
(c) Modified 2-m diagnostics of temp and mixing ratio to not use 'flux' method.


  • NSSL scheme: (Thanks to Ted Mansell of NSSL)
  • Added a new default ice crystal fall speed formula (icefallopt = 3), which has faster speeds for small ice particles. The main effect is on anvil clouds to help them settle a bit faster. The old behavior can be recovered with icefallopt=1;
  • Added an option to change ice crystal and snow fall speeds by an arbitrary factor, but default factors are 1.0 (no impact with default settings);
  • Added a calculation of reflectivity-weighted snow fall speed instead of using mass-weighted (for size-sorting limiter);
  • Added a check for large supersaturation w.r.t. liquid at ice-only temperatures and nucleate/condense if needed;
  • Added option to limit accretion of droplets smaller than "exwmindiam" by setting a "reserve value" that is excluded from accretion so that a minimum value of mass and number remains. (Default is no limit, i.e., exwmindiam = 0.0 );
  • Added two options for rime density on graupel/hail (irimdenopt). Default is original Heymsfield and Pflaum formula. Extra options are for Cober and List (1993) and Macklin;
  • Added a rime density calculation for rain accreted by graupel instead of always assuming high density;
  • Added a calculation of a separate rate for number of rain drops produced by snow melting rather than using the snow number loss rate;
  • Separated rain-ice freezing from flag ifrzg, and is now controlled by ifiacrg (no impact -- for sensitivity study only)
  • Snow aggregation coefficient set back to 1.0 (increases aggregation rate);
  • Made consistent use of dtpinv to replace divisions by dtp (no impact).
  • WDM6 (mp_physics = 16): Added dependency of qcr (cloud and rain water conversion rate) on land and ocean. The lower limit of nccn is set to clean air value over ocean, and this improves effective radius calculation and radiation feedback (From KIAPS).

  • Morrison schemes (mp_physics = 10, 40): A new namelist, morr_rimed_ice, is added to control graupel or hail option for these schemes. This was controlled by hail_opt. The default value is set to use hail (1). (From H. Morrison)

Planetary boundary layer and surface layer physics:

  • Q2 diagnostics: limited to 5% over lowest model level QV to avoid unrealistic spikes at sunrise and sunset times.

  • ACM2 (bl_pbl_physics=7): used height instead eta values to compute layer structure. This is more consistent with MPAS, but also gives some improvement for 2 m T in WRF (Thanks to R. Gilliam and J. Pleim of EPA)

  • MM5 surface layer (sf_sfclay_physics = 1, 91): added a option to use Czil = 0.1 by setting iz0tlnd = 2. This provides a way to change the sensitivity of exchange coefficient.

  • MYJ suface layer (sf_sfclay_physics = 2): Allowed to work with LES by providing frictional velocity for momentum from the scheme. ARW only.

Land Surface physics:

  • NoahMP: a patch communication is needed for the groundwater model with generic dataset. The bug was introduced in 3.9. (Thanks to M. Barlage of RAL/NCAR).

  • Noah: output variable CANWAT is incorrectly scaled on output by 1000. No effect to model solutions (Thanks to P. Campbell of EPA).

  • Several variables, RA (aerodynamic resistance), RS (stomatal resistance), WSPD, LAI_mosaic, RS_mosaic, are diagnosed from Noah, Noah-mosaic and NoahMP and can be added to the output for CMAQ applications (EPA). (Thanks to P. Campbell of EPA)

  • Urban physics: Added variable TSK_RURAL for BEP/BEM with Noah to prevent possible model failure when aggregated TSK is disaggregated (Thanks to Alberto Martilli of CIEMAT, Spain)

  • PX LSM: removed arbitrarily high values of vegetation fraction and leaf area index computed internally for rangeland, scrubland etc. in western US. This improves the moist and cool biases and high precipitation biases. Also added data for 21 category MODIS. (Thanks to R. Gilliam of EPA)

  • SSiB LSM: fixed a bug in soil layer initialization.


  • sf_ocean_physics = 1: Allowed simple mixed layer ocean model to be turned off in DFI, and turned back on in forward integration.


  • Two fixes for using CAM climatological ozone (o3input=2) with RRTMG: 1) if one uses physics suite specification in V3.9, then o3input is mistakenly reset to 0 for all domains (This means the constant ozone profile is used); 2) if one uses a nest, the nest didn't use any ozone data. This bug was introduced in V3.9 as well.

  • Clear-sky surface diagnostics for direct and direct normal surface solar radiation are added (Thanks to Pedro Jimenez of NCAR).

  • Use of GHG: The model will now stop if input file CAMtr_volume_mixing_ratio is not found, rather than reverting to default values. (Thanks to Claire Carouge of ARC Centre of Excellence for Climate Systems Science, Australia)


  • Gravity wave drag (gwd_opt=1): 1) Gravity wave drag generalized for all projections. Winds are rotated to lat/long at beginning of GWD code so that orographic data from geogrid can be used accurately. Tendencies are rotated back afterwards. The stop when the grid is rotated too much relative to lat/lon, which was introduced in V3.9, is removed. 2) Fixed a problem with excessive orographic stress in unstable conditions (Thanks to M. Toy of NOAA and Hyun-Joo Choi of KIAPS).

  • WRF-Fire updates. (Thanks to Domingo Munoz-Esparza of RAL/NCAR)

  • Proper parallelization of the entire level-set algorithm using MPI
  • 3rd-order Runge-Kutta time integration scheme for the level-set equations
  • 3rd- and 5th-order weighted essentially non-oscillatory (WENO) schemes for the discretization of the advection term in the level-set equations [also 2nd- and 4th-order schemes are available]
  • A hybrid-order level-set method with locally reduced artificial viscosity (high-order over a local band
  • Reinitialization PDE for the level set (also using hybrid-order discretization)
  • Transport and dispersion of fire-generated smoke as a passive tracer
  • Diagnosed flame length
  • Option to extrapolate mid-flame height winds to reduce over-coupling of atmospheric fields impacted by the fire
  • Initialization from observed fire area
  • Scott & Burgan (40) fuel model crosswalk to Anderson (13)
  • Several bug fixes
  • Modified test/em_fire/namelist.input* files.
  • Hailcast option (hailcast_opt = 1): Added haildt to avoid computing at every model time step; Added the use of the adiabatic liquid cloud water profile to account for typical convective-allowing resolutions not fully resolving the precipitation-free bounded weak echo region; the output variable is changed to maximum hail size rather than the mean and stand deviation; The model will stop if this option is used in a domain where a cumulus scheme is activated (Thanks to Becky Adams-Selin of AER and Conrad Ziegler of NSSL/NOAA).

  • Spectral nudging of water vapor: added and controlled by namelist. A capability to place an upper-layer limit on spectral nudging of QV and T via a new namelist variable "ktrop" is added too. (Thanks to Tanya Spero of National Exposure Research Lab).

  • Obs-nudging: Fixed a bug for variable reserf when model levels are greater than 100 (Thanks to B. Reen of Army Research Laboratory)

  • output_diagnostics = 1: Fixed a potential issue in climate extreme computation where roundoff errors may result in negative value for square root computation. (Thanks to C. Carouge of ARC Centre of Excellence for Climate Systems Science, Australia)

  • Physics sharing with MPAS: MPAS directives are added to a few physics options (new Tiedtke CPS, YSU PBL, Noah LSM, WSM6) so that potentially it will allow MPAS to get the latest versions of WRF physics.


  • Added a new way to computed vertical levels, which has a smooth variation of dz (see User's Guide, Chapter 5 for details). This method is the default and can be changed by the new namelist auto_levels_opt (= 1 gives the old set of levels). Together with namelists dzbot, dzstretch_s, dzstretch_u (new) and max_dz, one can adjust to give you different number of vertical levels.

  • force_use_old_data: Set to true, if using wrfinput data from older versions of the model. This is a new namelist in &time_control. When using old input data, one should also set hybrid_opt =0 and use_theta_m = 0 in &dynamics, since the defaults for V4 are hybrid_opt =2 and use_theta_m = 1. If this option isn't active, checks in the model will make suggestions to you.

  • A general module_initialize_ideal.F now handles ideal cases quarter_ss, squall2d_x, squall2d_y, b_wave, les, seabreeze2d_x, convrad, hill2d_x and grav2d_x. The case is determined by namelist variable ideal_case (added to namelist template in each ideal case directories). Compile-time selection is not changed, since it still needs to know which test directory to link executables to.

  • in test/em_scm_xy/: String 'V4' is added to the TITLE of global attribute so that it can be used by V4 model.

  • real and wrf: in V3.9, checks were added for mixed layer ocean and input, gwd and input, urban and input to catch problems with using those options but no input data. But checks also stop the model if there is input for a particular option, but the option was turned off. This is fixed in V4.0.

  • Urban fraction initialization: To use new NLCD FRC_URB2D input file (see WPS updates) from WPS/geogrid program properly in the model, a match between this data and other datasets (such as MODIS or USGS landuse, which may cover the non-urban areas) is put in.

  • The default input SNOALB is changed from old 0.15 deg NCEP data to new 0.05 deg MODIS snow albedo data. If one uses usemonalb = .true. (default value is false), the default dataset from geogrid is changed from 0.15 deg NCEP data to new 0.05 deg MODIS data.

  • RSL files: Removed non-fatal messages from these files.

  • A mechanism to output a small selected fields is added. This writes to auxiliary stream 1. It writes total pressure, total geopotential height, temperature, pressure, rotated u and v (earth relative), wind speed, mslp. This can be activated by using namelist option diag_nwp2 = 1. This option will be developed further in the coming months.


  • diff_6th_opt was fixed for conservation. The option can be turned off if the terrain slope exceeds a namelist specified threshold value (diff_6th_slopeopt=1, and diff_6th_thresh=0.1).

  • Options are added to turn on/off 2nd and 6th order diffusion for all 4D arrays.

  • Diffusion for lat/lon grid: corrected map-scale factors for two terms. (Thanks to GSD/NOAA).

Namelist Changes:

  • Added a new namelist template, namelist.input.pbl-les, in test/em_real directory for running model from km to LES scales.

  • Simplied to reduce user errors: removed many variables those values cannot be changed. Examples are num_soil_layers, spec_zone, relax_zone (can be derived from spec_zone and spec_bdy_width), {start, end}_{minute,second}, debug_level,

  • e_vert in all real-data namelist templates are increased to 33 based on the new default method to compute eta levels. If you set eta_levels, there is no restrictions. But caution must be used to ensure there are adequate number of vertical levels.

  • damp_opt for real-data templates are changed from 0 to 3.

  • num_metgrid_levels in all real-data namelist templates are changed from 27 (number of old GFS data levels) to 32 (new GFS data levels).


  • SLOPECAT field: removed from WPS and model.

  • directory dyn_exp/: removed.

  • run_restart.tar in test/em_b_wave/: removed.


  • The top model directory is now WRF/.

  • The default build is now netCDF4 with compression if netCDF4 is built with HDF5 library. This allows WRF netCDF input and output files written with compression. If the desired library doesn't exist, it reverts to classic netCDF. It is noted that the compression may be slower than non-compression writes, but the advantage is it writes files with smaller sizes.

  • Determine the resultant x- and y-direction computational patch sizes based on the full domain size and the number of MPI ranks used in each direction. If the patch size < 10 grid cells in either direction, the model will stop.

  • Support for OpenMPI version 1 is removed..

  • Cleaned up configure and compile scripts.

Assets 2

@mkavulich mkavulich released this May 12, 2017 · 358 commits to master since this release

This is the version 3.9 release of the WRF code. The release includes all components of the system:

  • WRF model (including ARW and NMM/HWRF)
  • WRF-Chem

WPS and WRFPLUS have also been updated, but these codes are kept separately from this repository. Click those respective links for further details.

The highlights of the new release are:

WRF ARW model:

  • Hybrid sigma-pressure vertical coordinate as an alternative vertical coordinate
  • P3 microphysics
  • Stochastically perturbed parameter scheme and stochastically perturbed physics tendencies
  • Improvement to RAP/HRRR physics and various other physics
  • Runtime performance improvement through optimization of advection routines

See for full details


  • New assimilation capability: 4DEnVar
  • Cloudy radiance assimilation capability for AMSR2
  • Radar "null-echo" assimilation

See for more information


  • TUV photolysis option
  • Coupled WSM6 microphysics with MOZART gas wet scavenging
  • Modified GOCART dust scheme for the SORGAM and MOSAIC chemistry options
  • A new trajectory option that calculates meteorological and chemical properties
    along air trajectories


  • The 2016 operational update, which includes surface layer and ocean coupling updates; the GFS EDMF PBL scheme, and a scale aware SAS cumulus scheme.

For detailed code changes, updates and to download the latest version of the code, please visit and

We would like to thank many people who contributed to the v3.9 release:

Hugh Morrison, Jason Milbrandt, Judith Berner, Joe Olson, Tanya Smirnova,
Georg Grell, Francisco Salamanca, Yizhou Zhang, Xing Liu, Gonzalo Miguez-Macho,
Mike Barlage, Chunxi Zhang, Sebastien Masson, Jihyeon Jang, Kun Liu, Becky Adams-Selin,
Ted Mansell, Greg Thompson, Raquel Lorente, Pedro Jimenez, Jiachun Yang, Yu Gu,
Mei Xu, Tim Glotfelty, Kiran Alapaty, Josh Laughner, Brian Reen, Milan Curcic,
Negin Sobhani, Davide Del Vento, Samuel Elliot, Patricia Balle, Pete Johnsen,
Laura Fowler, Robert Gilliam, Katie Lundquist, William Gustafson, Jim Bresch,
Kevin Manning, Mark Seefeldt, Jose Renteria, Wei Yu, Saulo Freitas, John Cazes,
Balwinder Singh, Megan Bela, Chun Zhao, D. Lowe, K. Wang, P. Tuccella, Branko Kosovic,
S. McKeen, R. McVay, Mary Barth, P. Saide, M. Hirtl, Y. Zhang, G. Pfister, Y-H Ryu,
David Avisar, Hongli Wang, Yu-Shin Kim, Ki-Hong Min, Yuanbing Wang, Xiaowen Tang,
Thomas Schwitalla, Yuanbing Wang, Jeffrey Willison, Chun Yang, Heimo Truhetz,
Nils Gustafsson, Feng Gao, National Water team, NCEP HWRF team, Fujitsu Japan and Taiwan

Assets 2
You can’t perform that action at this time.