Skip to content

Reproduction

Naomi Tague edited this page May 5, 2014 · 4 revisions

The reproduction branch is under-development - but once released it will allow users to include reproduction in the C/N cycling - The current code is its own feature branch called reproduction - I did a merge with newstrata on Friday so it should include our most recent updates to phenology etc.

A summary of how the reproduction code works, the code changes and the 'to be completed' is given here

The reproduction model includes both reproduction pools that are vegetation C and N stores in the strata (cs.reprodc, cs.reprodc_store, cs.reprodc_transfer and parallel nitrogen state variables) AND a seed pool (cs.seedc and ns.seedn) The seed C&N pools are still associated with the strata object, but function in the same way as coarse woody debris (cwd) - so when reprodc and reprodn pools turnover they go first to the seed pool, seed pools then decay over time Seed pools can also be used to resprout (but this has not be coded yet)

Reproduction only occurs if -reproduction flag is included on the command line If the flag is included then the worldfile must include 4 additional carbon state variables at the strata level and 4 addtional nitrogen state variables The carbon variables cs.reprodc, cs.reprodc_store, cs.reprodc_transfer, cs.seedc are added immediately following cs.cwdc The corresponding nitrogen variables after ns.retransn

There are a number of new stratum level default parameters - described below (some of these defaults should probably updated once we have more information)

Fraction of reproduction C&N that goes from plant reprodc and reprodn stores to seedc and seedn per year epc.reprod_turnover (default 1.0) fraction/year

Rate that the seed decays epc.kfrag_seed (default 0.01) fraction per year

Fraction of seed material as labile, lignan and cellulose materials (must sum to 1.0), controls which litter pools receive decaying seed material epc.seed_flab (default 0.31) fraction epc.seed_flig (default 0.24) fraction epc.seed_fcel (default 0.45) fraction

Reproduction has its own phenology routine (only static or fixed) - maybe we will implement a variable one later - this controls when stores (reprodc_transfer and reprodn_transfer) pools are expressed on the plant epc.day_reprod_on (default 91) days epc.day_reprod_off (default 296) days epc.ndays_reprod_expand (default 30) days

How long it takes reprodc to fall to seedc (and corresponding N) epc.ndays_seedfall (default 30) days

Allocation to reproduction only occurs when current NSC (cpool) is above this threshold epc.cpool_fract_reprod_thresh (default 0.01) fraction If threshold is exceeded then the following proportion of netPSN that would have gone to NSC on that day now goes to reprodc (N-pools use the same fraction) epc.alloc_cpool_reprodc (default 0) fraction

The basic model has been implemented see for reading new state/default variables construct_canopy_strata.c construct_stratum_defaults.c for outputing or inputting current state output_canopy_strata.c input_new_strata.c for daily and reproduction C allocation allocate_daily_growth.c allocate_annual_growth.c for reproduction phenology see new routine update_reprod_phenology.c (this routines call several additional new routines that deal with turnovers) compute_seed_decay.c compute_reprod_litfall.c

I have done some initial testing and it seems to work However two areas still need some final coding To be completed in cn/update_mortality.c (mortality also needs to kill off reproduction pools - I have added if statements and commments where this should be go but it needs to be completed - probably for both reprodc and seedc (and N) pools - in parallel to how other c, n pools are dealt with in this routine)

a bigger issue is to code how seed pool is used in resprouting this will go in cn/allocate_annual_growth.c again I have added comments to show where - a present seed pool is not used for resprouting

THen testing, including carbon and nitrogen balance check should be done

Clone this wiki locally