There are a number of tools which automate running WRF, including the WRF Portal, and the WRF EMS. However, the problem with these tools is they try to be too good. That is, they try and and take all of the work away from you, expecting you to press go and wait for results. Which is great while it works, but inevitably something goes wrong, or you need to change something. What if you need to force in your own land-use data somewhere? Suppose you need to call ungrib.exe a few times? I found myself having to rely on my own scripts, and judging by a quick scout around the internet, plenty of other people are too.
So I began (I said began, not finished!) the tidying up of my scripts, to produce some kind of framework for running WRF which (a) automates all the steps, but (b) is very easy to modify and extend.
What it does:
- Fetches boundary conditions (via the excellent gribmaster)
- Does all file renaming and linking
- Runs ungrib, geogrid, metgrid and real (including with multiple Vtables)
- Runs WRF
- Runs these either directly using mpirun, or by submission to a job queue
- Compresses output files (as long as NCO is installed with NetCDF4 support)
- Extracts time series at points and heights above ground level (using NCL)
- Produces visualisations (using NCL)
- Any amount of copying and archiving
What it does not:
- Fetch or compile WRF or any other tools NCO, NCL etc
- Buy you lunch
The best thing is, it is written in python. That’s right atmospheric scientists, python. Not perl, not tcsh, not some other language from 1967 which you found behind the sofa. Which means it is easy to read, understand, document, and maintain. It is configured via a YAML file, and/or command-line options. It can be found here: