Personal tools
You are here: Home Project Info LANDIS-II Iteration 6

Iteration 6

This iteration will focus on completing the core modules from the previous iteration (Species and text input utilities) and constructing the Age-Only Succession extension.

  • Phase: Construction
  • Dates: January 3 - January 19, 2005

Tasks to be Completed

+ Core Modules

  • Finish the documentation of the interface for the Species module, and then write its code.
  • Finish the code for the supporting utility modules that read input values from text files.
  • Continue working w/Barry on integrating GeoSpatial Data Abstraction Library (GDAL) into L-II to implement the Raster I/O module.

+ Extension Components

  • Finish the design of the Age-only Succession component, and then write its code.
  • Continue working on the design of the output extensions (Barry DeZonia).

+ Documentation

  • Add extensive commenting to the wind module.

Assessment

+ Summary

In summary, we are rapidly approaching our first internal beta-release with this iteration. The only modules in the core framework left to be done are ecoregions, raster I/O, and logging; also some fine-tuning of existing code is required.

+ Hits and Misses

Hit The Species module is >95% completed, including over three dozen tests. Only minor changes to the columns are required (add a couple new ones and remove an obsolete one).

Hit The code for the supporting utility modules that read input values from text files is completed. Includes extensive test code (over 200 tests).

Hit/Miss The integration of GDAL into L-II is still not complete because of difficulties bridging the GDAL C++ core and C#. Barry has almost all of GDAL available from C#; only 4 or 5 functions remain to be bridged. However, these functions require the passing of data structures between the managed-memory environment of C#/NET framework and the unmanaged memory paradigm of C++. Barry and Jimm are still learning to master the details needed to implement this type of function calls across the managed/unmanaged boundary.

Barry estimates that he can quickly implement a library in 1-2 weeks that will read and write 8-bit and 16-bit ERDAS GIS files. So, for expediency, the GDAL integration has been postponed. Because the raster module's interface hides the implementation details from the rest of the Landis-II core framework and the extensions, the GDAL implementation can be completed at a later date, and then added to the framework without modifying any core modules or extensions.

Hit/Miss Age-only succession was partially completed because Jimm wasn't certain which functionality belonged in this extension versus in the core framework. We had a design meeting during his visit to Madision, and resolved the issues: the cohort interfaces will move into the core, while reproduction will be implemented in the succession extensions.

Miss No comments were added to the Wind module because its code first needs to be updated to comply with the recent changes to the interfaces of the core modules.

Miss The design of output modules was not advanced because of the issues with GDAL as well as some priority system-administrative tasks that require Barry's time. Because Barry's schedule is full with system-administration, the custom raster library and IAN, the output modules have been reassigned to Jimm.

+ Lessons Learned.

  • Again, we are working on the cutting edge and the GDAL effort spilled some blood, so to speak. However, this work is not a wasted effort because we're building Landis-II with well-defined interfaces among its components. This approach allows us to set aside the GDAL work while we focus on getting the first beta running. Then we can complete the GDAL work and integrate it smoothly later on.
Document Actions