1. How do I install WindNinja?
Linux: Follow the instructions on building from source.
2. Where can documentation about running WindNinja be found?
Tutorials can be found online here.
Much of the available documentation is included in the WindNinja installation. To find this, first install WindNinja. Next, go to Start->Programs->WindNinja-x.x.x. Here you will find links to the included documentation, which includes tutorials, elevation file download instructions, wind vector viewing instructions, and example elevation files.
3. What is the difference between WindNinja and WindWizard?
WindWizard is no longer available.
There is now a conservation of mass and momentum solver in
WindNinja which replaces the functionality of WindWizard.
The physics in the WindWizard solver were based on proprietary software that required users to purchase a license. Because this severely hampered usability, WindWizard is no longer available. Instead, WindNinja has been upgraded to include the advanced physics previously included in WindWizard, but without the licensing fees. As of version 3.0, WindNinja includes an optional momentum solver that replaces the functionality of WindWizard. There are now two options for the solver (the number-crunching part of WindNinja): 1) conservation of mass and 2) conservation of mass and momentum. The conservation of mass option is the native, fast-running solver used in the early versions of WindNinja. The conservation of mass and momentum option is a second solver based on the OpenFOAM toolkit. OpenFOAM is free, open-source software for computational fluid dynamics (CFD) from the OpenFOAM Foundation.
The major differences, from a user’s perspective, between the two solvers are:
    1) The conservation of mass solver runs much faster than the conservation of mass and momentum solver (less than a minute for conservation of mass compared to 10s of minutes (depending on simulation specifics) for conservation of mass and momentum).
    2) The conservation of mass solver's approximation of the momentum equation is simpler and, at times, less accurate than that of the conservation of mass and momentum solver. This is the main reason the conservation of mass solver runs so much faster than the conservation of mass and momentum.
    3) The conservation of mass simulations are normally less accurate during stronger winds on the lee sides of ridges and mountains where re-circulation eddies can occur.
    4) WindNinja has a feature that allows users to enter measured wind information at several locations to drive the flow. WindNinja will produce a wind field that matches the winds as these locations. This feature is not currently available for the conservation of mass and momentum solver.
