Recent Releases of Cycles
Cycles - 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.txt
input - π¦ Included two MacOS packages, for both Intel (intel64) and Silicon (arm64) chips
Consumption - Agriculture and Nutrition
Published by shiyuning 3 months ago

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.
Consumption - Agriculture and Nutrition
Published by shiyuning 8 months ago

Cycles - 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.
Consumption - Agriculture and Nutrition
Published by shiyuning about 1 year ago

Cycles - 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
Consumption - Agriculture and Nutrition
Published by shiyuning almost 2 years ago

Cycles - 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
.
Consumption - Agriculture and Nutrition
Published by shiyuning about 2 years ago

Cycles - 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.
Consumption - Agriculture and Nutrition
Published by shiyuning almost 3 years ago

Cycles - 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
Consumption - Agriculture and Nutrition
Published by shiyuning over 3 years ago

Cycles - 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
Consumption - Agriculture and Nutrition
Published by shiyuning about 4 years ago

Cycles - 0.12.7 alpha
WHAT'S NEW:
- π Fix N balance errors caused by negative solute fluxes
Consumption - Agriculture and Nutrition
Published by shiyuning about 4 years ago

Cycles - 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
Consumption - Agriculture and Nutrition
Published by shiyuning about 4 years ago

Cycles - 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
Consumption - Agriculture and Nutrition
Published by shiyuning over 4 years ago

Cycles - 0.12.4 alpha
WHAT'S NEW:
- ποΈ Update crop description file
- β‘ Improve hydraulic lift simulation
Consumption - Agriculture and Nutrition
Published by shiyuning almost 5 years ago

Cycles - 0.12.3 alpha
WHAT'S NEW:
- β¨ Constrain SOC and SON turnover by root mass
- π Fix a bug that auto irrigation was not correctly read into the model
- π Fix a bug in forage harvest calculation
- π Fix a bug in root fraction calculation
- β‘ Initialize SON and MBN using a C:N ratio of 9
- π Add optional SON values to soil input file
- β¨ π Add irrigation to season file
- ποΈ Update default crop description file
NOTE:
Update to this version requires changes in the soil input files. A column of SON is required, though -999
can be used to start the model using a default C:N ratio of 9. Please see the example soil file for more details.
Consumption - Agriculture and Nutrition
Published by shiyuning almost 5 years ago

Cycles - 0.12.2 alpha
WHAT'S NEW:
- β¨ Report kill stage in crop files
- β¨ Report N in harvest in annual N flux output file
- π¬ Improve screen output
- β‘ Improve water and N flow simulations
- π Fix N2O emmission calculation
- π Fix a bug that only the first simulation spins-up in multi-mode
- π Fix bugs related to harvest handling
- π Fix N stress and automatic nitrogen related bugs
- π Fix a couple of potential NAN bugs
- π Fix a bug that bypass fractions were not printed in the steady state soil files
Consumption - Agriculture and Nutrition
Published by shiyuning almost 5 years ago

