Plotting WRF Model output with GMT (Generic Mapping Tools)
In the real-time weather forecast page for Sri Lanka, I plot WRF model output using GMT (Generic Mapping Tools) rather than standard plotters provided by the model developers. Following is the method to do it.
Dependencies
- Need the following programs installed
Download
Version 2: With a few improvements. File:WrfGMTplot.tar.gz
Usage
- Compile the FORTRAN program ./pltprogs/read_wrf_nc.f to produce the executable read_wrf_nc
- Edit the file ./pltprogs/CONSTANTS.bash to reflect the paths in your computer. (Only GMT, convert and gifs entries need changing). Further change wrfntimes to indicate how many snapshots of output from the start of the model, needs processing. This should be less or equal to total number of output snapshots. ( This is (Forecast length)/(output time step))
- Go to the directory where wrfplot.bash. Copy or link the wrf output file to this place.
- Execute the following command
./wrfplot.bash
Upon successful execution the png format images and datasets used to plot them will be available in the folder ./output.
Data in a single file
Some programs/utilities that use WRF model output (e.g. Hydrological/Hydraulic models, GIS) may need all data snapshots to be compiled in a single file. Following is a utility that can be used to convert the results of the above utility to a single snapshot. Simply unzip the program in the directory where wrfplot.bash is and run it.
- The program
- File:Wrfplot foldup.zip
- Running it
unzip wrfplot_foldup.zip chmod u+x foldup.bash ./foldup.bash
Extracting a single column of data
Use the following script
#!/bin/bash if [ $# -lt 1 ]; then echo "Usage: $0 <datafile> <column number>" echo " NOTE: column number ignoring date columns" exit 5 fi col=$(( $2 + 6 )) cat $1|awk -v col=$col '{print $1, $2, $3, $4, $5, $6, $col}' > $1.$2.txt