EDmodel / ED2

Ecosystem Demography Model
79 stars 113 forks source link

Dimensions of SLA #228

Closed manfredo89 closed 3 years ago

manfredo89 commented 6 years ago

I can see in pft_coms and in ed_params that SLA is marked as being in [m^2_leaf / Kg_C], however in an older issue https://github.com/EDmodel/ED2/issues/3 @rgknox wrote "SLA: [m2 leaf] / [kg leaf]" What is the real dimension of SLA? Because to me the older dimension would make more sense considering the numbers.

xiangtaoxu commented 6 years ago

SLA is in m2_leaf / kg_C in ED2 because all tracked plant biomass uses kg_C in ED. There is a C2B factor to convert kg_C to kg in ed_params

manfredo89 commented 6 years ago

Ok but then aren't the values too small? Early successionals have an SLA of about 16 m^2_leaves / Kg_C that is 80cm^2/g_biomass and Late of 50 cm^2/g_biomass (if I did not make any mistake in converting them). I am definitely not an expert but I generally see larger numbers.

xiangtaoxu commented 6 years ago

Sure, there are definitely larger numbers and even way smaller numbers in SLA. However, we are talking about PFT level, which is the average of multiple species. I have actually checked the multiple species average SLA weighted by their abundance in Costa Rica dry forests. It turns out the average SLA for different wood density bins is quite similar to the corresponding PFT SLA values in ED2.

If you are interested in some fast growing species with extreme high SLA, I would say just add a new PFT.

Another problem is within-canopy phenoplasticity, SLA of the same species can vary by 5-10 folds from deep understory to canopy (understory individuals have higher SLA) in the tropics. So that's partly why we can see way larger numbers in SLA

tompowell9 commented 6 years ago

I agree that the ED2 SLA values for tropical trees check out given the wide variability in SLA within and across species, and even an individual.

The values I measured in the Amazon for Inga spp is about 13 m^2 leaf/ kg-leaf_BIOMASS and for Protium spp is about 8 m^2 leaf/ kg-leaf_BIOMASS (rachis is included in the estimate and accounts for about 8% of the dry weight). Both of these species have a WD of about 0.55 g/cm3 (e.g. early, light demanding spp). Therefore, if anything, 16 m^2 leaf/ kg-leaf_CARBON may be on the high side.

mpaiao commented 6 years ago

@manfredo89 I agree with you, the values are indeed too low given that the units are m2/kgC (and they should be in m2/kgC. This plot includes data from from TRY, GLOPNET and NGEE-Tropics: the median value is about 23 m2/kgC, although it has huge variability as @xiangtaoxu mentioned.

@tompowell9 if your measurements were in m2leaf/kg_biomass, and if we assume 1/2 kgC = 1 kg_biomass, then your data suggest something between 16–26 m2/kgC, right?

By the way, this may be relevant for temperate PFTs too. From Albani et al. (2006) the default SLA for late hardwoods used to be 30m2/kgC, but it became 60 in ED2.1 onwards (possible conversion even though it wasn't needed?). @dmedvigy @mdietze Do you remember if there was some change in units in biomass during the ED1 – ED2 – ED2.1 transitions?

mdietze commented 6 years ago

Following 'git blame' backwards in time, it appears those defaults have been in place since the original commit of this repository in Aug 2008 by @mpaiao. I can't recall what caused the break in the repo prior to that, as I thought we were already using bzr prior to this date. If I had to guess I'd say the Albani defaults were probably in biomass units, not carbon -- I never used ED1 but I thought it was tracking biomass not C.

As for what parameters should be, here's the results from @ashiklom meta-analysis of all of the TRY data (note that SLA here is in biomass so values should be approx doubled). Getting this automated into the PEcAn trait meta-analysis is on our to-do list, but we could get you updated numbers for any specific ED2 PFT instead of the CLM PFTs that Alexey used in his analysis (FYI the CLM 4.5 + values on the graph are the DEFAULTS, while the other symbols are what the data says they should actually be set at). Of course I'd advocate just using PEcAn directly, that way the parameters used will stay in sync with the available data as those databases grow.

image

ashehad commented 6 years ago

In CLM4.5, SLA is provided at the top of the canopy. It's variability is quite large as there are 78 plant functional types. The range of SLA is as follows: anywhere between 8 to 70 m2/kgC.

ashehad commented 6 years ago

My personal opinion is that it would be very nice to pull out all of the parameters that can be considered as "soft parameters" and perhaps also PFT dependent and put them into an external hdf file, for example. Also, as much as possible, ED should have all external files in one format.

mdietze commented 6 years ago

@ashehad 1) please define what you mean by a "soft" parameter, 2) please explain why you think an external hdf file would be preferable to the current external xml file, 3) yes CLM has 78 PFTs but pretty much everything except the 14 above are crops

