About the Tool

This tool is designed as the first step in calculating growth & yield curves for input to CBM-CFS3 (Carbon Budget Model of the Canadian Forest Sector version 3). It will output an initial approximate biomass and a DAT file for input into TIPSY modelling software.

The Team

This tool was put together by Research Assistants/GIS Developers Suzanne Ector and Justin Robinson beginning in August 2011. Minor updates were completed in April 2012.


Here at the SGRC we use a number of dedicated and virtual machine based servers. This tool relies on our development web server, running Apache with Python (WSGI), and our secondary GIS server, running ArcGIS for Server and IIS.


This tool was built using ESRI’s ArcGIS for Server, Python, and the ArcGIS JavaScript API.

ArcGIS for Server

All of the data used for this tool resides within an ArcSDE implementation and is served up by ArcGIS for Server on one of our Virtual Machines. We chose ArcGIS server for this purpose as it’s already used heavily by the SGRC in other projects and both of us are familiar with it’s operation.


Both the upload process and the geoprocessing tools are written in Python. Custom geoprocessing tools for ArcGIS were authored using python, our familiarity with this language also prompted us to write the upload and unpack script in Python as well.

The upload script takes care of getting the file from the client as well as unzipping it to an internally accessible network location for processing by the ArcGIS Server.

Geoprocessing on the server is relatively simple; a feature class of VRI is clipped by the uploaded shape, this clipped feature is then converted to a CSV (Comma Separated Value) file using a built-in ArcGIS tool, then the CSV Python package is used to reformat the output into a compatible file format for the targeted tool (in this case TIPSY). This geoprocessing tool also takes care of computing the VRI Biomass by adding the required fields together from the VRI Data. This tool then returns a shape & biomass for display as well as the required datafile for the next step initiated by the user.

ArcGIS JavaScript API

The ArcGIS JavaScript API powers the small map display to show users where their area of interest is located. As well, allows us to kick off the geoprocessing task on the ArcGIS Server.

The Output

This tool provides two outputs usable by the end user:
1. The Biomass calculated from the area of interest and VRI Data on our server. This Biomass is not 100% accurate as this field is populated by remotely sensed data and generalised calculations, however is a fair generalisation showing a strong correlation between calculated values and ground truthed results. See this report for more information.
2. A DAT file for use as an import table into the Ministry of Forests, Lands and Natural Resource Operations’ TIPSY program. This DAT file is a comma separated value (CSV) table containing the required inputs for TIPSY. However, there are some issues with this which is discussed below.


We chose to target the TIPSY program with our output as at the time it seemed the most viable solution for generating Growth & Yield curves from a hypothetical plot to be examined in CBM-CFS3. TIPSY allows for modelling of growth and yield curves for managed stands, our primary focus.

VRI Biomass is outputted to provide a quick preview of Biomass to the end user before the CBM-CFS3 calculations.

Known Limitations

We chose TIPSY as our target for output file format. This lead to a few problems that were initially unforeseen. These tools are not designed for the input we are providing, many growth and yield tools expect only the data that is usable by them—encountering errors when an unexpected value is encountered. TIPSY does not have growth and yield curves for many non-merchantable species. However, VRI contains information on species that are non-merchantable and as a result TIPSY is unable to run on stands containing these species (either leading or not) and fails calculating a growth & yield curve for the entire stand (or in our case, VRI polygon). In our study area used for testing our tool we ran into this problem multiple times, primarily with the lack of a Black Cottonwood (AC) growth curve. This cannot be solved by our current implementation and will either need to be resolved by excluding AC from the output DAT file, convincing the Ministry of Forests, Lands and Natural Resource Operations to include non-merchantable growth curves in TIPSY, targeting another growth & yield tool or calculating growth and yield ourselves.

The Future

There are many paths this tool could take going forward. Initially we were planning on producing output that could be directly used in CBM-CFS3, this was determined to be a rather complex problem and our scope was adjusted. This goal is still under consideration for our next iteration.

A solution to some of the problems we faced with the current implementation would be calculating growth and yield with our tool and outputting a file compatible with CBM-CFS3 directly. However, this may require a fair amount of work as collecting and implementing growth & yield curve tables will be time consuming. Another option is to target different growth and yield modelling software; other options include VDYP and PrognosisBC. However, neither of these options have been fully investigated at this time.