4. Is WindNinja faster than WindWizard? How much?
5. How do I view WindNinja outputs?
There are several ways to view WindNinja outputs. Probably the most convenient way is to use Google Earth and WindNinja's KMZ output file (.kmz). As of version 3.0, WindNinja can generate a GeoPDF output file (.pdf). GeoPDFs can be viewed in any PDF reader, but can also be viewed in GIS programs including the Avenza PDF Maps mobile application. Another way, if you have a FARSITE landscape file (.lcp), is to use FlamMap with WindNinja's fire behavior output files (.asc). Last, you could use a GIS such as ArcView or ArcMap with WindNinja's shape file output files (.shp, .shx, .dbf). Instructions for plotting wind vectors using ArcView and ArcMap can be found within the help menu of WindNinja.
6. What elevation file formats does WindNinja accept?
Starting with WindNinja 2.0.0, several common file formats can be used. They are:
• Arc/Info ASCII Raster (*.asc)
• FARSITE landscape file (*.lcp)
• GeoTiff (*.tif)
• ERDAS IMAGINE (*.img)
As of version 2.3.x, WindNinja can download DEM files for you in the proper spatial projection.
7. How do I obtain an elevation file?
There are many different ways to obtain elevation files for WindNinja. WindNinja can now download a file for you with the best-fit UTM projection.
If you already have an elevation file, it can be used in WindNinja so long as it meets WindNinja's requirements. See the FAQ question about elevation file requirements.
8. What happens if I don't have GIS projection information with my elevation file?
Pre-2.3.0:
Without projection information, you can still use WindNinja but some options will not be available. Specifically, you won't be able to make Google Earth output files (.kmz). Also, if you want to do a diurnal simulation, you will have to manually enter a latitude and longitude for your area (with projection information WindNinja can automatically find the latitude and longitude for you).
2.3.0 and after:
WindNinja requires projection information with your DEM.9. What are the requirements for elevation files?
First, the elevation file must be one of the allowable file formats (Arc/Info ASCII Raster (.asc), FARSITE landscape file (.tif/.lcp), GeoTiff (.tif), ERDAS IMAGINE (.img)). Second, the elevation file must not have any areas without data (NO_DATA values). See WindNinja Tutorial 1 in the help menu for more information about common reasons for having NO_DATA values and ways to fix these problems. Third, elevation files must not be too large in extent. We generally recommend that elevation files should be less than 50x50 km (about 30x30 miles). Fourth, elevation files must be in units of meters. This means both the horizontal and vertical units. Last, if WindNinja 2.3.0 or newer is used, it must be georeferenced in a "north up" projected coordinate system. We recommend using the best-fit UTM projection. A "north up" projection is required because we use the standard meteorological convention for wind direction where a north wind is a wind from 0 degrees (e.g., north is "up").
10. If I use a coarse DEM can I simulate a larger area?
The DEM resolution is really not so much the issue; the issue is the computational resolution of the wind simulation. WindNinja resamples the DEM to build the internal computational resolution, which is the resolution of the actual wind simulation. This computational resolution is the limiting factor in simulations when it comes to computational time and computational memory (running out of computer RAM). The choice of computational resolution should be such that the terrain is adequately resolved for the wind simulation, meaning that the scale of terrain that you want to resolve is resolved. For example, if you want to resolve all terrain features of a certain size, say hills of horizontal size of around 100 meters, then the computational resolution should probably be at least 10 to 30 meters so that there are several cells on the 100 meter hills. And so the computational resolution choice is probably really a function of the terrain. "Smoother" terrains with large average distances between hills/ridges could use larger cell sizes than "rougher" terrain.
Through experience, we've found that 100 to 300 meter computational (mesh) resolutions are usually adequate for most terrains. This can be obtained by choosing "fine" for mesh resolution and keeping the DEM extent to less than 40-50 km on a side. The user can choose "custom" for resolution and manually enter a computational cell size in meters. You could play around with a larger DEM (say 100 km by 100 km) and manually set the computational (mesh) resolution. The limiting factor will be computer RAM, at some point you'll run out.
11. Have you compared results with different grid resolutions to know if it markedly changes wind behavior?
Indeed we have. For an example and discussion, you could look at the images on pages 30-31 of Jason Forthofer's master's thesis. Note that this terrain is fairly gentle though. The appropriate grid resolution is dependent on the specific terrain and what winds you want to resolve. Probably one of the best things to do is to experiment with different computational (mesh) resolutions for your terrain to see how much difference there is (sensitivity).
12. Is WindNinja accurate along the borders of the modeling domain?
As with most numerical models of this type, winds along the border of the modeling domain may have some error. This is because, in reality, terrain features outside the modeling domain may affect the wind flow inside the domain. But since these terrain features are not modeled, the simulation results do not reflect them. There is a simple solution to deal with this problem. Use an elevation file that is slightly larger than the area you want to model so there is a buffer around your desired area. We recommend a 10-20% buffer size.
13. Are there any issues with using the model at fine scales?
Say I'd like to use it to model the wind over an area of about 100 hectares which has a fairly complex topography - is WindNinja ok to use with (say) 10 m grid DEMs?
There shouldn't be any issues, although WindNinja hasn't been tested much at this scale.
14. Any insights on how well WindNinja captures eddies in the flow?
Because of how the conservation of mass solver simulates momentum, it cannot capture eddies (reversed flow) at all. Instead you will just see very low wind speeds in these areas, but not reversed direction. The conservation of mass and momentum solver (available since version 3.0) is able to simulate eddies, however. See Development and Evaluation of a Reynolds-Averaged Navier-Stokes Solver in WindNinja for Operational Wildland Fire Applications and Predicting Terrain-Induced Wind Turbulence for Smokejumper Parachute Operations for comparisons of this solver against observations in complex terrain.
15. How should I cite the model in a publication?
The best peer-reviewed reference is:
Forthofer, J.M., Butler, B.W., Wagenbrenner, N.S., 2014. A comparison of three approaches for simulating fine-scale surface winds in support of wildland fire management. Part I. Model formulation and comparison against measurements. Int. J. Wildland Fire. 23:969-981.
Note: In this publication WindNinja is referred to as the "mass-conserving" model.
16. Can I use other weather model output to initialize WindNinja?
WindNinja has built-in support for a number of weather models provided by NCEP, but what if I have output from a different weather model or archived model output from one of the NCEP models?
In addition to the NCEP models that WindNinja can download for you, WindNinja can also handle output from the WRF-ARW model in NetCDF format (these files are often referred to as "wrfout" files). See Tutorial 4 for instructions on how to use wrfout files for initialization. Right now the NCEP model output we download from NOMADS and UCAR and WRF-ARW NetCDF output are the only model output formats that can be used to initialize WindNinja. We'd like to support additional models, but unfortunately, there are many formats that the weather model output is stored in. These formats differ not just in the file format (e.g., NetCDF, GRIB, etc.), but also in they way the time, geographic projection information, and output variables are stored and hanlded. This makes it very difficult to support all possible models, although we do hope to someday implement a method to allow initialization with arbitrary weather model formats.
For now, if you want to use an unsupported weather model format for initialization, you could consider converting your model output to the WRF-ARW NetCDF format. Other users have done this successfully. You can see an example converter script here (provided by Chris Marsh) and an example wrfout file here. To mimic a WRF-ARW NetCDF output file, you'll need the following:
- There needs to be a global attribute "TITLE" that has "WRF" in it. For example, TITLE = " OUTPUT FROM WRF V3.2 MODEL" is what is in the example wrfout file. WindNinja only searches for the text "WRF" in the TITLE attribute though.
- There needs to be a time variable. In the example wrfout file it is the first variable defined as: char Times(Time, DateStrLen). There also needs to be a dimension "Time" and "DateStrLen". In the example wrfout file, it looks like this:
- dimensions:
- Time = UNLIMITED ; // (24 currently)
- DateStrLen = 19 ;
- There needs to be a global attribute "MAP_PROJ" which defines the projection used for the WRF simulation. In the example wrfout file MAP_PROJ = 1 (which corresponds to LCC; 2 is Polar Stereographic, and 3 is Mercator). It's critical that you know what projection your simulation is in, otherwise the WindNinja initialization will not be correct (the predicted winds will not be located correctly in space).
- The required variable names are U10 (u-component of the wind at 10 m), V10 (v-component of the wind at 10 m), T2 (temperature at 2 m), and QCLOUD (cloud water mixing ratio).
Alternatively, you could use the gridded initialization option. Although this option is not included in our official documentation (this functionality was added for internal use), we do have some instructions on how to set these kinds of runs up and users have successfully used this option. See GitHub Issue #510 for details.
17. Can I initialize WindNinja with a historical forecast?
WindNinja has built-in support for downloading current forecasts, but what if I want to initialize with a forecast from the past (i.e., a pastcast)?
WindNinja supports two formats for pastcasts: 1. WRF-ARW NetCDF files and 2. archived HRRR. See FAQ 17 for instructions on initializing WindNinja with WRF-ARW NetCDF output. As of version 3.12.0, WindNinja allows you to download archived HRRR files for a weather model initialization just like you download forecast files. See the pastcast section in the drop-down menu of the weather model initialization tab of the GUI or use the model name PASTCAST-GCP-HRRR-CONUS-3-KM in the command line interfact (CLI). You can find instructions for the CLI here. You can also obtain HRRR pastcast files manually from Google Cloud Platform. There are a few different file formats on this server. You'll want to download the files that have "wrfprs" in the name.
18. Are there differences in how a weather model initialization is handled between the two solvers?
Yes, due to differences in how the two solvers work, there are differences in how a weather model initialization is performed. The mass solver is driven by both boundary and initial conditions. The solver works to minimize the change in in the initial wind field while enforcing conservation of mass. For the mass solver, every weather model point influences the WindNinja cells around it. The conservation of mass and momentum solver (also referred to as the CFD solver) is driven by boundary conditions. The boundary conditions at the inlet(s) drive the flow in the CFD solver. For this solver, we use the average of the weather model grid that overlaps the WindNinja grid and apply that average value at the inlet boundary. You can find additional details here.
Still have questions?
Let us know! Send an email to the WindNinja support team.