ashehad commented 6 years ago

Soft parameters are the ones that are more or less same across PFTs currently because we have little information about their variability. For example, in CLM4.5, we have a parameter called "maximum rate of nitrification", this relates to the nitrogen uptake rates and is currently same across PFTs in CLM4.5. We know plants and/or microbes can modify this but we have little information about how this varies across species and across PFTs.

Regarding hdf file, I work with netcdf files these days. I find it much easier to change it, view it and it's quite good when used in optimization frameworks. I think hdf file should work similarly. Of-course, I'll be bias towards CLM, but I think xml files should only hold paths like ED2IN.

mdietze commented 6 years ago

OK, but within ED2 we've been using the XML parameter files for all sorts of parameter analyses (sensitivity analysis, uncertainty analysis, parameter calibration, ensemble projections, etc) for over a decade and have a good bit of code already in place around that. The idea that XML should only hold file paths is, frankly, quite odd and not at all consistent with why file formats like XML and JSON were invented and how they are used by computer scientists and programmers around the world -- the aim is to provide a self-documenting file format that is both human and machine readable. NetCDF is great (I also prefer it over hdf5) but neither netCDF or hdf are really human readable, and since they are binary neither really plays well with version control (which is why, for example, FATES stores its parameters in a cdl file that is converted to a netCDF)

I also find the definition of a "soft" parameter to itself be fairly soft. Right now pretty much every parameter that's in the ed_params is also in the XML and I don't really see a reason to not include everything that's a calibrated coefficient rather than a physical constant.

ashehad commented 6 years ago

Okay, got you. Do you think ED can store its parameters in a cdl file that can be converted to a hdf file? Will it require a lot of work?

mdietze commented 6 years ago

Something like that could be made to work, but my point remains that I don't see why we would want to do it. It would require us to put nontrivial effort into dismantling something that already works to build something that is functionally equivalent without any real argument as to why the current system isn't working.

ashehad commented 6 years ago

Okay, maybe this argument might help. Currently, when we turn a few PFTS on in ED2IN, will the xml print out parameters for only those PFTs or will the xml print out parameters for all PFTs that is hard-coded in ED2? It will be good to get all PFT parameters in the xml for easier comparisons but the model should only simulate the PFT defined in ED2IN.

mpaiao commented 6 years ago

@mdietze thanks for the information and for sharing the trait analysis, this is very helpful. Just for clarification, Vcmax in this plot is at 25°C, correct?

Regarding the release 1, I think this was the first version with the clean code after the intensive transition in January 2008. The very first bzr is from October 2007, and I do have the older folder saved at Harvard, if you think it's useful I could try to upload it to GitHub too.

I agree with you about PEcAn and to keep XML, but I think it would be also nice to make sure that the defaults in ED2 are not biased due to unit conversion. My comment about Albani et al. (2006) was based on their Table 1, which explicitly says the units of SLA are m2 kgC−1.

@ashehad I think the current version writes an xml with all the output if you initialize at least one parameter through xml. It is certainly possible to change the code so it always writes the xml file.

mdietze commented 6 years ago

@mpaiao yes, those Vcmax are 25C.

Yes, definitely agree that we want to be sure the current defaults are not off by 2x!

ashehad commented 6 years ago

OK - maybe the version that I used did not write all coded PFT parameters to xml.