Cycles - 0.12.1 alpha
WHAT'S NEW:
- βοΈ Fix a typo in output file header.
- β¨ #31 - Add a
KILL_AFTER_HARVEST
parameter to control harvest operations and allow fixed harvest without killing crops. - β¨ Remove
forage_harvest
andgrain_harvest
parameters in tillage operations. Instead, useforage_harvest
andgrain_harvest
astool
names to perform scheduled harvests. - β¨ Always kill crops after cold damage triggered harvest events.
- π¬ Improve screen output regarding scheduled harvest events.
- β¨ Add annual N2O flux to output.
- β¨ Add vertical and horizontal bypass flows (water and nitrogen).
- β¨ Report killing in daily crop files
- β¨ Add a Python script to compile multi-mode results.
- β¨ Add switch to control annual N flux output file.
- π Fix a bug that may cause over-saturation in soil moisture calculation.
- π Fix a bug that infiltration is always reported to be 0 when cascade redistribution is used.
- π¬ Give warnings when old format input files are used.
NOTE:
A Python script that compiles multi-mode simulation results is added to the util
directory. The code will find the overlapping time period from all simulations in the multi-mode run, extract the same variable across different simulations, and put them in the same file. To use the script, the multi-mode control file and desired variable needs to be specified. In the Cycles directory, run
python3 ./util/multi_analy.py <multi-mode control file> <output file> <column in output file>
For example, to compare profile NO3, which is the third column in the N.dat
output file, between the CornSoyWheatPasture
and ContinuousCorn
simulations in the multi.txt
control file, do
python3 ./util/multi_analy.py multi.txt N.dat 3
The compiled output file will be created in the Cycles directory with the name multi-XXX.dat
, where XXX
is the chosen output file name. In the above case, this file will be named multi-N.dat
.
Update to this version requires changes in the a number of input files.
- Simulation control file:
TheSEASON_OUT
keyword is replaced byANNUAL_NFLUX_OUT
as the switch to control annual N flux output file. Season output is always printed. - Crop description file:
AKILL_AFTER_HARVEST
parameter is added for each crop afterHARVEST_TIMING
to determine whether the crop needs to be killed after harvest. Usually this parameter is set to1
for annual crops, and0
for perennial crops. - Management operations file:
TheGRAIN_HARVEST
andFORAGE_HARVEST
parameters in tillage operations are removed. Now to schedule a grain/forage harvest, a tillage operation withGRAIN_HARVEST
/FORAGE_HARVEST
asTOOL
should be used. When crop name isALL
orN/A
, the scheduled grain/forage harvest operation will target all annual/perennial crops. Note that scheduled harvest operations do not kill crops. To kill crops after harvests, a tillage operation withKILL_CROP
asTOOL
is needed after the scheduled harvest. - Soil file:
Two new columns,BYP_H
andBYP_V
are added to soil files for each soil layer. They represent the ratio of horizontal and vertical bypass flows to total inter layer outflow at each layer. The sum ofBYP_H
andBYP_V
should be smaller than 1. They can be set to0
if bypass flow does not need to be simulated.
Some output files also have format changes to report added bypass water and nitrogen flows.
Consumption - Agriculture and Nutrition
Published by shiyuning about 5 years ago

Cycles - 0.11.1 alpha
WHAT'S NEW:
- β¨ Improve soil over-saturation handling
- π Fix a bug that conditional planting is performed repeatedly in some cases
- π Fix a bug that in multi-mode simulations, only the first simulation spins-up
Consumption - Agriculture and Nutrition
Published by shiyuning about 5 years ago

Cycles - 0.11.0 alpha
WHAT'S NEW:
- π Fix a bug that soil moisture could exceed soil porosity
- β¨ Turn on acceleration of microbial turnover
- π Add column of planting date in season output files
- π Add a soil nitrogen source/sink output file
- π Fix NAN errors when using some input files
- π Fix linking between planting and auto irrigation
- π #30 - Kill crops after each spin-up cycle
- π Fix a bug that season files are not written in multi-mode spin-up
- π Improve Windows compatibility
Consumption - Agriculture and Nutrition
Published by shiyuning about 5 years ago

Cycles - 0.10.1 alpha
WHAT'S NEW:
- β‘ Name steady state soil files after simulations to avoid being overwritten from other simulations using the same soil file.
- β¨ Allow no harvest option for crops. If the parameter
CLIPPING_START
is set to -999 in planting operations, harvest will be disabled for the corresponding crop. - β¨ Add conditional planting with high soil moisture constraint. Allow users to use keywords
FC
andPWP
as maximum and minimum soil moisture constraints on conditional planting - π Fix a nitrogen balance error
NOTE:
Update to this version requires changes in the operation input files.
For planting operations, the following line need to be added after the line of END_DOY
:
MAX_SMCΒ Β Β Β Β Β Β Β Β Β Β Β Β -999
MAX_SMC
is the maximum volumetric soil moisture (m3 m-3) allowed for planting. Using -999
disables maximum soil moisture constraints. Users can use the keyword FC
for the MAX_SMC
value, which represents field capacity. Similarly, users can use the keyword PWP
for the MIN_SMC
value, which represents permanent wilting point.
Consumption - Agriculture and Nutrition
Published by shiyuning over 5 years ago

