InVEST Carbon Model - Carbon pool data

Hi InVEST Carbon community!

I’ve been trying to create LULC carbon models using InVEST Carbon, but I don’t have my own carbon pool data to input into the model. I’ve been trying to search for carbon pool/storage data for each land use, using the IPCC 2006 Methodology report and other similar reports that are listed in the InVEST Carbon Model Documentation, but I’ve been unable to find anything. I’m very new to InVEST, so if anyone has any tips on where to find this type of data it would be much appreciated.

Many Thanks.

1 Like

Hi @Ciaran -

For a first-pass estimate of carbon, we often use this User Guide source from Reusch and Gibbs. It is quite generic though. To get more specific data, we generally do a literature search for our area in the world. Sometimes people have published carbon studies of local or similar vegetation types. Or perhaps the country has a REDD program document available - these often have useful carbon storage and/or sequestration tables. I’m not aware of anything that makes it easier for us, unfortunately, but would love to hear if anyone else has!

~ Stacie


Hi @swolny

Thanks for your response. Does the User Guide from Reusch and Gibbs provide carbon data for all four fundamental pools for each LULC class? Sorry if it feels like a very basic question, I am still trying to teach myself the software. I’ve conducted quite an extensive literature review, and am able to find carbon pool data for some pools but not all. It’s very frustrating. I’m not sure if I’m missing something obvious or not.

Hi @Ciaran

The Reusch and Gibbs data is for aboveground and belowground biomass only. It’s common not to find carbon pool data for dead matter, and often soils too, and if you don’t have those values you can just use a value of 0 in the carbon pool table. Sometimes you can get soil carbon from spatial soil data. This won’t be by land cover type, but you can just run the Carbon model on aboveground and belowground, then add the soil layer values in post-processing.

Yes, lit searches for the biophysical tables do tend to be frustrating, I feel your pain.

~ Stacie

1 Like

Hi @swolny

Thank you very much, you’ve been a great help!

I have one other question. In order to calculate carbon sequestration on the Carbon model, a future LULC raster file is required. How do you typically calculate these future land cover maps? I’m aware that there are methods such as the CA-Markov model, which uses older land cover maps and compares them in order to predict changes etc using probability. But I was wondering if there is a simpler way of acquiring this information, maybe a simple estimation? Any advice is appreciated.

Many thanks,


Hi @Ciaran -

There are many different ways of creating future land cover maps/scenarios. How to create them depends on what is informing the scenarios, and what kind of information you have about how things change. Are you considering some sort of policy? Using stakeholder input? Do you have actual spatial data on how things might change? If not, what is your criteria for change?

If you have maps of, say, places where an area is to be restored, or converted to another land use type, you can use those spatial areas to edit the original land cover map. If you’re modeling something like urban expansion by X%, you can create a buffer around the urban areas in your current land cover map, and convert the buffered area to urban in the future map. Or perhaps you’re doing a what-if scenario, where all agricultural lands incorporate agroforestry. Then you can do something as simple as changing the carbon pool table values for agriculture, to reflect the increase in carbon from the additional trees.

We also provide a Scenario Generator tool that might be useful - here’s the User Guide description:
“The proximity-based scenario generator creates a set of contrasting land use change maps that convert habitat in different spatial patterns. The user determines which habitat can be converted and what they are converted to, as well as type of pattern, based on proximity to the edge of a focal habitat. In this manner, an array of land-use change patterns can be generated, including pasture encroaching into forest from the forest edge, agriculture expanding from currently cropped areas, forest fragmentation, and many others. The resulting land-use maps can then be used as inputs to InVEST models, or other models for biodiversity or ecosystem services that are responsive to land use change.”

~ Stacie


Dear all,
I want to calculate carbon sequestration on the Carbon model with 4 LULC maps(1975,1995, 2010 and 2020). Please I want to know if for the required raster file future LULC, I can consider the 2020 LULC map or I have to do another forecasted map like 2030. Also when I try to calculate the carbon sequestration with 2 different rasters for example 1975 and 2020. I got the following results that shaw error, see the screenshot. !

I will be very grateful if someone helps me to solve this problem

Hi @Djibril -

You can use the 2020 LULC map for the “future” input. This is used just to take the difference between whatever you’re defining as “current” (1975, 1995 and 2010) and “future” to calculate sequestration.

The error message says that the size of the pixels in the current land cover map are just slightly different than the size of the pixels in the future land cover map, but they need to be exactly the same. (If this is a requirement for this model, it should be noted in the User Guide, which it isn’t, I’ll look into that.) Try reprojecting your input land use rasters (both current and future) to have cell size of exactly 30m x 30m and that error should go away.

~ Stacie


Thank you very much, dear Stacie

Dear Stacie,
Hope you are fine and everything is going well,
As you indicated, I reprojected my input land use rasters(both current and future) to have the same cell size(30m x 30m). So, the modelling was successful without any error. your instructions were very helpful for me. Thank you very much


