Releases: PSUmodeling/Cycles
1.5.1
WHAT'S NEW:
✨ ⚗️ Added an experimental feature that uses the CVode ordinary differential equation solver to simulate sub-daily soil moisture and nitrogen transport
✨ Improved the simulation of N2O emissions from denitrification
✨ Added a new phenology algorithm that accounts for vernalization
✨ The model now reports errors when operation day of year is out of range (less than 1 or greater than 366)
🐛 Fixed transpiration output and soil evaporation calculations on harvest days
💄 Changed output file format to csv
💄 Added O2 and temperature factors for crop growth, and vernalization outputs to crop files
🔨 Added an example Jupyter notebook for running batch simulations and post-processing using the Cycles-utils Python package
NOTE:
Updating to this version requires changes in the crop description file.
Twelve new parameters were introduced to enable the new phenology algorithm. These parameters are PHOTOPERIOD_MIN, PHOTOPERIOD_MAX, THERMAL_TIME_VERNALIZATION, THERMAL_TIME_FLOWERING_AT_PMAX, THERMAL_TIME_GRAIN_FILLING, VERNALIZATION_TEMPERATURE_THRESHOLD_LOWER, VERNALIZATION_TEMPERATURE_THRESHOLD_OPTIMAL, VERNALIZATION_TEMPERATURE_THRESHOLD_UPPER, TEMPERATURE_POST_FLOWERING_LOWER, TEMPERATURE_POST_FLOWERING_OPTIMAL, TEMPERATURE_POST_FLOWERING_UPPER, DEVERNALIZATION_TEMPERATURE. Those parameters are added to the end of the Phenology block in crop description files.
1.4.4
1.4.3
WHAT'S NEW:
- ✨ Used a five-point averaging for thermal time calculation to improve model thermal time calculation under extreme conditions
- 🐛 Fixed water balance errors caused by changing soil thicknesses
- 🗃️ Added 2024 global CO2 concentration to
co2.txtinput - 📦 Included two MacOS packages, for both Intel (intel64) and Silicon (arm64) chips
1.4.1
WHAT'S NEW:
- ✨ Added correction terms to pedotransfer functions to ensure calculated hydraulic properties match user input
- ✨ #74 - Added dynamic soil thicknesses due to the change of organic matter and texture
- ✨ Added a new nitrogen harvest index algorithm. As a result, five new parameters were introduced to crop description files
- ✨ The model now reports errors when model start date is later than end date
- ✨ The model now uses the average of max, min, and mean daily temperature for thermal time calculation to improve performance in high temperature
- 💄 #84 -
season.txtwas renamed toharvest.txt - 💄 Changed soil organic matter input to soil organic carbon in soil description files
- 🐛 Fixed bug that the weather file range error was not reported correctly
- 🐛 Fixed a bug that CO2 file could not be read correctly when a path was specified
NOTE:
Update to this version requires changes in soil and crop description files.
-
Soil description file:
TheOM, i.e., organic matter parameter has been changed toSOC, i.e., soil organic carbon. To use previously prepared soil description files with the new version, a factor of 0.58 should be used to convert soil organic matter to soil organic carbon. -
Crop description file:
Five new parameters were introduced to enable the new nitrogen harvest index algorithm.
These parameters areN_MAX_CONCENTRATION_GRAIN,N_MIN_CONCENTRATION_GRAIN,N_MAX_CONCENTRATION_STRAW,N_MIN_CONCENTRATION_STRAW, andN_PARTITIONING_FACTOR.
They are maximum allowable grain N concentration (%), minimum allowable grain N concentration (%), maximum allowable straw N concentration at harvest (%), minimum allowable straw N concentration at harvest (%), and empirical constant in N partitioning (and applied to winter wheat), respectively.
Those parameters were added to the end of theAllocationblocks in crop description files.
1.3.0
WHAT'S NEW:
- ✨ Added effect of CO2 on crop growth, and an annual CO2 concentration input file
- ✨ Let severe cold damage kill annual crops before maturity
- ✨ Allowed planting windows to cross years
- ✨ Avoided physically implausible bulk densities from PTF
- ✨ Updated soil hydraulic properties after spin-up to reflect the impact of steady-state soil organic carbon.
- ✨ Added a new grain growth model that can be turned on using the
-gcommand line option - ⚡ Improved error handling
- 💄 Updated control file and multi-mode file formats
- 🐛 Fixed NaN errors caused by residue evaporation calculation when either standing residue or flat residue becomes 0
- 🐛 Fixed a bug that 0 shoot biomass at harvest causes harvest index to be
nan.
NOTE:
Update to this version requires changes in control and multi-mode files.
-
Simulation control file:
SIMULATION_START_YEARandSIMULATION_END_YEARparameters are nowSIMULATION_START_DATEandSIMULATION_END_DATE, and the input format should beYYYY-MM-DD.The "input files" block has been moved to up, right below the "simulation years" block.
A
CO2_LEVELparameter is required in the "simulation options" block, which should be the atmospheric CO2 concentration in ppm.
This parameters is by default-999, which uses theco2.txtinput file in theinputdirectory. -
Multi-mode file:
A 'CO2_LEVEL` parameter is required in the multi-mode file.
1.2.1
WHAT'S NEW:
- ✨ Allow users to customize output extensions using command line option
-e - ✨ Add more parameters to calibration files
- ✨ Add a "burn residue" operation
- ✨ Update soil hydraulic properties after spin-up to reflect the impact of steady-state soil organic carbon.
- 💄 Rename calibration files to
*.nudge - 💄 Update ASCII art
- 💄 Rename command line option
-fto-p - 🐛 Fix a bug in rotation builder that crops were not planted correctly after building the yield matrix
- 🐛 Fix a bug that could cause negative microbial C or N pools
1.1.0
WHAT'S NEW:
- ✨ Fill in missing curve number and slope in soil input
- ✨ Update harvest index calculation algorithm
- ✨ Add calibration functionality
- 💄 Fix operation input file parameter name
- 💄 Fix crop input file parameter name
- 🐛 Avoid unreasonable thermal time and N stress
NOTE:
Update to this version requires changes in crop description and management operations files.
- Crop description file:
The parameterHARVEST_INDEXshould be changed toHARVEST_INDEX_SLOPE_MULTIPLIER, with a default value of 1.0 - Management operations file:
For planting operations, the parameterFRACTIONshould be changed toDENSITY.
1.0.0
WHAT'S NEW:
- ✨ #68 - When organic nitrogen is present in the fertilizer, organic carbon will be added if not already existed.
- ✨ 💄 #72 - Specify depth of fertilizer application instead of soil layer in operation files.
- ✨ 💄 #75 - Add maximum soil temperature constraint for conditional planting.
- ✨ Fill nitrate and ammonium values in soil files if they are specified as
-999. - ✨ Check input soil parameters to make sure they are in their physically plausible ranges.
- ✨ Limit the number of spin-up cycles to 100.
- 🐛 Fix unreported nitrogen in harvest.
- 🐛 Fix nitrogen balance errors caused by incorrect nitrogen uptake calculation.
- ⚡ Improve computational efficiency for conditional planting
- 💄 Use new crop file format.
- 💄 Fix some minor format problems in output files.
- 💄 Extensions of all output files have been changed to
.txt. - 🗃️ Add databases for fertilizer and tillage (
fert.txtandtill.txtin theinputdirectory).
NOTE:
Update to this version requires changes in crop description and management operations files.
- Crop description file:
The parameters in the crop description files are now categorized by their functionalities. A Jupyter notebook is provided to help convert the format of crop description files. - Management operations file:
For planting operations, aMAX_SOIL_TEMPparameter (degree C) is added as the maximum soil temperature allowed for conditional planting.
For fertilization operations, theLAYERparameter is now replaced by theDEPTHparameter (meter), to specify the depth of fertilizer application.
0.13.0 alpha
WHAT'S NEW:
- ✨ Allow running control file in a subfolder inside the input directory
- 🐛 Fix a bug that re-initialization file is not read in in spin-up mode
- 🐛 Add missing values for forage harvest to season output file
- 🐛 Fix a bug in residue calculation during grain harvest
- 💄 Fix annual SOM output alignment
- ✨ Improve rotation management in dynamic rotation builder
0.12.9 alpha
WHAT'S NEW:
- ✨ Schedule harvests with multiple tillage tool names, e.g.,
Grain_Harvest,GrainHarvest,Harvest_Grain, andHarvestGrain. The same applies to forage harvests. - 🐛 Fix a bug that reference ET and precipitation were not printed in
environ.dat - 🐛 Fix bypass water transport bug in cascade mode
- 🐛 Improve compatibility with text files of different formats