Example PIN File Definition

The following example is a simple Range Indicator Chart Report definition in a PIN file that creates the above chart based on the sample dataset.

      * Range Indicator Chart Report
String[] cls = new String[] {"Conif", "Decid"};
String[] columns = new String[] {"feature.Yield.managed.Conif", "feature.Yield.managed.Decid"};

double[][][][] rangeData = new double[2][2][][];
rangeData[0][0] = new double[][] {{0,200}, {6000000,6000000}};
rangeData[0][1] = new double[][] {{0,200}, {14000000,14000000}};
rangeData[1][0] = new double[][] {{0,200}, {300000,300000}};
rangeData[1][1] = new double[][] {{0,200}, {700000,700000}};

reportWriter.addReport(new RangeIndicatorChartReport("range",
                       "Growing stock range",
                       "Species type",
                       "Simulation range",

In this particular example, minimum and maximum benchmark values are passed to the constructor via rangeData. Mimimum and maximum values are denoted by a "0" or "1" in the first two brackets. The ranges are static across the planning horizon (0 - 200 years). The Range Indicator Chart report was added to the main report folder with the filename "range". NO file extension was specified here as the Report Writer will automatically create two separate files: ".html", and ".png". The title of the report, "Growing stock range" will appear at the top of the HTML and PNG sub-reports, as well as in the Index Report, and the directory tree. The units "m3" will appear on the Y-axis of the PNG bar chart. The x-axis will be labeled with "Species Type" and the actual value achieved in the this scenario, which is illustrated by the line on the graph, will be labeled with "Simulation range".

As the last line was labeled as "false", the x-axis is represented by periods, not years.All planning periods were represented in this report, along with the initial conditions.