Century Version 5 Release Notes
DayCent5 Version: 5.4.8.0 - August 2006
Fixes and Maintenance
-
Modifications to soil hydrology model which provide a better
balance of the water budget. Evaporation is now a closer match
to the algorithms in Hillel (1977).
Version: 5.4.7.11 - July 2006
Fixes and Maintenance
-
DayCent5: Modified TDCSoilFlows::FlowNPSintoMineralSoil and FlowNPSfromMineralSoil
so check for minimum flow amount. If smaller, return w/out doing the
flow. Minimum is currently set to 1.0e-3 g m-2. This produced a speedup
of about 2X for g++ build (optimized with -O1 and inline functions) and
about 50% for BCB6 builds (optimized with inline functions and auto register
variables) simulating c3 grass for 2000 years.
-
Fix for differences in results from BCB6 vs g++ 3.4 builds of daycent5.
Problem was in TDayCentSoil/h2oflux.cpp (TDayCentSoil::SoilWaterFlux) where
amtTrans was copied to amtTransDbl. BDB6 w/CARRAY correctly performed the
implicit conversion of float -> double for each element in the arrays.
g++ did not cast correctly for either BLITZ or CARRAY builds – had
to add an explicit cast using the macro CAST_ARRAY_1D.
-
DayCent5: Add a check in the transpiration calculation which correctly checks
that the transpired amount does not exceed available water.
-
Updated comparisons of Century4, Century5, and DayCent5 for the c3grs site.
See Ecosystem/Century5/doc for graphs in PDF format.
Enhancements
-
R scripts are available to display simulation results
using the R package ( http://www.r-project.org ).
See the source code directory Ecosystem/Century5/scripts.
Version: 5.4.7.10 - May 2006
Enhancements
-
Rewrite of import function for Century4 site parameter files ("site.100"
files). Now, parameter groups can be in any order. Within a parameter group
(e.g., Climate) parameters can be in any order, and import continues if
a parameter is missing.
Fixes and Maintenance
-
Refactoring necessary for building successfully with g++ 4.x.
-
Code reorganization and refactoring of several base class' for greater conformance
to standard C++, and organizational consistancy.
Version: 5.4.7.9 - December 2005
Enhancements
-
Optimization of the read and management of the parameter databases.
Classes refactored for clarity, speed.
The source was moved from the Century support directories to the
Management source directory.
Fixes and Maintenance
-
Fixed loop issue where tree removal parameters retrieved the RETF values.
The loop index order was incorrect.
Version: 5.4.7 - November 2005
Enhancements
Monthy Century5 and DayCent5
-
A new command-line parameter
-pp path specifies a
directory in which to search for parameter files (e.g., crop.100).
This path is searched before the default Century path (e.g., install_dir/bin/parameters/Monthly).
See Running Century and CMI with Command-Line Options for details on command-line
options.
-
A site file can now be created at the end of a simulation, based upon the
state of the simulated system at that point. A new command-line option
-sf file_name specifies
the site file name. New classes SiteCreatorBase, CenturySiteCreatorBase,
MCSiteCreator, and DCSiteCreator implement this feature.
See
Running Century and CMI with Command-Line Options
for details on command-line options.
-
New page in the reference: Running a Century Simulation to Equilibrium
- The algorithm for nutrient limitation uses only the fine root and leaves of trees
for determining the upper limit on the (N,P,S):C ratio.
-
In restriction of production algorithms, the C-to-biomass conversion factor
constant was 2.5 for all parts. Now it is 2.0 for tree parts other than fine
root and leaves.
-
Adjusted the timing classes so monthly Century agrees with DayCent in the floating-point
time for output. In floating-point time, January 2000 = 2000.083; December
= 2001.0.
-
Weather data files and site parameter files (Century4 text-format) can now have
comments - lines that start with the characters:
; ! # // (double-slash).
-
Site parameter definitions NetCDF file now stores the parameter set titles.
-
Site parameter validation is enhanced. Validation and fill of "missing values"
now occurs when the configuration object is built, rather than in the Century
model. Messages of actions are written to the user's output,
or if CMI is in use, to the message window.
A description
of the actions taken by the validator objects is described in the new page
Site Parameters Validation.
Century Model Interface
-
Includes a major refactoring of the Site Parameters editor
(a long time in the works, and a long time needed).
Now it can edit both monthly and daily site parameter sets.
Utilities
-
New utility: DailyWthr2MonthlyWthr - Creates a monthly weather data set from
a daily weather data set.
-
New utility:
DailyWthr2SiteParams - Creates a site weather parameter set from a daily weather
set. This can be pasted into a site parameter set (e.g., site.100 file).
Fixes and Maintenance
-
Transpiration is restricted to rooting depth layers. For crop/grass systems,
this is the current value of NLAYPG. For tree/savanna systems, this is the
depth of the soil profile.
-
Century5: Evaporation is restricted to the simulation depth (nominally 20 cm).
(DayCent5 has a flux-based algorithm that operates across the entire soil profile.)
-
Century soil classes: Minor optimization of a few functions to prevent excessive
memory allocations.
-
Parameter database files: Added detailed error messages for problems reading
the parameter database files (e.g., crop.100).
-
Calculations involving the layered soil and soil profile organic C distribution
have better error messages and more robust recovery from errors and poor soil
parameterization.
-
The class for handling the parameter databases (e.g., crop.100) now has full
error handling and recovery.
-
Century Model Interface: Misc. modifications as needed to implement the same
new and modified features as described above for Century5 and DayCent5.
Version: 5.4.6 - February 2005
Fixes and Maintenance
Monthly Century and Century Base Classes
- Fixed issues with the -f and -fm command-line arguments.
- Added additional diagnostic messages when site parameter-related errors are generated.
Version: 5.4.5 - November 2004
Fixes and Maintenance
Monthly Century and Century Base Classes
-
Harvest volatization of N: Previously, the cumulative amount for the month of
volatized N was being removed from the aboveground biomass. Now, just the amount
volatized for that harvest event is removed from the biomass.
-
Water submodel: Fixed an imbalance which occurred at low PET; a minimum PET value
is then used for transpiration calculations, but was not saved for use elsewhere,
where the ~zero PET value was used. This directly affects the calculation of
CGRAIN, where with the zero value, small negative values of CGRAIN were calculated.
-
Snow submodel: Liquid remaining in the snow (SNLQ) when the snow melted was not
always transferred to the water entering the soil profile. Now it is.
-
Available water for plants was affected by limitations in the soil layer homogenization
algorithm. This algorithm is triggered by cultivation, when a depth of homogenization
of the surface soil is estimated from the intensity of cultivation. Previously,
when the depth would cause a soil layer to be divided into two layers, the thickness
of the divisions was not a restriction. Very thin layers caused havoc with the
water submodel. Now, the minimum thickness of a layer division is 0.5 cm.
-
Potential production: The effect of soil water content on potential production
suffered from the problems described above. Now it works well using the depth
of roots (NLAYPG) for the amount of soil water. The water amount is now calculated
using the plant-available water content over that depth, rather than the total
water.
-
The depth of roots, NLAYPG, can vary depending upon changes in the number of
layers. The rooting depth is stored internally, and is used to recalculate NLAYPG
as needed.
-
Added various minor fixes related to floating point comparisons in assertions
(internal checks on the reasonableness of values).
Version: 5.4.4 - August 2004
Enhancements
CMI Site Editor
- Added a button to "Clear Set". This sets all parameters in the
currently displayed parameter set to zero.
- Added a checkbox for "read-only" status. When checked, the
parameter values cannot be modified.
- Minor modifications to the layout of the dialog.
- More robust handling of new and empty site sets.
CMI Management Editor
- Minor modifications to the layout of the dialog.
Simulation Output File Dialog
- A new output configuration dialog replaces the multiple simple dialogs
previously used to configure the output file base name and file type.
Century Command Line
- Added options
-f and -fm to specify
the location and name of the fix.100 file to use for the simulation. For more
details, see Running Century and CMI with
Command-Line Options.
Classes and functions affected:TCenturyCmdLine, TCenturyConfigBase,
TCenturyConfig, TDailyCenturyConfig, TEventDBList, TEventOptionSet
- Updated HTML documentation describing the command-line options.
Fixes and Maintenance
Monthly Century
- Fixed read of weather files bug, in which weather file was
"stuck" at the first record. (Due to a temporary debugging change to
the code, which mistakenly was not removed.)
CMI Site Editor
- Fixed memory-corrupting attempt to display unusually large parameter
values.
- Fixed initializion of parameter values when "New" button is
pressed. Improper initialization was causing crashes or exceptions.
- Misc. minor code cleanup and performance enhancements.
Layered Soil Framework
- Fixed improper initialization of default soil properties in soil layered
component classes, causing unwanted zeroing of by-layer values.
- Some speed optimization of calculations over depth ranges.
Version: 5.4.3 - October 2003
Enhancements
CMI
- Now built with V GUI library version 1.90a.
- A tabbed-window toolbar is displayed under the menu bar, to provide
convenient window access.
- Management Editor: Define Blocks: Choose Event Additional Data button:
The radiobutton dialog now pre-selects the radiobutton matching the current
value of the Additional data field.
- Management Editor: Simulation Information: Initial System:
The "Select" buttons for crop/grass and tree display a list of
available crop, grass, and tree types from which to choose the initial system.
- Added a popup menu accessable with a right-mouse button click on one of the
windows in CMI. The menu has "Copy", "Change Font" and
"Exit" selections.
Fixes and Maintenance
Command-Line Arguments
- New base class manages arguments as a series of options (1 to N arguments
each) rather than as a simple array of strings.
- Century's command-line class is rewritten to use the new base class.
- Functions accessing command-line arguments were modified to use the new
classes.
Misc.
- Fixed potential memory leaks in the site parameters class, and the V GUI
library.
Version:
5.4.3 - September 2003
Misc. Modifications
User Preferences:
- Opening and reading a "user preferences" INI file now works
correctly.
CMI
- Compiler flags are used during the project build to force correct use of
Microsoft Windows 98/ME common dialog boxes when built with Borland C++ Builder
6. The flags, specified when building the V GUI library, are:
WINVER=0x0400
_WIN32_WINNT=0x0400
- Improved error handling when reading and importing site and management.
Installation program
- System requirements modified to accept a minimal Microsoft Windows 98
operating system and hardware.
- Installation and executables were tested on the following Microsoft Windows
systems:
- 98 SE
- 2000
- XP Professional
Century Classes
- Repeated simulation runs of the same configuration now are re-initialized
correctly.
Version:
5.4.2 - September 2003
General Comments
Version 5.4 contains a tremendous number of structural changes to
the Century source code. Our task of combining the monthly and daily models
into a stronger object-oriented design is largely complete. The Century source
code is now part of the source code structure for the
new IRC
model using the Grid-Cohort Framework.
Significant new features since the last release include
- layered soil mineral N, P, and S,
- better error handling throughout,
- more robust importation of Century4 site and management files,
- update reference document.
The source code builds and runs in both the latest Borland and GNU
C++ compilers, and so should run in any environment and operating system for
which those compilers are available. We routinely test in the following
compiler/systems: Borland C++ Builder/Microsoft Windows; GNU g++/Cygwin; GNU
g++/Linux.
New or Enhanced Algorithms
- Completed implementation of complete TCenturyBase. Most common elements of
monthly and daily Century (classes TCentury and TDayCent) have been moved into
class TCenturyBase.
- Importation of Century4 schedule files: Error checking has been greatly
enhanced. Detailed messages provide location information for import problems.
- The site parameter classes have undergone a major refactoring, providing
better encapulation, division of tasks, and future extensibility.
Fixes and Maintenance
Class TCentury
- The relative water contents supplied in the site file were overwritten at
the start of a simulation by the calculation using the wilting point and field
capacity for each layer. This is fixed so the RWCF(*) are not calculcated at
the start unless all values are zero.
- Has a large number of fixes, and issues found during code reorganization.
Physical Soil-related Classes
- Corrected storage of deep soil water storage, so it isn't overwritten, and
is placed in output variable ASMOS(10) per the Century reference manual.
CMI
- Upgraded to use the modified class interfaces for site and management.
- Several misc. bugs have been fixed.
Miscellaneous
- The user preferences class, TUserPref, now adds the extension
"ini" to a user preferences file name, if no extension is provided.
Fixed a memory leak, where a list of strings was not deleted.
- Installation of the Century model's files puts the template and parameter
files into the install path, in the subdirectories
template and
parameters, respectively. These two subdirectories are now further
subdivided into Monthly and Daily subdirectories, in
order to accomodate the different sets of files required for the monthly and
daily versions of Century.
Version: 5.4.0 - July 2002
New or Enhanced Algorithms
Miscellaneous
- New new command-line option, "-t0", to turn OFF writing output
files.
Class TCentury
- At end of each simulation year, the bulk densities and thicknesses of the
soil layers encompassed by the simulation depth are recalculated according to
the change in the annual mean value of monthly SOMSC. See the section
Layered Soil Submodel for
details.
- The mineral nutrient storage (N, P, S), previously stored in fixed layers
(an unmodified relict from Century 4) are now layered components of the
physical soil structure. Transfers between the simulation layer pools and these
soil mineral nutrient pools account for the layers spanning the simulation
depth, rather than surface layer only.
Physical Soil-related Classes
- Conversion functions for different units of SOM and SOC are provided in
TSoilBase. Classes TCenturySoil, TSoilCDistribution, TDeposition, and TErosion
now use these new functions.
- Functions for estimating the change in bulk density as the soil organic C
content changes are provided in class TSoilBase.
Fixes and Maintenance
Class TCentury
- Output for ASMOS(*) and
MINERL(*, *) now properly put the
deep store values in the 10th element, i.e., ASMOS(10) and MINERL(10, *).
- Now checks for a soil thickness (from the site parameters) that is less
than the minimum thickness for the simulation layer (20 cm).
- Checks for a soil thickness that is equal to the simulation layer
thickness. In this case, the lower soil pools are not used, and the algorithms
which require more soil are not used - C distribution in the profile, and
erosion.
- Phosphorus is now correctly transferred between the mineral, secondary,
and parent P. See the section Phosphorus
Submodel for details.
- Forest C output variable, TCREM, is now an annual accumulator, rather than
cumulative over the simulation.
Century Model Interface
- Site Editor: Fixed several issues involved in accessing site parameter
files and replacing the displayed site parameter file.
Miscellaneous
- TLowerSoil, TCenturySoil, TSoilBase: Misc. fixes for minor issues found in
portability testing.
Version: 5.3.2 - November 2001
New or Enhanced Algorithms
Command Line Options
- New command line option "
-i filename ",
where filename is the name of an initialization file.
The default name is " century.ini " in the current
path.
- Both the command-line version and CMI (e.g., in MS Windows,
century.exe and CMI.exe respectively) accept
command-line arguments. For instance, you can modify your MS Windows shortcut
to CMI to include your initialization file. Likewise, on UNIX or Linux systems,
you can create an alias which runs CMI with your initialization file.
- Removed command-line option "-dn" which displayed default file
names. These default names are now determined in class TCenturyConfig, but are
not available at the time the command-line is parsed.
Century Model Interface
- The Management Editor's Define Blocks page now provides a popup list of
event options for those events which have associated parameter databases.
class TCenturyConfig
- New class to contain a complete configuration for a simulation. All
initialization of input (site, management, output, etc) is now external to the
Century model and class TCentury.
- Modified classes TCentury, TApp and the GUI classes, and function main to
use this new class.
Fixes and Maintenance
Class TCentury
- Fixed bug in reading organic matter input parameter ASTREC.
- Fixed bug in reading of Century 4 schedule file which uses CO 2
effects.
- Additional modifications to help build a common source tree with daily and
gridded versions (including new base classes TEcosystemModelBase, TCenturyBase,
TOutputBase, TCentOutFileBase).
Parameters Database Files
- The parameter databases store options for a specific event (e.g., CROP
event or FIRE event). The parameter database list have been abstracted into a
new class to manage the list. This will allow future features for selective
specification of parameter database sets by the user, and provides for
centralized management of the database.
- Class TCentury: The Century model class now receives a parameter database
list object when instantiated. Previously the class opened each database as
needed, and managed the list internally.
Century Model Interface
- User Preferences dialog: Width of the project, site, and management path
fields is larger.
- Site and Management Editors: Several improvements, including adding
Century4 files to the "Open" button file filters.
- TModalDialog base class: Better positioning of large dialogs..
Version: 5.3.1 - June 2001
General Comments
This release has a substantial number of modifications over
version 5.2, including many bug fixes, enhancements to the object-oriented
design of the code, and implementation of design changes to allow for swapping
of simulations. The design goal is provide Century and its supporting submodels
with a "pluggable" architecture, so submodels can be changed easily,
and so Century can be plugged into other model architectures.
Fixes and Maintenance
Class TFlow
- Class TFlow has been rebuilt using containers and algorithms from the the
standard C++ library.
Class TSoil
- Class TSoil has been replaced by a new set of classes which more easily
allow for extensibility of the physical soil. These classes are named
TSoilVDCompBase, TSoilPool, TSoilProperty, TSoilCompList, TSoilLayer,
TSoilBase.
Class TCenturySoil
- TCenturySoil has been rewritten to utilize the new set of soil classes,
and is derived from class TSoilBase.
- Utilizes a new class TSoilCDistribution which calculates a curve
estimating the distribution of the density (g cm -3 ) of soil
organic C throughout the soil profile. The parameters for this curve are based
upon (1) the current C density in the simulation layer, (2) the initial value
or last estimated value of the lower soil C pool, and (3) the depth of the soil
profile.
- Minor cleanup of the soil water bucket submodel.
Classes TLowerSoil, TErosion, and TDeposition
- These classes have been modified to use the new version of class
TCenturySoil.
- These classes no longer modify the physical soil, only the simulation
pools.
Class: TCentury
- The netCDF template file for the output variables' definitions had the
MINERL() ordering sorted first by element, then by layer. Fixed so that sorting
is first by layer.
- Modification of several member functions to utilize the new soil class,
TCenturySoil.
- Leaching of organic C is now determined from water flow from the bottom of
the simulation layer rather than from "layer 2" or "30 cm
depth" as in version 4. Organic C leaching is now encapsulated in a new
member function LeachOrganicC.
- New output variables: soilDepth ,
lhsomtc and
somtpc .
- Increased code readability with several boolean functions.
- Fixed bug in which N volatility fixed parameter
vlosse was modified in member
function DeathOfShoots.
- Encapsulated the system type information in a new class TPlantSystemType.
- Encapsulated the site geographic and non-weather surface environment in a
new class TSiteEnvironment.
- Encapsulated the microcosm calculations in a new class TMicrocosm.
- Encapsulated the canopy variables and functions in the new class TCanopy.
- Corrected setup of microcosm simulations such that (1) temperature is
constant, and read from the site parameters; (2) rainfall and irrigation is
always zero; (3) the soil water submodel is not used so that the soil water
content is constant.
- The parameter databases are now stored in memory rather than read at each
request. This results in a substantial speed increase of simulations, at the
cost of increased memory requirements.
- Calculation of whether or not the number of hours in the day are
increasing or decreasing fixed so that when current and previous day lengths
are equal, no change in the direction occurs.
- Calculation of the day length now accounts properly for the southern
hemisphere (site parameter SITLAT < 0).
- Fix in uptake of N, P, or S so P and S uptake is correctly calculated.
- CO 2 effect ramping function calculating intermediate
concentrations did not account for end of the year, at which time no ramping is
needed. Now the CO 2 concentration uses the final value.
- Added new event and associated function to provide for external events.
This event calls an external function provided by the main program unit or the
function which created the Century object. Added the member function
UseExtEventtFunction to specify this external function.
- Encapsulated all asynchronous functions and variables in a new class,
TAsynchFunctions.
Graphical User Interface
- Management Editor: Microcosm now has its own entry fields.
Version: 5.2.1 - June 2000
Class: TCentury
- Added additional functions to access output variables.
Version: 5.2.0 - May 2000
New or Enhanced Algorithms
New class: TCenturySoil
- Derived from TSoil, contains Century-specific soil functions, including
the water bucket model.
Weather data (class TWeather)
- Replaced the random number generator functons (which were from the book
Numerical Recipies) with a set of portable functions that are freely
distributable.
Class: Import of Century4 schedule files.
- Block definition descriptions are now prefixed by the block number.
Century Model Interface
- Added a simple toolbar of buttons for "Quick Steps" to
configuring and running a simulation.
Fixes and Maintenance
Class: TCentury
- Soil organic matter percent (OMPC) is now updated at the end of each
simulation iteration and after erosion and deposition. This is needed in order
to update variables dependent upon soil texture and OMPC, such as field
capacity and wilting point (depending upon the value of the site parameter
SWFLAG).
- The mean maximum plant-available water content (field capacity minus
wilting point, calculated as a weighted mean by layer thickness) used for the
determining the potential crop and tree production is now calculated over the
rooting depth. In Century 4, this is only calculated for the surface soil
layer, irrespective of layer thickness.
- Added fix in calculation of N uptake in soil, so that the monthly
symbiotic N fixation amount is not included in soil N uptake. (This fix had
previously been included in the gridded Century version.)
- Function OutputVariables: Fixed bug in the calculation of the output
variable ADEFAC, which was a remnant of the conversion of some very bad FORTRAN
(Imagine!) to C++.
- The water bucket model was moved into a new class TCenturySoil, which is
derived from class TSoil.
- Increased exception-robustness through the use of auto_ptr for
the dynamically-allocated data.
- Added the applicable latest changes from the VEMAP and daily FORTRAN
versions, including:
- WoodDeath: Check for available soil water when deciding to drop leaves in
deciduous forests. Also added check for winter solstice if trying to drop
decidous leaves.
- AtmCO2Effect: Fix use of step vs. ramp function.
- InitMonthlyCycle: Added a simple soil temperature calculation based upon a
warming or cooling trend. (This fix had previously been included in the gridded
Century version.) The soil temperature output variable STEMP now contains the
new calculation.
- Site parameter and internal variable, NLAYPG, the number of layers
available for plant growth, is now updated when any change to the physical soil
occurs, including as erosion and deposition. It is limited to the range 1-9,
and will not exceed the number of soil layers.
- Further cleanup of the water submodel code, which contained much spaghetti
inherited from the FORTRAN version.
Weather data (class TWeather)
- Rewrote the algorithm for reading weather data files. The original was a
holdover from the FORTRAN code. The new algorithm is predictable and easy to
understand.
- Changed algorithm to replace missing values (-99.99) for temperatures in
the weather file and the site parameters. The algorithm is now:
(1) If the site parameter temperature value is valid, use it.
(2) Otherwise, estimate a value using linear interpolation or extrapolation.
(3) If the estimate is not available or reasonable, then use the mean annual
minimum or maximum temperature.
- Modified the precipitation algorirthm for replacing missing values in the
weather file and the site parameters. Previously a stochastic value was
generated, as described in item 2 below.
(1) If the site parameter precipitation value is valid, use it.
(2) Otherwise, generate a stochastic value based upon the standard deviations
and skewness values from the site parameters.
- Fully encapsulated the weather class. It is now completely independent of
the Century code.
Class: TSoil
- Fixed bug in the calculation of weighted means of properties, and
encapsulated duplicated code in member functions.
- Changed dynamically-allocated member arrays to be of standard library
class vector , and modified code to use them appropriately.
- Additional improvements to the erosion and deposition algorithms,
especially in the area of managing soil water contents.
- Some functions which are specific to the Century model were moved into the
new derived class TCenturySoil.
Class: TSiteEditorDlg (the site parameter editor)
- Fixed bug in which a site parameter set which has been read from a file
into the site editor was not copied to the permament site parameter set.
Century Model Interface
- Fixed several minor but irritating quirks of the GUI code.
- Built CMI for Microsoft Windows using the latest version of the V GUI
library (1.24).
Documentation
- HTML Help pages - added much of the online Century 4 manual, with some
minor modifications to reflect version 5.
Version: 5.1.0 - June 1999
Class: TNcFile (base class for netCDF files)
- Rewrote most of the function CreateFrom to fix inconsistancies.
Utility: ef2cvs
Converts an erosion output file in netCDF format, to a text file in CSV
(comma-separated values) format, for import into a spreadsheet program.
Class: Output variable classes
- Added the management scheme and site file names, and the site parameter
set description to the output files.
Class: TWaterTemp (output variables for water and temperature)
- Added the output variable "SIMDEPTH", which records in each
output record the depth of the simulation layer in cm. This variable is
initialized to the value of the fixed parameter EDEPTH (20 cm), and will only
be altered by erosion or deposition events.
New classes: TLowerSoil, TDepEroBase, TErosion, TDeposition, TNcErosionFile
- Completed the initial version of these new classes.
Class: TMgtDlg (Management editor dialog)
- Activated the entry fields and browse buttons for the erosion and
depostion files.
Class: TCentury
- Function RunSimulation: Added exception handling for failure upon read of
intial crop tree parameters.
- Function Schedule: Added exception handling for failure upon read of event
parameters.
Class: TSimTime
- Corrected a problem in Century output timing.
Class: TManagementScheme
- Enhanced error messages upon import of Century 4 schedule files.
Class: TSiteParameters
- Allowed import of Century 4 site parameter files to accept parameter names
that are not enclosed in single quotes.
- Fixed bug in import of Century 4 site parameter files.
- Enhanced error messages upon import of Century 4 site parameter files.
Class: TWeatherVars
- Enhanced reading of the weather file with better error messages.
- Made "file rewind" requests more robust (less susceptable to
compiler idiosyncracies).
Version: 5.0.x
Apr 1999
Class: TApp
- Function RunSimulation: Now closes the progress dialog when execution is
stopped prematurely, either through the "Cancel" button or when an
exception is generated.
Class: TCentury
- Added notes on using C++ inheritance to create a custom version of the
Century class.
Mar 1999
Class: TMgtDlg (Management editor dialog)
- Fix problem in the display of simulation description.
- Added controls, events, functions to select the files for 14
C input data, erosion output data, deposition input data to the Simulation
Information dialog.
Class: TNcFile (netCDF file base class)
- Added a member variable to store the netCDF file version, applicable to
all Century netCDF file types.
- Added functions to "set", "get", and "check"
the file version.
Class: TSiteParameters, TNcSiteParameters, TSiteFromLibDlg
- TSiteParameters, TNcSiteParameters: Added code to read and write the
editor name and edit date in the site parameter netCDF file.
- TSiteFromLibDlg: Added display of the editor name and edit date in the
summary panel.
Feb 1999
Class: TCentury
- Made default values to be TCentury static member constants.
- Modified the soil water submodel and all depth-dependent calculations in
the decomposition functions to use the new TSoil class.
- TSimTime class finished: data and functions for simulation time
encapsulated.
- Added command-line option to display the execution time of the simulation.
- Added a deposition event to the management scheduling.
Class TSoil, TLowerSoil, TErosion, TDeposition (incomplete), TNcErosionFile
- New classes for implementing the new erosion and deposition submodels.
- TLowerSoil implements the lower layer element pools as a source and sink
for the simulation layer pools at the surface, as the simulation layer
undergoes erosion and deposition.
- TSoil implements a layered physical soil, containing
vertically-differentiated layers unique in texture, bulk density, and water
content.
- TErosion and TDeposition implement erosion and deposition functions.
TNcErosionFile manages a file of erosion values, written during erosion events,
and read during deposition events.
Class: TDefaultPaths
- New class which encapsulates management of default paths for parameter and
management files, parameter and management templates, and parameter definition
databases.
Class: TNcFile (netCDF file base class)
- Added member variable for netCDF file types in the file ncftypes.h.
- Added functions to "set", "get", and "check"
the file type. Upon creation of a Century netCDF file object, automatically
compares the requested type to the type specified in the disk file.
Class: TVerifyMgmt
- New class - originally was part of class TMgtDlg, the management editor.
Extracted all verification functions into their own class.
Utility: ncfilelist
A command-line utility to list the names and types of Century netCDF files in
the directory in which it is run.
Jan 1999
Class: TCentOutFileBase, TCentNcFile, TCentSprShtFile
- Added classes which encapsulate Century output:
TCentOutFileBase is the base class for all output files.
TCentNcFile produces netCDF output.
TCentSprShtFile produces CSV (comma-separated values) output for input into
spreadsheet and word processor applications.
Class: TCentury
- Modified constructor args to utilize new output class.
- Modified function "wrtbin" to use new output class;
- Discarded the function "detiv", which in Century 4 initialized
output files.