Cycles - 0.9.3 alpha
WHAT'S NEW:
- π Fix unexpected harvest reports
- π Fix repeated planting when conditional planting is activated and when there is only one planting per rotation
Consumption - Agriculture and Nutrition
Published by shiyuning almost 6 years ago

Cycles - 0.9.2 alpha
WHAT'S NEW:
π Fix season and annual output
Consumption - Agriculture and Nutrition
Published by shiyuning almost 6 years ago

Cycles - 0.9.0 alpha
WHAT'S NEW:
- β¨ Allow negative water uptake as hydraulic lifting
- β¨ Add aeration factor on crop growth
- β¨ Add conditional planting depending on soil moisture and soil temperature
- β¨ Add spin-up capability
- β¨ π Use new re-initialization file format
- β¨ Add "baseline" mode that can spin-up and generate re-initialization input
- β¨ Add script to run a "baseline" simulation followed by batch simulations using re-initialization from the baseline
- π Avoid NAN in C:N ratio output
- π Fix bug that rhizo C input was not initialized each year
- π Fix bug to avoid segmentation fault when daily crop output is turned off
NOTE:
The baseline script only works in Unix for now.
Update to this version requires changes in the operation input files.
For planting operations, the following three lines need to be added after the line of DOY
:
END_DOYΒ Β Β Β Β Β Β Β Β Β Β Β Β -999
MIN_SMCΒ Β Β Β Β Β Β Β Β Β Β Β Β Β 0.0
MIN_SOIL_TEMPΒ Β Β 0.0
END_DOY
is the last to complete the conditional planting; a value of -999
will disable conditional planting; MIN_SMC
is the minimum volumetric soil moisture (m3 m-3) required for planting; and MIN_SOIL_TEMP
is the minimum soil temperature (degree C) required for planting.
Consumption - Agriculture and Nutrition
Published by shiyuning almost 6 years ago

Cycles - 0.8.0 alpha
WHAT'S NEW:
- π Fix bug that adsorption was not calculated correctly
- π Fix bug to avoid "nan" nitrogen uptake
- π Fix bug to avoid negative water uptake
- π Fix bug to avoid negative water stress factor
- π Fix bug that irrigation was not calculated correctly
- π Fix bug that the number of active crops was not calculated correctly which causes
FALLOW
output instead ofNO_CROP
- π Fix the output units of residue and crop files
- βοΈ Fix a typo in .crop input files
- β¨ Add infiltration reinitialization option for DARPA project
- β¨ Add reinitialization option to multimode simulations
- β¨ Program now prints line number when input format error occurs
Consumption - Agriculture and Nutrition
Published by shiyuning over 6 years ago

Cycles - 0.7.1 alpha
WHAT'S NEW:
β¨ Add more reinitialization options
Consumption - Agriculture and Nutrition
Published by shiyuning about 7 years ago

Cycles - 0.7.0 alpha
WHAT'S NEW:
β¨ Add option to reinitialize model variables with observations
Consumption - Agriculture and Nutrition
Published by shiyuning about 7 years ago

Cycles - 0.6.0 alpha
WHAT'S NEW:
- β¨ Add brown leaf representation
- β¨ Add the capability to run Cycles in Multi-mode
- π Fix a bug that auto fertilization was not correctly applied before
- π Fix some initialization issues
- π Now compatible with MS Visual Studio
Consumption - Agriculture and Nutrition
Published by shiyuning over 7 years ago

Cycles - 0.5.0 alpha
π
Consumption - Agriculture and Nutrition
Published by shiyuning about 8 years ago
