FastFuels-Python
Python client library for the FastFuels API
Install
You can install FastFuels through the Python Package Index.
pip install fastfuels
Quickstart
.fio
resource
Connecting to a A .fio
resource is a directory-in-file object where important metadata and fuel arrays are stored. Start by importing the FastFuels module and open a .fio
resource. If you have one locally, specify the path and file name.
>>> import fastfuels
>>> fio = fastfuels.open('./demo.fio', ftype='local')
If you have the appropriate credentials, you can connect to the remote resource stored in AWS S3.
>>> fio = fastfuels.open('./ca.fio', ftype='s3', username='username', password='password')
Explore the metadata
Let's take a look at some metadata. You can get the extent of the data in geographic coordinates (longitude and latitude) or in projected coordinates by changing the mode
argument.
>>> print(fio.get_extent(mode='geographic'))
(-120.73665218037868, 38.93933418427242, -120.6511979123941, 38.90135366961076)
>>> print(fio.get_extent(mode='projected'))
(-2100315.0, 2043015.0, -2094315.0, 2037015.0)
And the projection system is stored in the proj
attribute.
>>> print(fio.proj)
You can also view metadata for resolution and units
>>> print(fio.res)
(1,1,1)
>>> print(fio.units)
'meters'
Spatial queries
You can perform spatial queries by specifying geographic coordinates in decimal degrees and a radius in meters. The radius parameter defines the size of the bounding square in which fuels are queried.
# this command will return a square kilometer of fuels (radius=500 meters)
roi = fio.query(-122.191, 41.208, 500)
Viewing fuels in 3D
Fuel parameter arrays can be viewed interactively in 3D. To see the available parameters run
print(roi.get_properties())
Then specify one of the properties in the view()
method on the roi
object.
roi.view('sav')
Writing fire model input files
With the roi
object, you can write input files for various fire models. Here,
you may also decrease the resolution to save computation.
roi.write('./outputs', model='quicfire', res_xyz=[2,2,1])