Menu

CAT

Mathieu Fortin
Attachments
BasicGUImod.jpg (69664 bytes)
JavaIcon.jpg (1261 bytes)
MFE_WOHLFROM_21-22 (EN).pdf (2545854 bytes)
MFE_WOHLFROM_21-22.pdf (2042568 bytes)
SplashImage.jpg (50280 bytes)
TFE_Charles_Guillaume.pdf (2040205 bytes)

The Carbon Accounting Tool (CAT) 1.8.2

Documentation Index

Introduction

Welcome to the website of the Carbon Accounting Tool (CAT). CAT is a software that implements carbon accountability features for managed forests. It follows the 2006 IPCC Guidelines for National Greenhouse Gas Inventory in the LULUCF and Waste sectors.

The software has been under development since 2012. The project has been supported by the following organizations:

  • France-Forêt (INRA and CNPF) through a two-year contract on carbon accounting
  • Agence de l’environnement et de la Maîtrise de l’Énergie (ADEME) through the REACTIFF I-GESFOR project (Grant 1260C0055)
  • Agence nationale de la recherche (ANR) through the FORWIND project (Grant 12-AGRO-0007)
  • Office National des Forêts (ONF) through the ModelFor2 convention.

The FCBA has also contributed by designing some flux configurations and providing advice regarding the environment of CAT.

Running CAT

There exist three ways of running CAT:

  1. as a standalone application
  2. from a Java application
  3. from a non-Java application

As a standalone application

CAT is available in a runnable .jar file in the Files tab. It runs on Java 8. Once the file has been downloaded, its icon should look like this:

If you do not see this icon, it is possible that your system does not recognize .jar files as Java files. In this case, we recommend that you install Java 8 and check your configuration to make sure that .jar files are open as Java runnable files.

Double-clicking on the file icon will display CAT's splashwindow followed by the user interface:

More information about the user interface is available on the CAT - User interface page.

The application can also be run from a command line:

$ java -jar CAT.jar

With versions 1.2 and later, the user interface of CAT can be displayed in French or English. This can be set using the option "-l fr" (for French) as in;

$ java -jar CAT-1.2.jar -l fr

or -l en (for English). By default, the interface uses the English language.

From a Java application

It is possible to use CAT from a Java application if the jar file (e.g. CAT-1.2.jar) and its dependencies are included in the classpath of the application. CAT depends on the repicea suite of libraries (repicea, repicea-mathstats, and repicea-simulation) and the jfreechart library.

CAT assumes that a particular growth simulation can be described through two classes of objects: a STAND class and a TREE class. To become compatible with CAT, the STAND and TREE classes must implement the CATCompatibleStand and CATCompatibleTree interfaces respectively.

The user interface can be displayed as follows:

CarbonAccountingTool cat = new CarbonAccountingTool();
cat.initialize(true, myMainWindow);
cat.setStandList(myStandList);

where myMainWindow is the GUI of the Java application from which CAT is called.

CAT can also be run in script mode. The main class is CarbonAccountingTool and it can be instantiated as follows:

CarbonAccountingTool cat = new CarbonAccountingTool();
cat.initialize(false, null); 
cat.setStandList(myStandList);
cat.setBiomassParameters(myBiomassParametersFilename);  // to use customized biomass parameters
cat.setProductionManager(myFluxConfigurationFilename);  // to use a customized flux configuration
cat.calculateCarbon();  
CATSingleSimulationResult myResult = cat.retrieveSimulationSummary();

where myStandList is a List of CATCompatibleStand instances and myResult contains a summary of the simulation.

The calls to the methods setBiomassParameters() and setProductionManager() are optional. If these methods are not called, then the default biomass parameters are those suggested by the IPCC for oak, beech, spruce and fir and the default flux configuration is a simple hardwood setup with no recycling. Customized biomass parameters and flux configurations can be designed and saved through the user interface.

CAT is currently implemented in the CAPSIS platform which hosts growth models. The main class has been extended to include some additional features to provide a better environment. The CATCompatibleStand and CATCompatibleTree interfaces have been extended to CATStandConnector and CATTreeConnector in the CAPSIS repository. These two extended interfaces provide default methods adapted to CAPSIS.

From R (beta version) - (Will be updated to CAT version 1.2 soon)

The FFT package for R implements functions that make it possible to use CAT from an R environment. More information is available on the FFT webpage.

From a non-Java application

Using CAT from a non-Java application requires a programming effort depending on the language of the non-Java application. So far, the flux manager in CAT has been used with a growth model called GO+ (Lousteau et al. 2012), which is partly programmed in Python. To get access to CAT features from Python, we used the py4j library.

