Opened 3 months ago

Closed 2 months ago

#903 closed defect (fixed)

problem in calculation of gdd_m5_dormance

Reported by: nicolasviovy Owned by: somebody
Priority: major Milestone: ORCHIDEE 4.2
Component: Biogeochemical processes Version: trunc
Keywords: Cc:

Description

I found a problem that could be a critical bug for phenology. The gdd_m5_dormance used to calculate begin leaves is calculated in a way which seems wrong:
in stomate_season:

WHERE ( ( t2m_daily(:) .GT. ( ZeroCelsius? - gdd_threshold ) ) .AND. &

( gdd_m5_dormance(:,j) .NE. undef ) )

gdd_m5_dormance(:,j) = gdd_m5_dormance(:,j) + &

dt * ( t2m_daily(:) - ( ZeroCelsius? - gdd_threshold ) )

ENDWHERE

gdd_threshold been set to 5°C
So the minus sign is weird here as gdd is normally calculated with a threshold above ZeroCelsius? ? the consequence is accumulation of gdd even for temperature lower than 0 which can explain the too early begin leave we observe....
The problem seems to be related to a confusion with the NGD model used for larix.. In this model for very cold condition the model use an number of days above -5°C which lead to calculation of ngd_minus5(:,j)

WHERE ( t2m_daily(:) .GT. (ZeroCelsius? - gdd_threshold) )

ngd_minus5(:,j) = ngd_minus5(:,j) + dt

ENDWHERE

which use the same gdd_threshold ... but in this case used with a minus sign which give the good result (but in fact another variable should be used as there is no reason to fix the same threshold for both model and for this case too we should fix a value of -5 and have a plus sign)....
So in principle the code should be modified with:

WHERE ( ( t2m_daily(:) .GT. ( ZeroCelsius? + gdd_threshold ) ) .AND. &

( gdd_m5_dormance(:,j) .NE. undef ) )

gdd_m5_dormance(:,j) = gdd_m5_dormance(:,j) + &

dt * ( t2m_daily(:) - ( ZeroCelsius? + gdd_threshold ) )

ENDWHERE

and have:

WHERE ( t2m_daily(:) .GT. (ZeroCelsius? + ngd_threshold) )

ngd_minus5(:,j) = ngd_minus5(:,j) + dt

ENDWHERE

with a new constant ngd_threshold fixes to -5

Change History (2)

comment:1 Changed 2 months ago by luyssaert

  • Milestone set to ORCHIDEE 4.2
  • Priority changed from critical to major
  • Version set to trunc

comment:2 Changed 2 months ago by luyssaert

  • Resolution set to fixed
  • Status changed from new to closed

The proposed changes have been implemented in r7928. In the same revision, GDD_threshold was externalized and made PFT-specific.

Note: See TracTickets for help on using tickets.