iLand Tech blog

iLand 0.69 - the new kid on the block

Thursday 27 of September, 2012

After the going online of the new iLand paper in Ecosystems, we proudly present a new release  of the iLand model that was described and used in the aforementioned study. The download package contains the iLand software (compiled for Windows) and an extensive, fully functional example (a part of the HJ Andrews forest, see the screenshot).


iLand 0.69 running with example

Although relatively few time has passed since the last release (version 0.3, March 2012), a relatively large amount of additions and modifications are included in the new version: the records show approximately 250 commits in the subversion repository from roughly April 2010 up to May 2011. The number of lines in the C++ source code (without comments and empty lines, counted by cloc)  increased from a not-too-shabby 12732 to an awsome 16841. If you want to check the numbers for yourself, have a look at our new public SVN repository, which contains the full source code of iLand (which, by the way, is released under the GPL open source licence).

In case you worry, that iLand development stopped a year ago, rest assured that development continues (see e.g. posts on ongoing activities for modeling  fire or wind), and that the software and code are released after the respective scientific publications.

Now lets turn to some of the new ingredients of the new release:

Seed Dispersal / Establishment / Regeneration

This is the first real landscape process covered by iLand: seed dispersal is modeled on a 20x20m grid (some early results were presented in the blog more than two years ago). Also included are an establishment module, sporting an phenology based mechanistic approach (TACA), and  the growth of sapling (trees below a height of 4m in iLand), both happening on a 2x2 m grid. 

Soil, Carbon and Nitrogen cylce

The second big topic was closing the carbon and nitrogen cycle and adding a soil module. The soil module applies the ICBM/2N approach which was selected due to its simplicity and parameter parsimony. We also added a module for handling  standing dead trees, and closed the links between soil and the living vegetation.

Landscape level simulation

Since 0.69, the "landscape" in the model acronym is well deserved: iLand is now able to initialize and simulate complex forest landscapes. To that end, we implemented features to set up the model from GIS based data and also to save some of the results as GIS readable grid files.

Management and Javascript Bindings

iLand 0.3 already contained a management module, but the module in 0.69 offers much more. You can now base management on spatial entities (read GIS polygons), or access regeneration, snags and soil pools from Javascript (in case you want to mimick disturbance events). Generally, the scripting capabilites increased in many ways: for instance APIs for controlling outputs or the "viewport" of the iLand viewer are available.

Memory and CPU Performance

The HJ Andrews simulations, with its more than 6000 ha and 500 years of simulated time, were challenging and required both fastening the debugging and performance thumbscrews. A current office PC  should suffice (but nice are 8GB RAM with a couple of cores and a 64 Bit Windows), and it is fun to see all CPU cores simmering at 100% CPU load. We were also able to reduce the run time of the HJ Andrews simulations from 5 hours to a little more than 1 hour by adding one tiny little ampersand that was initially forgotten, demonstrating the "small cause - large impact" principle (and of course it took ages to find that bottleneck).

Wiki Improvements

And, last but not least, a whole bunch of wiki pages are publicly avaiable now - happy reading!