ANN: GrowthMaps.jl

Announcing GrowthMaps.jl

A simple package for doing spatial ecology/ecophysiology in julia. I’ve developed it at cesar, (who btw are looking to employ another julia modeller!), based on the work of my coworker James Maino.

GrowthMaps.jl calculates raster time-series of organism or population growth rates based on climatic drivers and stressors like temperature, humidity and soil moisture. The outputs can be used in Dispersal.jl, which hopefully I’ll release soon as well.

GrowthMaps.jl can run over multiple/arbitrary sources of data organized as a GeoSeries from GeoData.jl. If you have a GPU, models will run on it if you pass the keyword argument arraytype=CuArray to mapgrowth, or whatever GPU array type you need. Using a GPU GrowthMaps.jl can process many models simultaneously (for sensitivity analysis etc) with very little overhead. It can run over hundreds of GB of spatial data pretty much as fast as your hard drive can load it, which is managed lazily by GeoData.jl.

But GrowthMaps.jl is a very small package! Only a few hundred significant lines of code. For people building similar tools that use spatial data its a good example of how to leverage GeoData.jl to abstract data sources, and to lazily move the data from disk to CPU or GPU as you need it.

There are extensive examples,and a notebook to work through.

GrowthMaps also comes with some nice auto-generated interfaces for fitting models manually, response curves and maps are updated in real time with model parameters:

13 Likes

Looks awesome :).