Skip to content

Commit

Permalink
Merge pull request #6 from rosiealice/rosie_colddec
Browse files Browse the repository at this point in the history
Rosie colddec
  • Loading branch information
rgknox authored Oct 1, 2019
2 parents 8e0b059 + 43f14aa commit 5809fb5
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
35 changes: 31 additions & 4 deletions biogeochem/EDPhysiologyMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -661,10 +661,31 @@ subroutine phenology( currentSite, bc_in )
endif
!
! accumulate the GDD using daily mean temperatures
if (bc_in%t_veg24_si .gt. tfrz) then
! Don't accumulate GDD during the growing season (that wouldn't make sense)
if (bc_in%t_veg24_si .gt. tfrz.and. currentSite%cstatus == phen_cstat_iscold) then
currentSite%grow_deg_days = currentSite%grow_deg_days + bc_in%t_veg24_si - tfrz
endif

!this logic is to prevent GDD accumulating after the leaves have fallen and before the
! beginnning of the accumulation period, to prevend erroneous autumn leaf flushing.
if(model_day_int>365)then !only do this after the first year to prevent odd behaviour

if(currentSite%lat .gt. 0.0_r8)then !Northern Hemisphere
! In the north, don't accumulate when we are past the leaf fall date.
! Accumulation starts on day 1 of year in NH.
! The 180 is to prevent going into an 'always off' state after initialization
if( model_day_int .gt. currentSite%cleafoffdate.and.hlm_day_of_year.gt.180)then !
currentSite%grow_deg_days = 0._r8
endif
else !Southern Hemisphere
! In the South, don't accumulate after the leaf off date, and before the start of
! the accumulation phase (day 181).
if(model_day_int .gt. currentSite%cleafoffdate.and.hlm_day_of_year.lt.gddstart) then!
currentSite%grow_deg_days = 0._r8
endif
endif
endif !year1

! Calculate the number of days since the leaves last came on
! and off. If this is the beginning of the simulation, that day might
! not had occured yet, so set it to last year to get things rolling
Expand Down Expand Up @@ -694,9 +715,12 @@ subroutine phenology( currentSite, bc_in )
if ( (currentSite%cstatus == phen_cstat_iscold .or. &
currentSite%cstatus == phen_cstat_nevercold) .and. &
(currentSite%grow_deg_days > gdd_threshold) .and. &
(dayssincecleafoff > ED_val_phen_mindayson) .and. &
(currentSite%nchilldays >= 1)) then
currentSite%cstatus = phen_cstat_notcold ! Set to not-cold status (leaves can come on)
currentSite%cleafondate = model_day_int
dayssincecleafon = 0
currentSite%grow_deg_days = 0._r8 ! zero GDD for the rest of the year until counting season begins.
if ( debug ) write(fates_log(),*) 'leaves on'
endif !GDD

Expand Down Expand Up @@ -907,7 +931,7 @@ subroutine phenology_leafonoff(currentSite)
real(r8) :: store_c_transfer_frac ! Fraction of storage carbon used to flush leaves
integer :: ipft
real(r8), parameter :: leaf_drop_fraction = 1.0_r8

real(r8), parameter :: carbon_store_buffer = 0.10_r8
!------------------------------------------------------------------------

currentPatch => CurrentSite%oldest_patch
Expand Down Expand Up @@ -936,8 +960,11 @@ subroutine phenology_leafonoff(currentSite)
! stop flow of carbon out of bstore.

if(store_c>nearzero) then
store_c_transfer_frac = &
min(EDPftvarcon_inst%phenflush_fraction(ipft)*currentCohort%laimemory, store_c)/store_c
! flush either the amount required from the laimemory, or -most- of the storage pool
! RF: added a criterium to stop the entire store pool emptying and triggering termination mortality
! n.b. this might not be necessary if we adopted a more gradual approach to leaf flushing...
store_c_transfer_frac = min((EDPftvarcon_inst%phenflush_fraction(ipft)* &
currentCohort%laimemory)/store_c,(1.0_r8-carbon_store_buffer))
else
store_c_transfer_frac = 0.0_r8
end if
Expand Down
2 changes: 1 addition & 1 deletion parameter_files/fates_params_default.cdl
Original file line number Diff line number Diff line change
Expand Up @@ -1172,7 +1172,7 @@ data:

fates_phen_drought_threshold = 0.15 ;

fates_phen_mindayson = 30 ;
fates_phen_mindayson = 90 ;

fates_phen_ncolddayslim = 5 ;

Expand Down

0 comments on commit 5809fb5

Please sign in to comment.