CAM-Embedded HAILCAST
Download:
This code is designed for HAILCAST to be embedded in the Weather Research and Forecasting model, version 3.6 or later (WRF).
Instructions for using HAILCAST in WRF (v4.0):
The most updated HAILCAST is already available within WRF v4.0, available here.
- Set hailcast_opt=1 in the &phys namelist for the domain over which you want to run HAILCAST. HAILCAST can only be run in domains with the cumulus parameterization turned off.
- Set haildt to how frequently you want HAILCAST called, in seconds. If set to 0, it runs every WRF timestep. We recommend setting it no higher than 60 seconds.
- Output will consist of a HAILCAST_DIAM_MAX variable containing the maximum hail size (mm) predicted since the last history output file.
Instructions for using HAILCAST in WRF (v3.9):
- Download the code here.
- The files in the tarball are designed to modify the following files in WRFv3.9 or later:
- REPLACE phys/module_diag_hailcast.F
- Follow the instructions to MODIFY phys/module_diagnostics_driver.F.
- ADD TO Registry/Registry.EM_COMMON
After modifying those files, clean and recompile the WRF code.
- Follow steps outlined for WRF v4.0 above.
Use of HAILCAST in earlier versions of WRF should follow a similar process. Slight changes in the code might be necessary to ensure compatibility with earlier WRF versions.
Instructions for embedding HAILCAST in any CAM:
HAILCAST can be run inside of any convection-allowing model. In this tarball, module_diag_hailcast.F code is the file needed. The subroutine that contains the bulk of the hail model is called hailstone_driver. This subroutine requires as input the following fields:
- vertical column of temperature (K), height above sea level (m), total pressure (Pa), density (kg/m3), and updraft speed (m/s)
- vertical column of water vapor, cloud ice, cloud water, and snow mixing ratio (kg/kg)
- surface elevation (m)
- time (s) updraft has spent at intensity >10 m/s
For a discussion of the updraft duration, refer to Section 3a of Adams-Selin and Ziegler (2016). The code in the main subroutine, before the call to hailstone_driver, can show you how we handled determining updraft duration within WRF.
The hailstone_driver subroutine outputs 5 different hail sizes (mm), corresponding to the hail size produced by 5 different initial embryos. We recommend retaining the maximum of these 5 sizes. We also recommend retaining and outputting the maximum hail size at any grid point since the last output file.