Releases: PSUmodeling/Cycles
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.txt
was 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 theAllocation
blocks 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
-g
command 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_YEAR
andSIMULATION_END_YEAR
parameters are nowSIMULATION_START_DATE
andSIMULATION_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_LEVEL
parameter 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.txt
input file in theinput
directory. -
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
-f
to-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_INDEX
should be changed toHARVEST_INDEX_SLOPE_MULTIPLIER
, with a default value of 1.0 - Management operations file:
For planting operations, the parameterFRACTION
should 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.txt
andtill.txt
in theinput
directory).
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_TEMP
parameter (degree C) is added as the maximum soil temperature allowed for conditional planting.
For fertilization operations, theLAYER
parameter is now replaced by theDEPTH
parameter (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
0.12.7 alpha
WHAT'S NEW:
- 🐛 Fix N balance errors caused by negative solute fluxes
0.12.6 alpha
WHAT'S NEW:
- ✨ Allow using weather files without leap years
- ✨ Use 7-day moving average soil temperature for conditional planting constraints. Previously only the current day soil temperature was taken into account.
- ✨ In the operation files, use fractions between PWP and FC for conditional planting constraints. Previously absolute soil water content values were used.
- 🐛 Fix some potential NAN errors in soil moisture and soil carbon/nitrogen processes.
- ⚡ Improve Python scripts
- 💄 Rename
weather.dat
output file toenviron.dat
, and add soil temperature and vapor pressure deficit to theenviron.dat
output file. - 💬 Print simulation name when reporting errors in multi-mode simulations
0.12.5 alpha
WHAT'S NEW:
- ✨ Allow scheduled harvest/kill operations to override
-999
clip start date - 🐛 Skip transpiration calculation when radiation interception is 0
- ⚡ Improve model stability under dry conditions
- 💬 Improve error reporting
- 🗃️ Fix crop parameters in crop description file