WRF Model Update
A WRF Model bug fix (version 188.8.131.52) has been released on August 22, 2008. Version 184.108.40.206 has only a limited number of bug fixes and users only
need to get the new version if they are affected by one of more of the following:
1) Over decomposing domains
2) Grib edition 2 output
3) ndown (offline 1-way nesting) with the ifort compiler
4) 3d sea breeze case (existing sea breeze case is 2d by default)
5) Multiple time period initialization for a global domain
6) Observation nudging using either fine grids or with dynamic initialization
In order to upgrade to version 220.127.116.11, users can obtain a new copy of the code from the download pages, or download a patch.
Details regarding the fixes are listed below.
Default compiler optimizations on IBM.
Version 3.0 and 3.0.1 were released with"-O3 -qhot" as the default optimization settings. However, a number of problems
with accuracy and execution stability have been reported with the -qhot setting,
so this option has been commented out in this 18.104.22.168 update, leaving just -O3
as the default setting. The -qhot option can be reenabled by removing the '#'
comment character on the FCOPTIM line and recompiling. The option does improve
computational performance and the issues with -qhot appear to depend on WRF
configuration and xlf compiler version, but until we have a better understanding (or until the issues are resolved) use of -qhot is at the user's discretion and
Domain over decomposition.
Version 3.0.1 was released with code that detects when a WRF
domain would be decomposed by too many processors, resulting in per-task
subdomains that are too narrow in one or both horizontal dimensions. The code
either generates an error and aborts (default) or attempts to correct by
reducing the number of processors (compile time option, to enable see comment in
configure.wrf file). This new feature as released in 3.0.1 was too sensitive,
however, triggering error and aborts or processor reductions on domains that
were within safe decomposition limits. This fix corrects that problem
Missing C comment sentinel.
A missing comment character needed to be added
to the Grib edition 2 portion of the IO for the code to compile, which is an optional
portion of the WRF system to build.
SYSTEM calls identified as either subroutine or function.
The ndown program uses
non-standard SYSTEM calls to populate an array of available model output
files to process. The build mechanism now assumes that the SYSTEM call
is a function for the ifort compiler, and the SYSTEM call is a subroutine
interface for all other compilers.
Swap coupled HALO and PERIOD communication order.
For idealized cases, using
doubly period lateral boundary conditions, and with diff_opt = 1 or 2, it
was possible to get u and v differences when changing the processor count.
Initialize the inverse map factor for V in the x-direction.
When turning the
sea breeze case into a 3d domain (from the default 2d), the initialization
for one of the map factors was absent.
Remove lateral boundary processing for global domains.
When the polar flag
is set (i.e. a global domain is requested) the real program now excludes all
lateral boundary activities (allocation, computation, IO) even when more than
a single time period of data is processed.
Fix ramp-down time in dynamic initialization for observation nudging.
patch, the ending time fdob%datend (minutes after which data are assumed to have ended) is not
properly initialized, with the result that no observations are read in. Thanks to Brent Shaw for
finding and reporting this problem.
Fix check to see if observations are in domain.
Previously, the observation nudging scheme
incorrectly rejected observations that were in the fine grid domain. No impact on the
coarse grid observation nudging.
WRF model tar file has been updated to Version
3.0.1 on August 6, 2008. This is a bug-fix release.
WRF Pre-Processing System (WPS) is also updated to V3.0.1.
Also see 'Known
Problems' in this release. If you are interested in seeing
how V3 has been tested, click here.
In this release, the following bug fixes and updates are provided:
PBL, Surface layer and LSM physics:
- Tropical storm moisture flux formulation (isftcflx = 1) is updated to NCAR 2007 formulation: moisture flux is enhanced at higher wind speed.
- ACM2 PBL: minor update.
- PX LSM: stop when landuse categories are not the standard USGS 24.
- Noah LSM and MM5 surface layer option: use lowest model level pressure for saturation mixing ratio calculation instead of surface pressure.
- Noah LSM: prevent undefined flux value.
- PBL cloud tendencies corrected for 1) MYJ PBL + non-Ferrier; 2) ACM2 + Ferrier.
- 1-D ocean mixed layer: correct feedback from ocean variables.
- Morrison scheme: some defaults change. Problem with OpenMP resolved.
- Goddard scheme: OpenMP issue resolved. Minor fixes.
- WSM schemes: use cpv instead cv in latent heating term. Small effect.
- Lin scheme: correct graupel ventilation factor, an error introduced in V3, which caused over-prediction of cloud ice and graupel.
- Grell-3: index correction. Still not working with OpenMP. Fix for optional use of closures (non-default).
- GD: Fix for optional use of closures (non-default). Not yet working with OpenMP.
- CAM radiation: aerosols initialized with non-zero value; correct time-interpolation of monthly ozone data; fix accumulated radiative flux diagnostics (not turned on).
- Bug fixes for observation nudging: 1) update to use map routine provided in WRF (module_llxy.F) rather than the old llxy routine; 2) this help to correct observations projected onto the model domain when cen_lon is different from stand_lon; and 3) if surface pressure is not available in the data file, it will be estimated from SLP, so that potential temperature can be calculated. It is recommended to provide surface pressure data in the observation data file.
- Upper level damping (damp_opt = 1): cos to cos squared profile.
- LES PBL friction term (u* staggering and OpenMP issue) corrected.
- Held-Suarez global test case fixed (map projection wasn't accounted for).
- Allow separate controls for nests when adaptive time step option is used. This seems to improve success rate of running nests with this option.
- Using adaptive time step + KF + setting cudt = 0 now works.
- Allowing nest ratios greater than 1:9.
- Time series now outputs 2 m temperature and vapor mixing ratio instead of those at lowest model level. It also outputs actual latent heat flux, instead of moisture flux. Output from time series is described in run/README.tslist
namelist.input, and test cases:
- In test/em_real/ directory, namelist templates for wps, dfi, obs_fdda, grid_fdda plus other namelist options are combined into a new file called examples.namelist. One should cut and paste interested options to one's basic namelist.input file.
- Some default options have been changed (e.g. input_from_file for nest, sf_surface_physics and num_soil_layers are set for Noah LSM option, etc.)
- update to seabreeze2d_x case: input sounding change; use data from input sounding instead of hardwiring in the code. Default runtime option change. Map scale factor correction.
- OpenMP compile activated for all architectures (posted 5/23/08)
- netcdf large file support can be set prior to configure and compile as an environment variable:
setenv WRFIO_NCD_LARGE_FILE_SUPPORT 1
- netcdf and pnetcdf can now be compiled together.
- new way to run 'configure' without setting environment variables. For example, instead of using 'setenv WRF_DA_CORE 1' and './configure', now one can do './configure wrfda'. Other example is './configure arw'.
- Allow for over-decomposition in X and Y. This would allow patch sizes to be small and communication to go beyond neighboring patches.
- Issues with using older versions of IBM's XLF compiler (need to use -qsuffix=f=f90) are resolved.
- NEC SX port.
- serial+nest runtime problem fixed.
- grib 1 and 2 IO option now works with new lat-lon map projection.
- grib2 code can now be compiled on IBMs.
- gridded nudging and io_quilting can now be used together (posted 7/28/08).
- update to ESMF 3.1.0r.
- Fix the problem with long argument lists that are non-standard Fortran and causing compile failure with some old compilers.