CHANGELOG for Biome-BGCMuSo v7.0 2023-05-22 by Dóra HIDY -------------------------------- Changes from 7.0beta12to 7.0alfa -------------------------------- DEVELOPMENT: modification of denitrification calculation - effect of VWC inrease continously DEVELOPMENT: new routine - aboveANDbelow.c: Estimating aboveground and belowground litter for soil layers new mode variables: double litrCabove_total; /* total aboveground litter C */ double litrCbelow_total; /* total belowground litter C */ double litrCabove[N_SOILLAYERS]; /* layer-defined aboveground litter C */ double litrCbelow[N_SOILLAYERS]; /* layer-defined belowground litter C */ double cwdCabove_total; /* total aboveground coarse woody debris C */ double cwdCbelow_total; /* total aboveground coarse woody debris C */ double cwdCabove[N_SOILLAYERS]; /* layer-defined aboveground coarse woody debris C */ double cwdCbelow[N_SOILLAYERS]; /* layer-defined belowground coarse woody debris C */ affected routines: aboveANDbelow.c, cutdown2litter.c, fertilizing.c, mulching.c, planting, soilCover.c DEVELOPMENT: new precision control constant (determines the lower limit of state variables before they are set to 0.0 to control rounding and overflow errors) #define CRIT_PREC_superRIG 1e-20 #define CRIT_PREC_lenient 1e-9 DEVELOPMENT: excluding of Richards-method from hydrological calculation DEVELOPMENT: huge development in groundwater simulation lot of new model variables new hydrological routines for simulate groundwater processes more accurately int groundwater_preproc(control_struct* ctrl, const groundwaterINIT_struct* GWS, const siteconst_struct* sitec, soilprop_struct* sprop, soilInfo_struct* soilInfo, wstate_struct* ws, wflux_struct* wf, cstate_struct* cs, nstate_struct* ns); int groundwater_concentration(int md, const groundwaterINIT_struct* GWS, soilprop_struct* sprop, soilInfo_struct* soilInfo, wstate_struct* ws, cstate_struct* cs, nstate_struct* ns); int calc_VWCeq(control_struct* ctrl, const siteconst_struct* sitec, soilprop_struct* sprop); int groundwater_movement(const siteconst_struct* sitec, soilprop_struct* sprop, epvar_struct* epv, soilInfo_struct* soilInfo, wstate_struct* ws, wflux_struct* wf, cstate_struct* cs, nstate_struct* ns); int calc_drainage(int flagRAIN, double INFILT, double VWC, double VWCsat, double VWCfc, double dz0, double DC, double cond int capillary_tipping(siteconst_struct* sitec, soilprop_struct* sprop, epvar_struct* epv, wstate_struct* ws, wflux_struct* wf); int groundwater_tipping(siteconst_struct* sitec, soilprop_struct* sprop, epvar_struct* epv, wstate_struct* ws, wflux_struct* wf); int diffusion(siteconst_struct* sitec, soilprop_struct* sprop, epvar_struct* epv, wstate_struct* ws, wflux_struct* wf); int capillary_diffusion(siteconst_struct* sitec, soilprop_struct* sprop, epvar_struct* epv, wstate_struct* ws, wflux_struct* wf); int groundwater_diffusion(siteconst_struct* sitec, soilprop_struct* sprop, epvar_struct* epv, wstate_struct* ws, wflux_struct* wf); int calc_diffus(int layer, const soilprop_struct* sprop, double dz0, double VWC0, double VWC0_sat, double VWC0_EqFC, double VWC0_wp, double VWC0_limit, double dz1, double VWC1, double VWC1_sat, double VWC1_EqFC, double VWC1_wp, double VWC1_limit, double dLk, double* DBAR, double* soilwDiffus); int capillary_leaching(int dm, soilprop_struct* sprop, soilInfo_struct* soilInfo, wstate_struct* ws, wflux_struct* wf, double* dismatLeachNORM, double* dismatLeachCAPIL, double* dischargeNORM, double* dischargeCAPIL, double* rechargeNORM, double* rechargeCAPIL); int groundwater_leaching(int dm, soilprop_struct* sprop, soilInfo_struct* soilInfo, wstate_struct* ws, wflux_struct* wf, double* dismatLeachNORM, double* dismatLeachCAPIL, double* dischargeNORM, double* dischargeCAPIL, double* rechargeNORM, double* rechargeCAPIL); int calc_leach(control_struct* ctrl, soilInfo_struct* soilInfo, double wflux, double wstate0, double wstate1, double state0[N_DISSOLVMATER], double state1[N_DISSOLVMATER], double conc0[N_DISSOLVMATER], double conc1[N_DISSOLVMATER], double leachFlux[N_DISSOLVMATER]); int check_virtualLayer_balance(const control_struct* ctrl, soilInfo_struct* soilInfo, soilprop_struct* sprop, wflux_struct* wf); DEVELOPMENT: new routine to calculate the limitation factors of conductance int conductLimit_calculations(const soilprop_struct* sprop, const epconst_struct* epc, epvar_struct* epv); int precision_reset(int flagLITTER, int layer, cstate_struct* cs, nstate_struct* ns, double* cpool, double* npool, int* errorCode); DEVELOPMENT: complex management of types of materials in soil: NH4, NO3, OC1-OC4 and ON1-ON4 new model variables in a new struct: soilInfo_struct double dissolv_prop[N_DISSOLVMATER]; double GWconc[N_DISSOLVMATER]; /* (kg/kg) concentration of groundwater */ double FLconc[N_DISSOLVMATER]; /* (kg/kg) concentration of flood */ double content_soil[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2) content of dissolved materials */ double content_soil_pre[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2) content of dissolved materials */ double content_zoneUNSATgw_pre[N_DISSOLVMATER]; /* material content of unsaturated zone of GW-layer: NH4, NO3, DOC and DON */ double content_NORMgw[N_DISSOLVMATER]; /* material content of unsaturated zone of GW-layer: NH4, NO3, DOC and DON */ double content_CAPILgw[N_DISSOLVMATER]; /* material content of capillary zone of GW-layer: NH4, NO3, DOC and DON */ double content_SATgw[N_DISSOLVMATER]; /* material content of capillary zone of GW-layer: NH4, NO3, DOC and DON */ double content_NORMcf[N_DISSOLVMATER]; /* material content of unsaturated zone of GW-layer: NH4, NO3, DOC and DON */ double content_CAPILcf[N_DISSOLVMATER]; /* material content of capillary zone of GW-layer: NH4, NO3, DOC and DON */ double content_NORMgw_pre[N_DISSOLVMATER]; /* material content of unsaturated zone of GW-layer: NH4, NO3, DOC and DON */ double content_CAPILgw_pre[N_DISSOLVMATER]; /* material content of capillary zone of GW-layer: NH4, NO3, DOC and DON */ double content_SATgw_pre[N_DISSOLVMATER]; /* material content of capillary zone of GW-layer: NH4, NO3, DOC and DON */ double content_NORMcf_pre[N_DISSOLVMATER]; /* material content of unsaturated zone of GW-layer: NH4, NO3, DOC and DON */ double content_CAPILcf_pre[N_DISSOLVMATER]; /* CN content of capillary zone of GW-layer: soil1CN, soil2CM, soil3CN, soil4CN */ double ratio_NORMgw[4]; /* material content of NORM zone of GW-layer soil1CN, soil2CM, soil3CN, soil4CN */ double ratio_NORMcf[4]; /* material content of NORM zone of CF-layer soil1CN, soil2CM, soil3CN, soil4CN */ double ratio_CAPILgw[4]; /* material content of CAPIL zone of GW-layer soil1CN, soil2CM, soil3CN, soil4CN */ double ratio_CAPILcf[4]; /* material content of CAPIL zone of CF-layer soil1CN, soil2CM, soil3CN, soil4CN */ double balance_UNSAT[N_DISSOLVMATER]; /* balance in UNSAT part of GW-layer */ double dismatLeach[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) leaching flux of dissolved materials */ double dismatLeach_percolDiffus[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) leaching flux of dissolved materials */ double dismatLeach_NORMgw[N_DISSOLVMATER]; /* (kg/m2/day) leaching flux of dissolved materials in normal zone of GW-layer */ double dismatLeach_NORMcf[N_DISSOLVMATER]; /* (kg/m2/day) leaching flux of dissolved materials in normal zone of CF-layer */ double dismatGWrecharge[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) recharge flux of dissolved materials */ double dismatGWdischarge[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) discharge fluxes of dissolved materials */ double dismatGWmovchange[N_DISSOLVMATER]; /* (kg/m2/day) mvochange fluxes of dissolved materials regarding to all soil layers */ double dismatGWmovchangeN_total; /* (kg/m2/day) mvochange fluxes of dissolved N regarding to all soil layers */ double dismatGWmovchangeC_total; /* (kg/m2/day) mvochange fluxes of dissolved C regarding to all soil layers */ double dismatGWecofunc[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) ecofunc fluxes of dissolved materials */ double dismatGWecofunc_NORM[N_DISSOLVMATER]; /* (kg/m2/day) ecofunc (processes in multilayer_sminn) fluxes of dissolved materials */ double dismatGWecofunc_CAPIL[N_DISSOLVMATER]; /* (kg/m2/day) ecofunc (processes in multilayer_sminn) fluxes of dissolved materials in NORM zone of GW-layer */ double dismatGWdecomp[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) decomposition (processes in multilayer_sminn) fluxes of dissolved materials in CAPIL zone of GW-layer */ double dismatGWdecomp_NORM[N_DISSOLVMATER]; /* (kg/m2/day) decomposition fluxes of dissolved materials */ double dismatGWdecomp_CAPIL[N_DISSOLVMATER]; /* (kg/m2/day) decomposition fluxes of dissolved materials in NORM zone of GW-layer */ double dismatGWfertil[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) decomposition fluxes of dissolved materials in CAPIL zone of GW-layer */ double dismatUNSATecofunc[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) ecofunc fluxes of dissolved materials */ double dismatUNSATdecomp[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) decomposition (processes in multilayer_sminn) fluxes of dissolved materials in CAPIL zone of GW-layer */ double dismatUNSATfertil[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) decomposition fluxes of dissolved materials in CAPIL zone of GW-layer */ double dismatTOTALecofunc[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) ecofunc fluxes of dissolved materials */ double dismatTOTALdecomp[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) decomposition (processes in multilayer_sminn) fluxes of dissolved materials in CAPIL zone of GW-layer */ double dismatTOTALfertil[N_DISSOLVMATER][N_SOILLAYERS]; /* (kg/m2/day) decomposition fluxes of dissolved materials in CAPIL zone of GW-layer */ double FRZ_to_litrN[N_DISSOLVorgN][N_SOILLAYERS]; /* (kg/m2/day) decomposition fluxes of dissolved materials in CAPIL zone of GW-layer */ double FRZ_to_litrC[N_DISSOLVorgN][N_SOILLAYERS]; /* (kg/m2/day) decomposition fluxes of dissolved materials in CAPIL zone of GW-layer */ groundwater simulation uses this struct, but new rountine is also presented: int check_soilcontent(int layerFlag, int pool2content_flag, const soilprop_struct* sprop, cstate_struct* cs, nstate_struct* ns, soilInfo_struct* soilInfo); DEVELOPMENT: in CWD-extract - using estimated aboveground litter variables DEVELOPMENT: limitation of LAI in evaporation in ETlimit_and_PET.c if (projLAI < LAIlimit_potET) potETcanopy *= projLAI / LAIlimit_potET BUG FIXATION : in fertilizing.c - emission of N2Oflux DEVELOPMENT: development of flooding simulation - more sophisticated simulation method DEVELOPMENT: storage and transfer pools are affected by mowing, grazing and thinning, but in a much less extent: DEVELOPMENT: more sophisticated harvest simulation - independent transfer ratio regarding to leaf, stem, root DEVELOPMENT: new routine for control of VWC values - hydrol_control.c: BUG FIXATION: remove of calculation of the amount of water which can still fits into the soil in infiltANDpond.c DEVELOPMENT: deciding wether leap year of not new routine: leap_control.c: used by groundwater, flooding and management calculation DEVELOPMENT: litter turns into soil layers based ont the ratio defined by PROPlayerDC (SOI input data or soillayer_thickness[layer] / soillayer_depth[2] affected routines: aboveANDbelow.c, cutdown2litter.c, grazing.c, mortality.c, planting.c, senescence.c, state_updete.c DEVELOPMENT: mulching affects also aboveground litter estimation DEVELOPMENT: calculation of relVWCfc_wp and relVWCsat_fc and RZ-variables (soilw_RZ, critical VWC values in RZ) in multilayer_hydrolparams.c DEVELOPMENT: restructure of hydrological fluxes - in multilayer_hydrolprocesses.c DEVELOPMENT: restructure of leaching fluxes - in multilayer_leaching.c BUG FIXATION: in planting.c also retransN is affected by planting (before planting all plant material goes into STDB) re-calculation of maximum root layers and conductance limitation BUG FIXATION: in ploughing.c number of layer affected by plouging affect on aboveground litter DEVELOPMENT: precision control based on more precise method new routine: int precision_reset(int flagLITTER, int layer, cstate_struct* cs, nstate_struct* ns, double* cpool, double* npool, int* errorCode); DEVELOPMENT: new variable in radtrans.c: projLAI_STDB = STDBc_leaf * SLA_avg; DEVELOPMENT: -------------------------------- Changes from 7.0beta11 to 7.0beta12: -------------------------------- BUG FIXATION: calculation of critical PSI values (from critical VWC values) in conduct_limit_factors.c - used only for information in log file DEVELOPMENT: extension of log file with cumulative total ecosystem respiration data DEVELOPMENT: new ouput for easier examination of water fluxes and N-limitation waterFromAbove - Water flux from above (rain, snowmelt, irrigation) [247] m_NS - Averaged (regarding to rooting zone) soil N stress [2703] sminNavail - Available soil N content of soil layer 1-10 [3180-3189] sminNH4_to_nitrif_totalCUM [2042] DEVELOPMENT: instead of unsued minimum of the soil moisture limit2 parameter, a new EPC parameter is introduced to estimate the effect of full (regarding to all rootlayers) soil water stress (nday_fullWS in line101) calculation of fullWS mortality from nday_fullWS parameter (after which pool is decreased from 100% to 0.1%) in senescence.c DEVELOPMENT: calculation of fully stressed soil layer (both drought and anoxic) in soilstress_calculation.c in order to simulate the mortality effect of fully stressed rooting zone in senescence.c (mortality coefficient is calculated from newly introduced EPC parameter (nday_fullWS in line101) the basis of the concept: in a fully stressed root zone, vegetation can die out completely in two to three weeks (using only previously existing paramter this phenomenon could not be simulated) DEVELOPMENT: in only pontentially CF layers VWCfc is increasing gradually from VWCfc_base to saturation as the VWC of lower layer increases in groundwater groundwaterT_preproc.c (in this case: CFeff= -0.5) DEVELOPMENT: pond water can not accumulate in presence of snow (instead of pond water goes into snow) - new variable: pondw_to_snow in infiltANDpond.c DEVELOPMENT: there is no runoff in presence of snow (prcpANDrunoff.c) DEVELOPMENT: leap year control in groundwater data (no 31th of December in leap years, no 29th of February) - groundwater_init.c DEVELOPMENT: in case of -9999 in line of EPC file for drought and anoxic limitation value of VWC -> no soil water limitation BUG FIXATION: in maintanace respiration deficit calculation in state_update.c -------------------------------- Changes from 7.0beta10 to 7.0beta11: -------------------------------- BUG-FIXATION: zeroing of annual maximum variables in annual_rates.c in case of evergreen biomass was a mistake DEVELOPMENT: new output variables for easier examination of MR-deficit cumMRlimit - Cumulative flux of non-materialized MR due to lack of C in carbon pools [1119] cumMRdeficit_NSC - Cumulative flux of carbon flux from NSC pools to cpool to cover MR-deficit [1138] cumMRdeficit_SC - Cumulative flux of carbon flux from SC pools to cpool to cover MR-deficit [1157] DEVELOMENT: MR-deficit calculation method flag in INI file (and in state_update.c) - new name of the maintanance respiration calculation routine: MRdeficit_calculation method 0: original cpool-deficit method (from Biome-BGC v4.1.1 method 1.: organ-separated MR method 2.: woody-non-woody separated MR (previously used method) method 3.: non-separated MR BUG FIXATION: in woody-non-woody separated MR calculation BUG FIXATION: thinning has effect also on litterfall rates (thinning.c) BUG FIXATION: anoxic soilstress is full ABOVE limit2 in soilstress_calculation.c -------------------------------- Changes from 7.0beta9 to 7.0beta10 -------------------------------- BUG-FIXATION: small correction in soil cover simulation, temperature-equalizing effect DEVELOPMENT: new output variables for summarizing carbon pools livingSC - Living structural carbohydrate [3135] livingNSC - Living non-structural carbohydrate [3136] DEVELOPMENT: new output variables for analyzing moisture status of the soil relVWCsat_fc_maxRZ - Average value of relVWCsat_fc (maximum of rooting zone) [2680] relVWCfc_wp_maxRZ - Average value of relVWCfc_wp (maximum of rooting zone) [2681] BUG FIXATION: missing errorCode-handling in case of multilayer_sminn.c, richards.c, groundwaterT_preproc.c, output_handling.c, multilayer_rootdepth.c, leapControl.c DEVELOPMENT: clean up of errorCode writing errorCode of input file reading (EPC, SOI, MGM) refers to the line of the given file where the error is occurred (eg. errorCode of reading of EPC parameters begins with 209; 209001 refers to the reading problem of first EPC parameter.) line break writing after errorCode errorCode in main functions (spinup_bgc.c, transient_bgc.c, bgc.c) refers to the location of subroutines where error is occured (errorCode = 401-408 refers to problem in subroutines before annual/daily loop, errorCode = 501-549 refers to problem in subroutines in annual/daily loop in order of subroutines in main function -------------------------------- Changes from 7.0beta8 to 7.0beta9 -------------------------------- - DEVELOPMENT: output variables for litter CN ratio [2676-2679] - DEVELOPMENT: new output variables for summarizing N-mineralization and immobilization Gross mineralization flux [2213-2222] Actual immobilization flux [2223-2232] Potential immobilization flux [2233-2242] Summarized mineralization N flux from litter decomposition [2435-2444] Summarized mineralization N flux from soil decomposition [2445-2454] Summarized immobilization N flux from litter decomposition [2455-2464] Summarized immobilization N flux from soil decomposition [2465-2474] Summarized N input from environment [2475-2484] Total and cumulated variations of above mentioned output variables [2485-2497] -------------------------------- Changes from 7.0beta7 to 7.0beta8 -------------------------------- - BUG FXING: correction of pond water calculation in infiltANDpond.c - DEVELOPMENT: extension of log file with model estimated soil properties layer by layer (VWCsat, VWCfc, VWCwp, VWChw, PSIsat, PSIfc, PSIhw, soilB, bulkDensity, drainge coefficient, capillary fringe) - BUG FIXING: Previously dead stem and coarse woody biomass combustion proportion (DSCP and CWCP) were constant parameter in source code. From MuSo 7.0-b5 DSCP and CWCP can e set in EPC file, but model used the contstant values in source code. Now this bug has solved. - DEVELOPMENT: new output variables for summarizing soil and litter decomposition litrc_to_soilc_total [704] cwdc_to_litrc_total [710] itrn_to_soiln_total [2041] cwdn_to_litrn_total [2321] actIMMOBflux_total [2339] netMINERflux_total [2357] potIMMOBflux_total [2375] grossMINERflux_total [2391] litr1c_to_soil1c_total [968] -------------------------------- Changes from 7.0beta6 to 7.0beta7 -------------------------------- - DEVELOPMENT: extension of log file with aboveground litter and CWD-content - BUG FXING: correction of soil stress calculation function (error in ramp function calculation) - DEVELOPMENT: distinction of groundwater and capillary zone GWeff, CFeff variables shows groundwater zone and capillary zone - DEVELOPMENT: calculation of groundwater effect -------------------------------- Changes from 7.0beta5 to 7.0beta6 -------------------------------- - BUG FIXING: restart data contains also soil cover (aboveground litter and CWD) - DEVELOPMENT: rename of mulch.c into soilCover.c - DEVELOPMENT: new hydrological parameters relative soil water content (SAT-FCbase) [2614-2623] relative soil water content (FC-WP): [2624-2633] - DEVELOPMENT: implementation of control to remain balance in diffus_calc.c - limit of diffusion is the equalization of the difference in relative soil moisture - DEVELOPMENT: new process - flooding (similar to groundwater): User can set the first and the last days of flooding period (flooding_normal.txt, flooding_spinup.txt, flooding_trasient.txt), in which the water comes from above saturates the top soil layer and the pond water (if flooding height is greater than 0). new routine: flooding.c, flooding_init.c - DEVELOPMENT: new management type - CWD-extract: User can set the ratio of extract of aboveground coarse woody debris) new routines: CWDextract_init.c, CWDextract.c - DEVELOPMENT: new management type - mulching: User can set the amount and type of mulch which turns into the top litter or CWD layer) new routines: mulching_init.c, mulching.c - BUG FIXING: in case of groundwater, not only soil evaporation can be limited by evaporation limit, but also GWdischarge (pondANDrunoffD.c) -------------------------------- Changes from 7.0beta4 to 7.0beta5 -------------------------------- - DEVELOPMENT and BUG FIXING: separation of evapotranspiration limitation 1. potEVPandSUBLsurface limits soil water and pond water evaporation, plus snow water sublimation 2. potETcanopy limits canopy evaporation and transpiration 3. PET = potEVPandSUBLsurface + potETcanopy (ET must less than equal to PET) 4. ET_Elimit defines the maximum available energy - limits PET (ET_Elimit >= PET) change of subroutine's name: potEVPsurface_to_actEVPsurface.c (instead of potEVP_to_actEVP.c) cease of a subroutine: PriestleyTaylor.c new subroutine (merge of PriestleyTaylor.c and potEVP_calc): Elimit_and_PET.c new output variables: ET_Elimit[224] (instead of soilwTRPdemand_SUM - inactive variable) potEVPandSUBLsurface[212] - Potential evaporation (including sublimation) of surfac potETcanopy[243] - Potential evaporation and transpiration of canopy potEVPsurface[244] - Potential evaporation of surface - DEVELOPMENT: leap control (in leap years the last day is ignored istead of 29th February) in input data - DEVELOPMENT: new EPC parameters dead stem biomass combustion proportion - line 27 coarse woody biomass combustion proportion - line 28 - DEVELOPMENT: model error message in case of negative radiation data - BUG FIXING: aboveground litter and coarse woody debris into restart data structure (to avoid disuption between spinup and transient phase) - BUG FIXING: in canopy water calculation -------------------------------- Changes from 7.0beta3 to 7.0beta4 -------------------------------- - DEVELOPMENT: possibility of using varying fire mortality file (FM_spinup.txt, FM_transient.txt, FM_normal.txt) modification: the name of the varying whole plant mortality: WPM_spinup.txt, WPM_transient.txt, WPM_normal.txt - BUG FUXING: in drainage coefficient of tipping calculation -------------------------------- Changes from 7.0beta2 to 7.0beta3 -------------------------------- - DEVELOPMENT: new output variable for surface evaporation (sum of pond water and soil water evaporation) - surfaceEVP [239] - DEVELOPMENT: error message for 1-year simulation with truncated meteorological data in met_init.c minium simulation time: 1 year -------------------------------- Changes from 7.0beta1 to 7.0beta2 -------------------------------- - DEVELOPMENT: activating of Priestley-Taylor method for evapotranspiration calculation extra EPC-parameters (line 22): threshold temperature for PET-calculation using PT-method (-9999: no treshold data - only PM-method) - DEVELOPMENT: flag for the new optional intercepcion calculation in INI file line 60: (flag) interception calculation method (0: original - based on allLAI, 1: new - based on projLAI) - DEVELOPMENT: implementing of direct litter decomposition method extra SOI parameters (57-59): fraction of direct decomposition of labile/cellulose/lignin litter pool new output variables: litrc_to_release_total [1100], litrn_to_release_total[1770] - BUG FIXING: in drainage coefficient calculation in case of model estimation (tipping.c) - BUG FIXING: in CFD-calculation in groundwaterT_preproc.c - BUG FIXING: top soil layer must to be saturated if there is pond water (pondANDrunoffD.c, potEVP_to_actEVP.c) - BUG FIXING: canopy evaporation must be taken into account in the limitation calculation of potential evaporation (canopy_et.c, pondANDrunoffD.c) -------------------------------- Changes from 6.2 to 7.0beta1 -------------------------------- - BUG FIXING: in fertilization.c (water content of fertilizer goes into pond water) - DEVELOPMENT: implementation of groundwater calculation into Richards method - BUG FIXING: in flowering_heatstress.c (calculation of flowering heat stress) - DEVELOPMENT: after flowering heat stress, the carbon assimilation of the grain pool is limited (depending on the Closs due to flowering heat stress) changes in daily_allocation.c - MODIFICATION: resetting fruitC_HRV variable on the first day of the year (instead of the day of planting) - DEVELOPMENT: taking into account canopy water evaporation in calculation of potential evaporation (PET=evapPOT+transpPOT+cwe) - BUG FIXATION: potential transpiration can limit actual sum of transpiration (from version MuSo6.3) - DEVELOPMENT: in conditional irrigation, the number of the affected layer can be set by the User conditional irrigation is activated only if LAI>0.2 m2/m2 modified section of INI file: CONDITIONAL_MANAGEMENT_STRATEGIES 0 (flag) conditional mowing ? 0 - no, 1 - yes 0.0 (m2/m2) fixed value of the LAI before MOWING 0.0 (m2/m2) fixed value of the LAI after MOWING 0.0 (%) transported part of plant material after MOWING 0 (flag) conditional irrigation? 0 - no, 1 - based on SWCratio, 2 - based on SMSI) 4 (n) number of soil layers taking into account in cond. IRRIGATION (-9999: RZ) 0.6 (prop) starting point of cond. IRRIGATION (condIRGflag=1:SWCratio, condIRGflag=2:SMSI) 0.9 (prop) SWCratio of rootzone after cond. IRRIGATION 50 (kgH2O/m2) maximum amount of irrigated water - DEVELOPMENT: in senescence simulation three senescence mortality parameters are available in EPC file previous versions - aboveground, belowground, non-structured new versions - maximum of leaf senescence mortality coefficient, maximum of softstem/froot senescence mortality coefficient, multiplier for non-structured - BUG FIXATION: percolation of the bottom layer is zero if GW is available in soil column - DEVELOPMENT: testing option (if aerodyn. resistance== DATA_GAP -> no soil evaporation) - DEVELOPMENT: groundwater simulation capillary fringe can be estimated from PSIsat values modification of 2. groundwater calculation method percolation from capillary zone is limited - MODIFICATION: senescence is only occured (SMSI > 0): if leafC is greater than 0 - DEVELOPMENT: control to avoid oversaturated SWC pool in richards.c - DEVELOPMENT: adjustment of allocation parameters due to small error (<10-4) in the setting of allocation parameters (warning into logfile) - DEVELOPMENT: control of the groundwater data reading (to avoid memory allocation error) - DEVELOPMENT: new output variable (root index; 3127) - the ratio of live&dead root biomass to total live&dead biomass - DEVELOPMENT (only for expert users): in case of conditional managment a starting year can be set by the user - MODIFICATION: root index [3127] is calculated on the day of the harvest (similar to harvest index) new output variable: belowground ratio [3128] is the ratio of the root (woody: fine+coarse, non-woody: only fine root) and the total vegetation biomass on the given day - MODIFICATION: unit of leaching variables are kgN/m2 uniformly - BUG FIXATION: small corrections in Richards calculation - DEVELOPMENT: new output variables - layer-defined cumulated leached sminNH4 [2131-2140] and sminNO3 [2151-2160] - DEVELOPMENT: new output variables - cumulated C and N allocation [2587 and 2588] - MODIFICATION: cumulative SWC and N stress is resetted on the first day of year (instead of at the end of the vegetation period). Thanks to this it can be used as annual variable - BUG FIXING: in calculation of soil water stress using transpDemand method (soilstress_calculation.c) in layers where no root is available no root -> no transpiration -> no stress (instead of no root -> no transpiration -> full stress) - BUG FIXING: in calculation of available water (multilayer_transpiration - DEVELOPMENT: introduction of different groundwater calculation method for the soil hydrology calculations (Tipping and Richards) 3 new subroutines: groundwaterRICHARDS.c, groundwaterRICHARDSpostproc.c, groundwaterTIPPING.c in case of Tipping - "increasing FC values" groundwater method in case of Richards - "CF calculations" groundwater method for Richards: 12 soil layers in case of GW - normal layers, capillary zone and groundwater zone - DEVELOPMENT: thickness of capillary fringe is not an input data, but it is estimated by the model using PSIsat values of the different soil layers - DEVELOPMENT: calculation (and printing out) of net water flux (signed sum of percolation and diffusion) instead of percolation and diffusion separately (tipping.c, richards.c, output_map_init.c) - DEVELOPMENT: calculation (and printing out) of leaching (sminNH4, sminNO3, soilDOC and soilDON) based on net water flux instead of percolation and diffusion fluxes separately (multilayer_leaching.c, make_zero_flux_struct.c, output_map_init.c) - MODIFICATION: instead of soilw_from_GW - GWdischarge (groundwater_snk) - BUG FIXING: SWCstressLENGTH variable is not reinitialized on the first simulation year - MODIFICATION: cumulative water and N stress variable is resetted only on the first simulation year (in order to use as annual variable) - BUG FIXING: correction of N2O_Ceq calculation in summary.c (NGB calculation is affected also) - DEVELOPMENT: new output variable - cum_CH4 [3129] - BUG FIXING: correction of the logic of heat stress during anthesis - it causes mortality in flowering phenophase (not in the next one) - MODIFICATION: onday and offday output variables can be used as annual data (on last simulation day it contain the data referring to the actual year) - BUG FIXING: in initalization of soilwDiffus variable in case of SHCM_flag = 2 (tipping without diffusion - test version) - BUG FIXING: initialization of cumulative leaching variables on the first day of every simulation year - DEVELOPMENT: new routine (annVARinit.c) for initialization of annual/cumulative variables - DEVELOPMENT: new output variables for examinig cumulative N-immobilization and N-mineralization from different sources [2434-2443] - MODIFICATION: removal of the option of using the old version of the SOILf file (with extraSOIparameters.txt) - DEVELOPMENT: new SOI parameters: CN ratio of soil1, soi2, soil3 pool, estimation of total SOC-content to end spinup run - DEVELOPMENT: new input control in epc_init.c (SGS must be less than 365) - BUG FIXING: resetting of the onday/offday variables only at the end of the routine (phenphase.c) - BUG FIXING: in tipping.c - resetting soilw_diffus variables for all soil layers - DEVELOPMENT: new output variable - cum_nbp [3130] - BUG FIXING: correction of onday/offday output (annual variable) - BUG FIXING: correction remday_curgrowth and remday_transfer parameters - DEVELOPMENT: new SOIL parameters - decomposition limitation parameters (FP-WP ratio) to calculate rate constant scalar for soil water content - DEVELOPMENT: modified decomposition limitation parameters (FP-HW ratio) - BUG FIXING: corrected diffusion coefficient in Richards SWC calculation method - DEVELOPMENT: capillary fringe parameter can be set layer by layer (instead of line 76 -> line 98) - BUG FIXING: deleting an unnecessary semicolon in line 53 - DEVELOPMENT: logic of non-structured biomass simulation is modified. Non-stuctured biomass is part of the given plant part (e.q. leaf transfer pool is the part of the leaf, therefore in case of leaf mortality (senescence, management, etc), beside leaf actual pool, leaf transfer and storage pool decrease also. Due to this non-sturetured standing/cut-dow dead biomass pools and fluxes (STDBc_nsc, STDBn_nsc, CTDBc_nsc, CTDBn_nsc) ceased. - DEVELOPMENT: beside aboveground summary variables (live and dead aboveground biomass with/without non-stuctured biomass [3157-3168]), belowground summary variables (live and dead aboveground biomass with/without non-stuctured biomass [3145-3156]) are defined - DEVELOPMENT: Annual maximum of total living and living+dead aboveground/belowground biomass weight are defined [3141-3144]. - DEVELOPMENT: correction of the location of proprortion of NH4 flux of N-deposition parameter (instead of SITE block, NDEP_control block of INI file) - DEVELOPMENT: modification of tipping with more precise estimation of diffusuvity - BUG FIXING: in NGB calculations (Ceq) - BUG FIXING: in denitrification calculation- using SRlayer instead of SRtotal - DEVELOPMENT: mean annual air temperature and annual air temperature range is calculated based on input meteorological data instead of input parameter less parameter in SITE block of INI file new output variables: annTavgRA [77]: 10-year running average of mean annual air temperature annTrangeRA [78]: 10-year running average of mean annual air temperature range pa [79]: Atmospheric pressure - DEVELOPMENT: more structurated hydrological routines, new groundwater calculation method new output variables: GWmovchange [184-193] - Soil water change due to the movement of groundwater table in soil layer 1-10 GWmovchange [184-193] - Soil water change due to the movement of groundwater table in soil layer 1-10 2798] = &sprop->CFlayer; //%"Number of layer containing the upper layer REMOVED rountine: pondwANDrunoff.c NEW routines: diffusCalc.c - calculation of diffusion flux between two soil layers (used in tipping.c and groundwaterT_CFcharge.c) soilEVP_calc.c - calculate limitation of soil evaporation and update top soil water content infiltANDpond.c - calculation of pond water accumulation and potential infiltration pondANDrunoffD.c - state update of pond water, calculation of Dunnian runoff REMOVED/NEW routines: instead of groundwaterRICHARDS.c and groundwaterRICHARDSpostproc.c -> groundwaterR_preproc.c and groundwaterR_postproc.c instead of groundwaterTIPPING.c -> groundwaterT_preproc.c and groundwaterT_CFcharge.c instead of prcp_route.c -> prcpANDrunoffH.c instead of potential_evap.c -> potEVP_calc.c - DEVELOPMENT: irrigation routine - differentiation of above-canopy, below-canopy, and subsurface irrigation new column in irrigation file: the height of the irrigation (if positive - above the surface, if negative - below the surface) - DEVELOPMENT: fertilizing routine - water from fertilization goes into given soil layers fertilizing parameter), in case of oversaturation: pond water formation - DEVELOPMENT: new output variables for greenhouse gas balance analysis rootIndex [3127]: Ratio of fine root C content and vegetation C content on harvest day belowground_ratio [3128]: Ratio of root to vegetation C content cumCH4flux [3129]: Cumulative annual SUM of total CH4 flux cumNBP [3130]: Cumulative annual SUM of NBP N2OfluxCeq [3131]: Daily N2O flux in C eq cumN2OfluxCeq [3132]: Cumulative annual SUM N2O flux in C eq cumCflux_lateral [3133]: Cumulative lateral C flux livingBIOMabove, livingBIOMbelow, totalBIOMabove, totalBIOMbelow [3137-3140]: Living/total aboveground/belowground biomass annmax_livingBIOMabove, annmax_livingBIOMbelow, annmax_totalBIOMabove, annmax_totalBIOMbelow [3137-3140]: Annual maximum of living/total aboveground/belowground biomass LDbelowC_nw, LDbelowC_w, LDbelowCnsc_nw, LDbelowCnsc_w [3145-3148]: Living+dead belowground non-woody/woody biomass C content without/with non-structured carbohydrate LbelowC_nw, LbelowC_w, LbelowCnsc_nw, LbelowCnsc_w [3149-3152]: Living belowground non-woody/woody biomass C content without/with non-structured carbohydrate DbelowC_nw, DbelowC_w, DbelowCnsc_nw, DbelowCnsc_w [3145-3148]: Dead belowground non-woody/woody biomass C content without/with non-structured carbohydrate - DEVELOPMENT: new optional intercepcion calculation in prcpANDrunoff.c temporary solution: optional calculation method using inactive ETflag (in simulation control block of INI file) ETflag=0 - original calculation, ETflag=1 - new calculation