compute the age modifier. It modulates the maximum potential growth during the different stages of the vegetation life cycle as trees in the early stages are not as vigorous as mature trees
Reference:
Peng, C., J. Liu, Q. Dang, M. J. Apps, and H. Jiang, 2002: TRIPLEX: A generic hybrid model for predicting forest growth and carbon and nitrogen dynamics. Ecol. Modell., 153 (1–2), 109–130.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=float), | intent(in) | :: | age |
actual age (years) |
||
real(kind=float), | intent(in) | :: | agemax |
maximum age (years) |
FUNCTION AGEmod & ! (age, agemax) & ! RESULT (f) IMPLICIT NONE !arguments with intent(in): REAL (KIND = float), INTENT(IN) :: age !!actual age (years) REAL (KIND = float), INTENT(IN) :: agemax !! maximum age (years) !local declarations: REAL (KIND = float) :: f !---------------------------------------end of declarations-------------------- !compute modifier !IF ( age < 0.2 * agemax ) THEN ! f = 0.7 + 0.3 * age / ( 0.2 * agemax) !ELSE ! f = 1. + MAX (0., ((age - 0.2 * agemax) / (0.95 * agemax) ) ** 3. ) !END IF f = ( 1. / (1. + ( ( age / agemax ) / 0.95 ) ) )**4. !final boundary check IF ( f > 1.) THEN f = 1. END IF IF ( f < 0.) THEN f = 0. END IF RETURN END FUNCTION AGEmod