trotsiuk / r3PG

An R package for forest growth simulation using the 3-PG process-based model
https://trotsiuk.github.io/r3PG/
GNU General Public License v3.0
27 stars 16 forks source link

why is e20 2.2? #84

Closed twest820 closed 1 year ago

twest820 commented 2 years ago

In Fortran we have

real(kind=8), parameter :: e20 = 2.2d0            ! rate of change of saturated VP with T at 20C

So it appears e20 is what Forrester et al. 2016 calls s (Eq. A.42). Neither the Fortran or Forrester et al. have units for e20, consistent with other terms in the denominator of A.42 being dimensionless. However, this is a bit curious as a vapor pressure slope in temperature would typically have units like kPa/°C or mbar/K rather than being dimensionless.

Most of the calculations I'm aware of in this space follow FAO-56, which uses

fao56 = tibble(temperature = seq(-20, 45), # °C
               svpSlope = 4098 * 0.6108 * exp(17.27 * temperature / (temperature + 237.3)) / (temperature + 237.3)^2) # kPa/°C

and therefore suggests 0.145 kPa/°C for e20, consistent with the value of s given in Landsberg and Sands 2010 §7.2.1. So, depending on which 3-PG authority one consults, s may or may not be dimensioned.

Based on A.42 and Landsberg and Sands 2010 Eq. 7.3, it looks to me like the link is

e20 = s/γ = 0.145 kPa/°C / 0.0661 kPa/°C = 2.194 ! dimensionless

which then got simplified to 2.2 due to uncertainty in the value of the psychrometric constant γ. Somewhere along the way it looks like a further simplification from s/γ to a dimensionless s also happened.

Does this fit with others' understandings? Having gone as far back in the literature as Landsberg and Waring 1997 I'm not seeing the algebraic link between Penman-Monteith and the 3-PG code get derived and, in some of the other 3-PG codebases, there are comments which are easily read as 2.2 being a magic number copied from yet other 3-PG implementations.

From a code perspective, this makes me suspect where this issue bottoms out is the comment on e20 could be reworded for clarity. 😄

trotsiuk commented 2 years ago

Hi @twest820 thanks for the good point.

You are correct with

rin some of the other 3-PG codebases, there are comments which are easily read as 2.2 being a magic number copied from yet other 3-PG implementations.

This was overtaken from the original model (https://3pg.forestry.ubc.ca/documentation/) so would suggest to contact the original model developers directly for the clearer explanation :)

'Penman-Monteith equation for computing canopy transpiration
'in kg/m2/day, which is converted to mm/day.
'The following are constants in the PM formula (Landsberg & Gower, 1997)
Const e20 = 2.2          ' rate of change of saturated VP with T at 20C
twest820 commented 2 years ago

would suggest to contact the original model developers directly for the clearer explanation :)

Still haven't gotten to it but, thanks, I'll try. Something that's curious here is the psychrometric constant varies by roughly a factor of two depending on the type of psychrometer used. So it seems there's some potential for e20 to vary, though I'm inclined to suspect the use of a constant value just becomes an aspect of 3-PG calibration.