The main class CarbonAccountingTool was extended through the PythonAccessPoint class in the package lerfob.carbonbalancetool.pythonaccess. The CAT application starts when the main method of the PythonAccessPoint class is called:

    public static void main(String[] args) {
        PythonAccessPoint pap = new PythonAccessPoint();
        GatewayServer gatewayServer = new GatewayServer(pap);
        gatewayServer.start();
        System.out.println("Gateway Server Started");
    }

The python implementation needs to connect to the local Gateway server as follows:

gateway = JavaGateway(auto_convert=True)
cat = gateway.entry_point

standStates = myDictionary
lerfobCat.setSpecies("douglas")
lerfobCat.setAreaHA(0.1)
mySummary = lerfobCat.processStandList("example", standStates)
lerfobCat.requestShutdown()

where the methods setSpecies(), setAreaHA(), processStandList() are available in the extended class PythonAccessPoint and mySummary contains a summary of the simulation.

Unless the method requestShutdown() is called, CAT can process stand lists and return their carbon balance. Further details on this implementation can be found in the PythonAccessPoint class in the repository.

References

The main reference for CAT was published in Environmental Modelling & Software. If you want to cite CAT, please use this reference:

Pichancourt, J.-B., Manso, R., Ningre, F., Fortin, M. 2018. A carbon accounting tool for complex and uncertain greenhouse gas emission life cycles. Environmental Modelling & Software 107: 158-174. DOI: 10.1016/j.envsoft.2018.06.005.

CAT has been used in the following studies:

  • Charles, G. 2023. Evaluation de l'influence de la sylviculture sur le bilan carbone de la filière forêt-bois Wallonne. Master's thesis. Université de Liège. Gembloux Agro-Bio Tech. (In French)
  • Brèteau-Amores, S., Yousefpour, R., Hanewinkel, M., Fortin, M. 2023. Forest adaptation strategies to reconcile timber production and carbon sequestration objectives under multiple risks of extreme drought and windstorm events. Ecological Economics 212: 107903. DOI: 10.1016/j.ecolecon.2023.107903.
  • Fournier, S. and coll. 2023. Développement de schémas de filières génériques pour calculer la contribution du secteur forestier à l'atténuation : présentation du projet BACCFIRE et de ses liens avec la plateforme Capsis. Presentation at the annual FOREM meeting 9-11 April 2023 in Grenoble, France. (In French)
  • Courbaud, B. and coll. 2023. Marteloscope et simulation de la dynamique des services écosystémiques. Presentation at the annual FOREM meeting 9-11 April 2023 in Grenoble, France. (In French)
  • Wohlfrom, P. 2022. Harvested wood products and their carbon storage potential: a solution for climate change mitigation? Study of softwoods from the Walloon wood sector. Master's thesis. Université Libre de Bruxelles. (In French) (In English)
  • Brèteau-Amores, S., Fortin, M., Andrés-Domenech, P., Bréda, N. 2022. Is diversification a suitable option to reduce drought-induced risk of forest dieback? An economic approach focused on carbon accounting. Environmental Modeling & Assessment 27: 295-309. DOI: 10.1007/s10666-022-09821-w
  • Pichancourt, J.-B. and coll. 2021. A generic information framework for decision-making in a forest-based bio-economy. Annals of Forest Science 78: 97. DOI: 10.1007/s13595-021-01110-y.

Version history

Date Version released Features and bugs fixed Comments
2025-10-21 1.8.2 PR #90 Improving performance for large simulations.
2025-09-24 1.8.1 PR #85, #86 Fixing lifetime sensitivity bug and changing Industrial loss label in flux configuration.
2025-09-11 1.8.0 PR #80, #82, #84 New interface to provide commercial biomass. Status collections are now handled internally. Stand level and regular management are now allowed in imported growth simulations.
2025-08-21 1.7.0 PR #69, #70, #71, #73, #76, #79 Dead organic matter can be imputed through an interface. Saplings can also be considered through an interface. New import format for NFI data.
2025-03-09 1.4.3 PR #62 Flux configuration from AFFiliere can now be partially imported.
2024-04-12 1.2.20 PR #35 A table view is now available for flux configurations.
2024-01-29 1.2.17 Features #10, #14, and #21 and Bugs #16, #17, #20, and #30 Weibull can be used as decay function for HWP and dead wood. Average carbon stock can be calculated for stands under uneven-aged management. Broadleaved species can be distinguished from coniferous species in the flux configurations.
2023-05-24 1.2.6 Bug #41
2021-10-05 1.2 Features #15, #18, #24, #28, #36 and Bugs #14, #16, #19, #20, #21, #22, #30, #31, #32, #33, #34 , #35 Many small bugs fixed. Better consistency in carbon estimation. Bark is now distinguished from wood, carbon stocks are reported on an annual basis in all compartments, UI option to export flux configurations as SVG files.
2019-06-28 1.1 Features #9, #12 and Bugs #10, #11, #13 Combustion processes are now available in the flux manager
2018-06-13 1.0 First stable version