I’m happy to hear it @Djibril!

~ Stacie

Hi @swolny ,

I hope it is ok to respond to this message even though it is old. I am using some of the Reusch and Gibbs data for a carbon model I am running and I am a little confused on when you need to use the conversion factor (ex. 0.47 for above ground forest biomass). What are the units of the carbon value column in the Reusch and Gibbs data? Apologies if this is stated somewhere.

Yes, @sarahhalperin, it’s amazing that they did not include units in those tables, and it does not help that they have one set of rasters with units of .01 tons C/ha and another set with units tons C/ha. There’s one map (figure 5 on this web page) that shows the global above/belowground biomass, which says that it’s in tons of C/ha, and from digging around as much as I could, and comparing them with other sources, it has been my assumption that the values in the tables are in tons C/hectare.

When you ask about the 0.47 conversion factor, what is this related to? It could be related to this in the User Guide: “Note that several sources, including IPCC (2006), report in units of biomass, while InVEST uses mass of elemental carbon. To convert metric tons of biomass to metric tons of C, multiply by a conversion factor, which varies typically from 0.43 to 0.51. Conversion factors for different major tree types and climatic regions are listed in Table 4.3 on page 4.48 of IPCC (2006).” If so, there should not be a conversion needed for the Reusch and Gibbs data, as it already appears to be in units of C (even though they use the word ‘biomass’).

Yes, this source is confusing, but sometimes it’s the best we’ve got!

~ Stacie


Hi @swolny
I have a similar problem. I already have the aboveground and belowground biomass for my data. But I could not find the dead matter or the soil data. However, I found Carbon emission and uptake for carbon represented in negative and positive values, instead of carbon storage. So, my question is can we use the emission and uptake as a carbon storage ? and dose the negative values affect the model?

Hi @Mojtaba, and welcome to the forum!

What all does the “emission and uptake” data include? And what are its units? It could be that if you have this information, you don’t need to use the Carbon model at all. The model is extremely simple, all it does is sum the carbon pool values for each land use/land cover (LULC) type, and apply the sum to the input LULC raster. It does not do any calculations related to emissions, growth, or any other aspect of carbon storage/sequestration. So your information about emission and uptake may actually be more complete than the model output, which is only designed to capture a static storage value.

Also of note, if you do use the Carbon model, it’s common not to have data for dead matter and/or soil carbon. You can just fill in those columns of the biophysical table with zeros, and be clear in your description of the results that it only contains aboveground and belowground carbon.

~ Stacie


@swolny Thank you for the reply. All my data are in (Ktons/year) and I only have the “emission and uptake” for the matter and soil carbon. And I read that the model as you said is fairly simple and its just the sum of all the values. So, I am just trying to complete the model ( “Storage carbon” in (ktons/ year) for the above/ground + “emission and uptake” in (ktons/ year) for matter and soil carbon). Can this equation work ?
Also, note that there is a negative values in the “emission and uptake” and I was wondering if it might affect the model negatively and ruin the results instead of improving it.

@Mojtaba, I’ll need to think through this a little… It sounds like there’s a single value given for your soil/dead matter data, which represents either uptake (if positive) or emission (if negative), and it’s given in units per year (please correct me if I’m wrong). This sounds like it represents change over time. But the Carbon model does not calculate based on time (except for the valuation portion). Storage is a static snapshot of the total carbon present at a single point in time, and sequestration is the difference between two storage snapshots. The model inputs represent total carbon stored in each particular LULC type, not change over time. So it sounds to me like these layers wouldn’t really be the right match for the Carbon model.

If you had emission and uptake for the aboveground/belowground portions too, you could of course do your own calculation summing these together over whatever time period you’re evaluating, to get a value for sequestration, or change over time. This wouldn’t represent the sum total of carbon in the landscape, but would be a better representation of change than what the model provides.

I don’t know if your data are spatial already or not, but if you do end up with a mix of spatial and non-spatial carbon pool data, you can run the model with only the non-spatial carbon pools (often aboveground and belowground), then add the spatial carbon data (often soil) to the model results manually in post-processing. That way you retain the granularity of your spatial layers, and use the model only for the portion that it’s needed.

~ Stacie

Yeah the calculation of of “emission and uptake” takes the total sum of different samples in a year and if the emissions more than the uptake, the values will be a positive value. And if storage is a static snapshot, then I do not think it is a good idea to include it in the model. I will just use aboveground/belowground values and I will leave the rest as zero. I tried to download the spatial global soil carbon data but unfortunately my study area was missing from the data.
thanks so much for the help @swolny

Hello everyone, I have a question to ask. After I run the carbon model, the following error is displayed:“no such table:global variables”.Would you please tell us how to solve this situation.

A new error appeared“‘utf-8’ code can’t decode byte Oxd3 in position 53:invalid continuation byte”.