Easy-WRF-Trck is a super lightweight Lagrangian model for calculating thousands (even millions) of WRF trajectories simultaneously and efficiently. It implements super simplified equations of 3-D motion to accelerate integration, and python multiprocessing to parallelize the integration tasks. Due to its simplification and parallelization, Easy-WRF-Trck performs great speed in tracing massive air parcels, which makes areawide tracing possible.
Another version using ERA5 Reanalysis to drive the model can be found here.
Caution: Trajectory calculation is based on the nearest-neighbor interpolation and first-guess velocity for super efficiency. Accurate calculation algorithm can be found on http://journals.ametsoc.org/doi/abs/10.1175/BAMS-D-14-00110.1, or use a professional and complicated model e.g. NOAA HYSPLIT instead.
Any question, please contact Zhenning LI
./input/input.csv
: This file prescribe the mass points for trajectory calculations. The style of this file:
mass_id, init_lat, init_lon, init_h0 (m)
./conf/config.ini
: Configure file for the model. You may set WRF input file, input frequency, integration time steps, and other settings in this file.
./run.py
: Main script to run the Easy-WRF-Trck.
./core/lagrange.py
: Core module for calculating the mass points Lagrangian trajectories.
./lib/air_parcel.py
: Module file containing definition of air parcel class and related group functions.
./lib/cfgparser.py
: Module file containing read/write method of the config.ini
./lib/preprocess_wrfinp.py
: Module file that defines the field_hdl class, which contains useful fields data (U, V, W...) and related method, including wrfout IO operations.