Oklahoma State University

CMLS98B Use

Purpose | Processes and Assumptions | Installation | Use | Example | References | Acknowledgements
Program Structure | Platform Dependencies | File Structures

RUNNING THE PROGRAM

The software is designed to be totally run from the command line. This permits it to be run on a variety of computer platforms and to be incorporated into program shells where it is just one piece of a larger system. The program is executed by typing the name of the executable code followed by a space and the name of the input data file. For example

CMLS98B caddo.in


instructs the system to run the program 'CMLS98B' and use file 'caddo.in' as its input file. Program output goes to a file (or device) specified in the input file. The following pages describe the structure of the input file. Sample input and output files are then presented and discussed.

Input File: All parameters needed for simulating movement are contained in an input file. One group of parameters defines the overall simulation parameters. This is called the General Block. A second group defines the specific soil-chemical systems to be simulated. It is called the Systems Block. General Block / System Block pairs can be repeated within one input file.

The first block in the file is the general block. It defines the overall scenario of interest. Here the user specifies the following:

  1. the name of the output file and the desired output
  2. the source of infiltration data
  3. the source of evapotranspiration data
  4. the crop grown, its window of planting dates, and its crop coefficients if evapotranspiration is estimated
  5. irrigation methods
  6. dates simulations begin and end
  7. the number of different weather sequences to be simulated
  8. the units of length for input and output depths and for irrigation amounts

The second block or systems block defines the soil - chemical systems of interest. The following parameters for each system are included.

  1. rooting depth and curve number for this soil
  2. soil properties for each layer
  3. partition coefficient and half-life for each chemical
  4. application window, application depth, and application amount for each chemical

The user can include as many of these soil-chemical data sets as desired. The parameters specified in the General Block are applied to each set. This is convenient for screening many chemicals and for simulating many soils as needed for studies over large areas and for GIS applications.

The input file consists of a series of lines beginning with a keyword and followed by appropriate parameters. The keywords are explained in the following tables.



Keywords  in General Block(s)

Comment The information on this line is for the user only. The contents of the line are ignored by the software. This keyword can be used in the systems block also.
CheckFile This keyword is followed by a filename. If this keyword and file name are present, the system writes all input parameters to this file. This file enables the user to verify that the system read the input data correctly.
OutputFile This keyword is followed by the file name which will be used for storing results of simulations. Normally this output is one line per simulation. The standard output includes few labels so the file can be easily processed by additional programs. If the word WithHeader follows the file name, labels are displayed throughout the file and the file is formatted for 80 character lines. If the word ArcView follows the file name, a comma delimited file formatted for use with ArcView is created.
LengthUnits Depths specified by the user when specifying output depths, root depth, application depth, and soil layer depths can have units of meters (m) or inches (in). The first string on this line specifies this depth unit. Precipitation, infiltration, evapotranspiration, and irrigation also have units associated with them. Those units may be millimeters (mm) or inches (in). The second string on this line specifies the units associated with irrigation. (Units associated with infiltration, precipitation, and evapotranspiration are stored in those files.)
Infiltration This line specifies the source of daily infiltration data for the simulation. One of the following lines must be present in the file.

Infiltration Actual filename
This line instructs the system to read the specified file to obtain the amount of water entering the soil on each day of the specified simulation period. The structure of the infiltration file is described in the File Structure section.

Infiltration Historical filename
This line instructs the system to estimate daily infiltration from historical weather data stored in the specified file. The weather file must contain data for each day to be simulated. The structure of weather files is described under File Structures.

Infiltration Generated filename
This line instructs the system to estimate infiltration after generating weather using WGEN and the stochastic parameters required by WGEN which are stored in the designated file. The File Structure section contains details on the structure of the parameter file.

Evapotranspiration This line specifies the source of daily evapotranspiration (ET) data for the simulation. ET can be read from a file if actual values are known for the days to be simulated. ET can also be estimated from pan evaporation data or from weather data. One of the following lines must be present in the file.

ET Actual filename
This line instructs the system to read the specified file to obtain the evapotranspiration amount on each day of the simulation period. The structure of the file is described in the File Structure section.

ET Historical filename FAOBlaneyCriddle a-value b-value
This line instructs the system to estimate daily evapotranspiration from historical weather data stored in the specified file. The FAO Blaney-Criddle estimator should be used with values of a and b in eqn. 18 specified as a-value and b-value, respectively. The weather file must contain data for each day to be simulated. The structure of the weather files is described under File Structures.

ET Historical filename SCSBlaneyCriddle k-value
This line instructs the system to use Historical weather data to estimate ET by means of the SCS Blaney-Criddle method with the constant K in eqn. 17 equal to k-value. The weather file must contain data for each day to be simulated. The structure of the weather files is described under File Structures

ET Generated filename FAOBlaneyCriddle a-value b-value
This line instructs the system to estimate evapotranspiration using the FAOBlaneyCriddle method after generating weather using WGEN and the stochastic parameters required by WGEN which are stored in the designated file. See File Structures for details on the parameter file.

ET Generated filename SCSBlaneyCriddle k-value
This line instructs the system to estimate evapotranspiration using the SCSBlaneyCriddle method after generating weather using WGEN. Stochastic parameters required by WGEN are stored in the designated file. See File Structures for  details on the parameter file.

ET Pan filename k-value
This line instructs the system to calculate reference crop evapotranspiration using the specified k-value and daily values of pan evaporation stored in the specified file with equation 16. The format of the pan evapotranspiration data file is presented in the File Structures section.
Irrigation The software includes functions for supplemental irrigation. This keyword is used to specify the type of irrigation desired. If this line is missing, no irrigation will be applied. Specific options are listed below.

Irrigation None
No irrigation is used.

Irrigation Actual filename
This specifies that the irrigation amounts for the simulation period are stored in the specified file. See File Structures for format details.

Irrigation Periodic begin-day end-day period amount
This line states that amount of irrigation water is applied every period days starting on begin-day of each year and ending on end-day.

Irrigation Demand begin-day end-day critical-depletion appl-efficiency min-amount
This line states that the irrigation season ranges from begin-day to end-day each year. Irrigation occurs whenever the amount of available water in the root zone has been reduced to less than the critical-depletion percent of its maximum amount. The amount of water required to bring the root zone back to field capacity is calculated and divided by the application efficiency, appl-efficiency. This calculated amount represents the amount of irrigation applied on this day unless the calculated amount is less than the minimum amount, min-amount, which can be applied at one time. If the minimum amount exceeds the required amount, the minimum amount is applied.
Seed A random number generator is used to generate weather and to select planting and application dates from the specified windows. Normally a seed for the random number generator will be taken from the system clock. However, the user can specify a particular seed by including this keyword followed by a negative whole number.
Crop This line specifies the name of the crop being grown on the site. Following the name of the crop is a file name which contains the crop coefficients. The crop name must match a crop name in the crop coefficient file. The crop name cannot include blanks and must be less than 20 characters in length. See File Structures for details on the crop coefficient file. If evapotranspiration is read from a file for each day instead of being estimated, this line can be omitted.
PlantingDate This line contains the first and last days (expressed as day of year) in which this crop is normally planted. For each year simulated, the system randomly selects a day from within this window as the planting day for that year. If the first and last days of the window are the same, the crop will be planted on that one day each year. This line can be omitted if actual evapotranspiration is read from a file.
BeginSimulation This line contains the year and day of year when simulation begins.
EndSimulation This line contains the year and day of year when simulation ends. The number of years simulated cannot exceed 100 years for UNIX versions or 40 years for DOS versions.
NumberOfSimulations This line contains an integer representing the number of times the soil-chemical systems in the systems block will be simulated. If this line is missing a value of 1 is assumed. The number of simulations can be greater than one only if both infiltration and evapotranspiration are generated.
Mode When weather is generated, the default mode of operation is to generate a sequence of weather to cover the span of time simulated. That weather is then used for one simulation on each of the soil-chemical systems present in the systems block of the input file. If more than one simulation is specified in the NumberOfSimulations line, a new weather set is generated for each succeeding pass through the system block. Another approach is to generate new weather for each soil-chemical system in the system block. If this mode of operation is wanted, the following line must be present in the general information block:

Mode NewWeatherEachSystem
Output Information on this line specifies type of output desired. Output is of the form of time - depth data pairs or time - depth - amount data triplets. The user may specify depths of interest and the system will calculate the travel time to those depths. The user may also specify times of interest and the system will calculate the depth of the chemical at those times. Possible forms of this line are described below. All three of the lines can be present in one file.

Output Depth time(1) time(2) time(3) ... time(10)
This line instructs the system to record the depth of the chemical at each time specified. Up to 10 times can be specified. The times (in days) specified must increase from left to right. The units of depth are meters or inches as specified under LengthUnit keyword.

Output TravelTime depth(1) depth(2) depth(3) ... depth(10)
This line instructs the system to record the time (in days) required for the chemical to reach each depth listed. A maximum of 10 depths can be specified. If several depths are given, the depths must increase from left to right. The units of depth are meters or inches as specified under LengthUnit keyword.

Output Amount
This line instructs the system to output data triplets of time, depth, and amount. If this line is not in the file, the output will be only time, depth data pairs. The amount units are the same as those used when specifying initial amount (see discussion of Chemical keyword).

Output InfiltrationET
This line instructs the system to include summary infiltration and evapotranspiration data with each simulation. Values of total evapotranspiration, potential evapotranspiration, rainfall, infiltration, and runoff for the period of time simulated are included in the output if this line is in the General block.




Keywords in Systems Block

Comment Comments for the benefit of the user can be inserted into this section of the file although they cannot separate consecutive lines beginning with SoilProperty or ChemicalProperty.
SystemIndex Each soil - chemical - management system to be simulated must include an identifier. This is a string of 20 characters or less. This index serves as an identifier for model output for the soil - chemical - management system so it should be unique.
Chemical This line is used to specify chemical properties. It must take one of the following forms.

Chemical Calendar application-year earliest-day latest-day application-depth application-amount Koc half-life chemical-name

or

Chemical Relative application-year earliest-day latest-day application-depth application-amount Koc half-life chemical-name

In these lines, application-year specifies the year the chemical is applied. The numbers stored in earliest-day and latest-day define the days of the year when the material might be applied. If the word 'Calendar' is present in the line, this application window in time is interpreted as day of year. If the word 'Relative' is present, the numbers are interpreted as days after planting. Negative numbers used with the 'Relative' keyword imply the chemical was applied before planting. The application depth and amount are specified by depth and amount, respectively. The organic carbon partition coefficient (ml g-1 ) for the chemical is represented by Koc. The degradation half-life (days) is represented by half-life. An identifier of the chemical (for the user) can be stored in chemical-name. This keyword must precede the SoilProperty keywords for this soil-chemical system.

ChemicalProperty By default, CMLS98B calculates the partition coefficient, Kd, as the product of Koc and the fractional organic carbon content. The half-life of the chemical is assumed constant with depth. If the user does not want to use these estimates, the ChemicalProperty keyword can be used to define other parameters. The line takes the form

ChemicalProperty index Kd half-life

where index represents the layer number in the soil profile, Kd represents the partition coefficient of the chemical (ml g-1) for this layer, and half-life represents the degradation half-life (days) for the chemical for this layer. If this keyword is used, it must be used repeatedly for each soil layer defined with the SoilProperty keyword. If it is used, the Koc and half-life values entered with the Chemical keyword are not used. If this keyword is used, it must precede the SoilProperty keywords for this soil-chemical system.

SoilName This is a one-line description for the soil. It is an optional parameter for the benefit of the user. Sometimes it is convenient to include the county and mapping unit identifier.
CurveNoRootDepth This line contains the curve number and the root depth for this soil system. The curve number is needed if infiltration is estimated from weather data. This line must precede the SoilProperty lines described below.
Resample Hornsby et al. (1990) developed a method of generating soil profiles from a limited set of measured profiles for the purpose of incorporating spatial variability of soil properties into estimates of chemical leaching. This technique was incorporated into CMLS98B and can be used by including this keyword inside a system index block. The line takes the form

Resample n-times n-layers depth(1) depth(2) ... depth(n)

where n-times represents the number of profiles to be generated and used in each simulation pass, n-layers represents the number of layers in each generated profile, and depth(1), ..., depth(n) represent the depths of the bottoms of each of the layers. If this option is used, this keyword must precede the SoilProperty section and the SoilProperty section must contain sequential lists of soil properties for 3 or more sites.

SoilProperty This line contains the soil properties for one soil horizon. It must be repeated for each horizon or layer in the soil system being simulated. The line has the form

SoilProperty index depth oc bd fc pwp sat

The index specifies the number of the soil layer being entered on the current line. It goes from 1 to the number of layers in the soil profile. The depth of the bottom of the current layer is stored in depth. Depth units are meters or `inches as specified in LengthUnits. Organic carbon content(%) and bulk density (Mg m-3) of the layer take on the values stored in oc and bd, respectively. Water contents (on a volume percentage basis) at "field capacity", "permanent wilting point", and saturation are specified as fc, pwp, and sat, respectively.


Document Actions