CMLS94B Manual
THE CHEMICAL MOVEMENT IN LAYERED SOILS MODEL FOR BATCH PROCESSING
By
D.L. Nofziger, Jin-Song Chen, and Fengxia Ma
Department of Agronomy
Oklahoma State University
Stillwater, OK 74078
and
A.G. Hornsby
Department of Soil and Water Science
University of Florida
Gainesville, FL 43952
Copyright © 1994
Division of Agricultural Sciences and Natural Resources
Oklahoma State University
Purpose | Processes and Assumptions | Installation | Use | Example | References | Acknowledgements
Program Structure | Platform Dependencies | File Structures
PURPOSE OF PROGRAM
CMLS (Nofziger and Hornsby, 1986, 1987) was written to provide a tool for managing agricultural chemicals. The interactive program was written in a manner which is easy to use. The software includes graphical output to aid in understanding and comparing simulated movement and fate of chemicals. The model was designed to use soil and chemical parameters which are readily available. The model is being used widely, especially in educational settings. Recently, it has been compared with experimental measurements and with other models with good results (Pennell et al., 1990; Nofziger et al., 1994). Because the model requires only basic soil properties which are readily available or easily estimated, the model has been used for evaluating the impact of pesticides on large areas. A batch program using the computational algorithms of CMLS was developed and interfaced with geographic information systems (Zhang et al., 1990; Ma, 1993). This batch program facilitated simulation for many soils and chemicals with minimal user effort.
Since CMLS was released in 1985, we have discovered improvements which are needed. The improvements incorporated into a new interactive software system called CMLS94 include (1) functions for estimating daily infiltration and evapotranspiration from daily weather records, (2) irrigation routines, (3) a stochastic weather generator, WGEN, (4) Monte Carlo simulation using different weather sequences at a particular site, (5) an improved user interface, (6) expanded graphics options and increased resolution, and (7) database management features. The software described in this manual is CMLS94B, a batch version of CMLS94. It includes the computational algorithms used in CMLS94 without the interactive features used to define soil - chemical - management systems, to select and display graphs and reports of simulated results, to manage data-bases, and to display on-line help.
CMLS94 and CMLS94B form a working pair of programs. We think persons will want to use the interactive CMLS94 to become familiar with chemical movement and the influence of soils, chemicals, management, and weather on this movement. Many users will find the interactive software adequate for all their studies. Scientists may find CMLS94B useful for larger-scale studies. It can be easily used with geographic information systems for drawing maps of chemical movement and fate.
Purpose |
Processes and Assumptions |
Installation | Use |
Example | References |
Acknowledgements
Program Structure |
Platform Dependencies | File
Structures
PROCESSES AND ASSUMPTIONS
In this section, the conceptual and mathematical framework of CMLS94 is
presented. As that is done, we have attempted to identify major simplifying
assumptions which were used. We strongly recommend that you evaluate the
appropriateness of these assumptions for the systems of interest to you.
We have found them acceptable for many problems, but you must keep them in
mind when interpreting results of this model just as you must do when using
any model. Comparisons of transport models which include CMLS have been published
by Pennell et al.(1992) and Bergström and Jarvis (1994).
Chemical Movement: The basic computational part of CMLS94 and CMLS94B
is the same as that used in CMLS (Nofziger and Hornsby, 1986). A summary
of the model is presented here so changes and assumptions can be noted and
evaluated.
The model is a modification of the work of Rao, Davidson, and Hammond (1976).
It estimates the depth of the center of mass of a non-polar chemical as a
function of time after application. It also calculates the amount of chemical
in the soil profile as a function of time.
The model assumes that chemicals move only in the liquid phase in response
to soil-water movement. All of the water in the soil is active in the flow
process. Water already in the profile is pushed ahead of the inflowing water
in a piston-like manner. Water is lost from the root zone by evapotranspiration
and deep percolation. Movement of the chemical is retarded by its sorption
on the solid soil surfaces. The linear, reversible, equilibrium model is
used to describe this sorption process. Dispersion of the chemical is ignored.
The soil profile can be divided into 20 layers with different properties
in each layer. Soil and chemical properties are uniform within a layer.
Since the chemical moves with soil water, the change in depth of the chemical
depends upon the amount of water passing the chemical. If DC(t)
represents the chemical depth at time t and q represents the amount of water
passing that depth during time dt, the depth of chemical at time t+dt is
given by
where
is the volumetric water content of the soil at "field capacity" and R is
the retardation factor for the chemical in the current layer of the soil.
The retardation factor is given by
whereis the
bulk density of the soil and Kd is the partition coefficient or
linear sorption coefficient of the chemical in the soil. Equation 2 assumes
the sorption process can be described by the linear, reversible, equilibrium
sorption model. The partition coefficient, Kd, depends upon the
soil and chemical properties. However for many soils and organic chemicals
it can be estimated from the organic carbon partition coefficient,
KOC, using the equation
where OC is the organic carbon content of the soil (Hamaker and Thompson,
1972; Karickhoff, 1981, 1984). This equation is used in the model to estimate
Kd for each layer of each soil. However, the user can enter a
specific Kd for each layer if that is preferred. (See the discussion
of ChemicalProperty keyword of input file).
ASSUMPTIONS IN CHEMICAL MOVEMENT
- Chemicals move only in liquid phase.
- Dispersion of the chemical can be ignored.
- Soil and chemical properties are uniform within a soil layer.
- All water in the profile takes part in the flow process. Water already in the soil profile is pushed ahead of infiltrating water in a piston-like manner.
-
The sorption process can be described by the linear, reversible, equilibrium
model.
CMLS94 evaluates the depth of the chemical using equation 1 with dt equal
to one day. This means that q, the amount of water moving downward past the
current location of the chemical, must be estimated each day. In this model
q is equal to the amount of water entering the soil surface minus the quantity
of water which is stored in the soil profile above the chemical. The quantity
of water stored depends upon the amount of water entering the soil surface,
the wetness of the soil before infiltration and the capacity of the soil
to store water, and the current chemical depth. Daily infiltration amounts
are read from a file or are estimated from weather data as described on the
following pages. At the beginning of simulation, the soil is assumed to be
at field capacity at all depths. Each day the water content in the root zone
is reduced by the amount of evapotranspiration on that day. Thus the water
content throughout the root zone can be determined. (The soil water content
is never reduced below the water content at permanent wilting point.) Knowledge
of the water content distribution enables one to calculate the water storage
capacity above the current chemical depth. Hence q can be determined. Thus,
for each day simulated (1) the water content in the root zone is adjusted
for evapotranspiration, (2) the water content in the soil is adjusted for
infiltration, (3) the flux of water passing the chemical is determined, (4)
the new depth of chemical is calculated, and (5) the amount of chemical remaining
in the soil is calculated. The following paragraphs present the details of
these calculations. In those paragraphs the soil is made up of layers entered
by the user and additional layers with bottoms at the root zone depth and
at the current depth of the chemical.
Step 1. Adjustment for Evapotranspiration: CMLS94 assumes water is removed from the root zone to meet daily evapotranspiration demands. The water content of the root zone never decreases below the water content at permanent wilting point. Evapotranspiration is partitioned between layers in the root zone such that each layer looses water in proportion to the amount of water available for plant growth which is stored in that layer. The water stored in a layer j at time t is given by
where WS(j) is the water stored, T(j) is the thickness of the layer, is the volumetric water content of the layer, and (j) is the water content of layer j at permanent wilting point. The total water stored in the root zone is
where n is the number of layers in the root zone. The water content after evapotranspiration is
where ET is the evapotranspiration on the current day. If
calculated
from equation 6 is less that
(j),
is
set equal to
(j).
ASSUMPTIONS IN STEP 1
- The amount of water removed by evapotranspiration from each layer of the root zone is proportional to the amount of available water in that layer.
- The water content of the soil does not decrease below the permanent wilting point.
-
Water does not move upward from below the root zone. The chemical does not
move upward anywhere in the profile.
Step 2. Adjust Water Content for Infiltration: Water content in the soil root zone is adjusted for infiltration by filling consecutive layers of the profile to field capacity until all of the root zone is recharged or until the infiltrating water has been stored. The amount of water required to recharge a layer to field capacity (or the soil-water deficit for the layer) is given by
If I(j,t+dt) represents the amount of water infiltrating into layer j between time t and time t + dt, then the amount of water entering layer j+1 is given by
If I(j+1, t+dt) is greater than zero then = and equations 7 and 8 are applied to the next layer in the root zone. If I(j+1, t+dt) in equation 8 is less than zero, then I(j+1, t+dt) = 0 and
For layers below the root zone, the water content is equal to the field capacity
at all times. Thus water passing the root zone depth passes all depths below
that.
ASSUMPTIONS IN STEP 2
- Infiltrating water recharges one layer of soil to field capacity before water moves deeper into soil.
- Infiltrating water redistributes instantly to field capacity.
-
Water content of soil below the root zone is never less than field capacity.
Step 3. Calculate Flux Passing Chemical: The flux of water, q, passing
the depth of the chemical is equal to the flux of water passing the root
zone depth if the chemical depth exceeds the root zone depth. If the chemical
depth is less than the root zone depth, the flux, q, is equal to
q(JC, t+dt) given in equation 8 where JC is the index
of the layer with bottom at the chemical depth. If the infiltrating water
is stored before reaching the bottom of layer JC, q is zero.
Step 4. Calculate New Chemical Depth: The depth of chemical at time
t+dt is calculated using equation 1 for each soil layer. If q equals zero,
DC(t+dt) = DC(t). NOTE: If q obtained in step
3 is larger than needed to move the chemical to the bottom of the next layer,
the excess must be calculated and used in equation 1 with appropriate properties
of succeeding layers.
Step 5. Degradation: Degradation of the chemical in the soil is assumed to be described by first-order processes. The amount of chemical remaining in the soil at time t+dt is given by
where M(t) and M(t+dt) represent the amount at times t and t+dt, respectively,
and half-life(j) is the degradation half-life of the chemical in layer j.
CMLS94 uses dt equal to one day and selects j as the layer containing the
chemical after infiltration on each day.
ASSUMPTIONS IN STEP 5
- The degradation process is a first-order process.
- The degradation rate at one depth is not a function of time.
-
All chemical in the soil degrades at the rate determined by the location
of the center of mass.
Infiltration Estimation From Rainfall: CMLS requires daily infiltration amounts as described above. CMLS required the user to estimate this daily infiltration and enter it into infiltration files. CMLS94 provides the user with the option of having the system estimate infiltration from daily rainfall. The capability of estimating these amounts is useful for simulating movement at many locations and for Monte Carlo simulations at a particular site. The USDA-SCS curve number technique (USDA-SCS, 1972; Haan et al, 1993) was incorporated for estimating infiltration. The amount of water, I, infiltrating a soil due to precipitation, P, is given by
where the retention parameter S is given by
WSTOTAL is the current amount of water stored in the root zone as given by equations 4 & 5. WSMAX is the maximum water storage capacity of the root zone (obtained using equations 4 and 5 with replaced by the saturated water content, ). SMAX is an estimate of the largest S for this soil and is estimated by the equation
and
where CNII is the "moisture condition II" curve number for the
soil. CNII values are the normal tabulated curve numbers. Equations
11 to 14 estimate infiltration in inches for precipitation in inches.
Evapotranspiration Estimation: Four sources of daily evapotranspiration
(ET) are currently supported in CMLS94. These are (1) actual ET values stored
in a data file, (2) estimated ET using daily pan evaporation data, (3) estimated
ET using the SCS Blaney-Criddle equations with historical or generated weather
data, and (4) estimated ET using the FAO Blaney-Criddle method and historical
or generated weather. Users can use other estimators outside of CMLS94 and
create "actual" ET files for use in this software. However, only the Blaney
- Criddle estimators can be used for Monte Carlo simulations. If you have
other estimators you would like to have incorporated, contact the authors.
(The methods used to estimate infiltration and flux of water passing the
current chemical depth make CMLS94 somewhat less sensitive than many crop
models to the distribution of daily evapotranspiration. In fact, CMLS94 is
sensitive only to the total ET between infiltration events. The distribution
of ET during that time period has no effect on the predicted flux of water
and chemical leaching.)
The basic concept with all of the ET estimators is to determine a reference
crop evapotranspiration value, ET0, and to relate ET0
to ET for the crop of interest by means of time dependent crop coefficients,
kCROP(t). That is
Values of kCROP(t) are obtained by linear interpolation between
tabulated kCROP(t') values (see details for Crop keyword of input
file) where t' is time measured from the date of planting.
For the pan evapotranspiration method, the reference crop evapotranspiration
is given by
where K is a pan constant (see ET Pan keyword of input file) and Pan(t) is
the pan evaporation amount on day t.
In CMLS94 the SCS Blaney-Criddle estimate of ET0 is calculated
by dividing the estimated monthly consumptive use by the number of days in
the month. Each day in the month then has the same ET0 value.
The consumptive use, U, for the month is obtained using the equation
where K is the consumptive use factor specified by the user, TF
is the mean monthly air temperature in degrees Fahrenheit, and p is the mean
monthly percentage of annual daytime hours (Jensen et al., 1990). A table
of values of p as a function of latitude from 0 to 64 degrees is built into
the software. The mean temperature is taken as the mean of the high and low
temperatures for each day in the month. The value of U calculated in equation
17 has units of inches.
The reference crop evapotranspiration for the FAO Blaney-Criddle method is
given by
where a and b are constants for a particular site (see ET Historical or ET Generated keywords of input file) and
Here p is the mean daily percent of annual daytime hours, and TC
is the mean air temperature in degrees Celsius (Jensen et al., 1990). The
mean temperature is taken as the mean of the high and low temperatures for
each day in the month. ET0 in equation 18 has units of mm.
Weather Generating: CMLS94 incorporates the stochastic model for
generating daily weather variables developed by Richardson and Wright (1984).
This software uses parameters derived from 10 or more years of daily weather
data at a site to generate daily rainfall, minimum and maximum temperatures,
and radiation characteristic of the site. WGEN enables one to examine the
behavior of chemicals at a site which has only limited historical data. It
is used in CMLS94 to determine probability distributions for chemical fate
and transport at a particular site. Since future weather is not known at
the site, the model can be used to generate many independent sequences of
weather data typical of that site. By simulating the movement of the chemical
for each weather sequence, probability distributions can be determined for
soil - chemical - management systems of interest.
The publication of Richardson and Wright (1984) includes a program for extracting
the parameters needed to generate weather from historical weather data. The
format of these files is presented in the File Structure Section.
Irrigation: The irrigation module is capable of applying water in
two primary modes (in addition to using actual irrigation stored in a data
file). In the first case, irrigation is scheduled by the calendar. In this
mode, called periodic, a specified amount of water is applied at a specified
time interval during the irrigation season. In the second case, irrigation
is scheduled by the available water remaining in the root zone. During the
irrigation season, this demand mode of irrigation applies water whenever
the amount of available water in the root zone is decreased below some critical
depletion level. The amount of water to be applied is calculated by dividing
the amount of water needed to return the root zone to field capacity by the
application efficiency. If this calculated amount of water needed is less
than the minimum amount of water which can be applied by the system, the
minimum amount will be applied. For example, if 30 mm of water is needed
to return the soil to field capacity and the application efficiency is 75%
and the minimum amount which can be applied is 35 mm, the amount of water
applied would be 40 mm (30 mm/0.75 = 40 mm which is larger than 35 mm minimum).
If the application efficiency is 90%, 35 mm would be applied (30 mm/.90 =
33.3 mm which is less than the 35 mm minimum).
ASSUMPTION ABOUT IRRIGATION
1. All irrigation water infiltrates into the soil.
Purpose | Processes and Assumptions | Installation | Use | Example | References | Acknowledgements
Program Structure | Platform Dependencies | File Structures
INSTALLATION OF SOFTWARE
SUN workstations: The software is distributed on 3.5" floppy disk, 1/4" magnetic tape, and via internet. Basic instructions for each source follow.
-
Change to the directory where you want CMLS94B to reside.
-
Create a subdirectory (such as cmlsb) for CMLS94B and its data files.
mkdir cmlsb
-
Change to the directory you just created.
cd cmlsb
-
Create a subdirectory (such as cmlsb) for CMLS94B and its data files.
mkdir cmlsb
- Unload CMLS94B and associated files by one of the following methods.
Floppy Disk:
- Insert the floppy disk into your disk drive.
- Enter the following command to move the files to your current directory. tar xvf /dev/rfd0
Magnetic Tape:
- Insert the tape into your tape drive.
- Enter the following command to move the files into your current directory.
Internet:
If you received the software via internet, extract the files to your current directory by using the command
tar xvf CMLS94B.tar
DOS Computers: The software is distributed on floppy disk and on internet.
An installation program is included. Install the software by making the drive
containing the distribution files the current drive and typing INSTALLB -d.
This will explode the software and create directories within the current
directory for various parts.
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
CMLS94B caddo.in
instructs the system to run the program 'CMLS94B' 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 Structure: 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:
- the name of the output file and the desired output
- the source of infiltration data
- the source of evapotranspiration data
- the crop grown, its window of planting dates, and its crop coefficients if evapotranspiration is estimated
- irrigation methods
- dates simulations begin and end
- the number of different weather sequences to be simulated
-
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.
- rooting depth and curve number for this soil
- soil properties for each layer
- partition coefficient and half-life for each chemical
- 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. Table 1 contains a list of keywords used
in the input file. The keywords are explained on the following pages.
General Block(s) | Systems Block(s) |
Comment | Comment |
CheckFile | SystemIndex |
OutputFile | Chemical Calendar |
Output Depth | Chemical Relative |
Output TravelTime | ChemicalProperty |
Output Amount | SoilName |
Output InfiltrationET | CurveNoRootDepth |
LengthUnits | Resample |
Infiltration Actual | SoilProperty |
Infiltration Historical | |
Infiltration Generated | |
ET Actual | |
ET Historical | |
ET Generated | |
ET Pan | |
Irrigation None | |
Irrigation Actual | |
Irrigation Periodic | |
Irrigation Demand | |
Seed | |
Crop | |
PlantingDate | |
Mode | |
BeginSimulation | |
EndSimulation | |
NumberOfSimulations |
Keywords for the 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. |
LengthUnits | Depths specified by the user when specifying output depths, root 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.) |
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 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. |
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 Appendix. |
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 Appendix. 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 in the Appendix. 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 in the Appendix. 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. The Appendix contains details on the structure of 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. The Appendix contains details on the structure of 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 structure of the pan evapotranspiration data file is given in the Appendix. |
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. The file format is described in the Appendix. 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 the APPENDIX 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 |
Keywords for 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
|
ChemicalProperty | By default, CMLS94B 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 CMLS94B 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. 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 of 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. |
Purpose |
Processes and Assumptions |
Installation | Use |
Example | References |
Acknowledgements
Program Structure |
Platform Dependencies | File
Structures
ILLUSTRATION OF PROGRAM USE
Suppose we have a management unit which contains soils classified as Cobb
loamy sand, Eufaula sand, Noble sandy loam, and Pond Creek sandy loam. We
have soil properties for each soil at three locations. We are interested
in predicting the depth of Basagran (bentazon sodium salt) 120 days after
application and the amount of bentazon leached below the 1 m and 1.5 m depths
(whenever the chemical passes those depths). The field is irrigated with
5 cm of water every 14 days from June 10 to September 1. Peanuts are planted
from May 1 to May 15. The herbicide is applied on the soil surface 15 - 30
days after planting. The management unit is located in Caddo County, Oklahoma,
near the Ft. Cobb weather station. Since we do not know the weather which
we will encounter this year, we will use Monte Carlo techniques to obtain
results for 500 weather sequences generated by WGEN for weather parameters
extracted from many years of historical weather data at Ft. Cobb. Results
for the 500 sequences will then be summarized (outside of CMLS94B) to answer
the questions of interest.
Input File: Table 2 shows the input file required to carry out this
simulation. This file describes the simulations specified above. There are
several additional points to be made.
- Comments and blank lines are not needed in the file. They are just for adding information and for improving readability of the text.
- Crop coefficients as a function of time after planting are obtained from a file called "cropfile". The contents of this file are described and shown in the Appendix.
- Parameters needed by WGEN for generating weather for the Ft. Cobb station are stored in a file called ok3281.par. This file is listed in the Appendix.
- The file specifies that simulation begins on day 1 of year 1 and ends on day 365 of year 10. Computations actually end when all of the desired output values have been computed. Often this is less than the maximum time specified. If historical weather had been specified, the calendar year would have been entered rather than year 1 or year 10.
- Note that the general block does not contain the keyword Seed. As a result, the random number generator obtained its seed from the system clock.
- Note that the Mode keyword is not in the general block. This means that the one set of weather is used for all 12 soil systems. Another weather sequence is then generated and used for all 12 soil systems for the second round. This process continues until 500 weather sequences are generated and used.
- The specified scenario did not include the rooting depth of the peanuts. This was taken to be 0.6 m in this case. The value is specified in the CurveNoRootDepth line as 0.6. Units are meters since the length units specified in LengthUnits is M.
- Note that the amount of bentazon applied was specified in the Chemical line as 1.0. This means the amounts computed can be interpreted as the fraction of the original amount still remaining in the profile.
- Since the ChemicalProperty keyword is missing in this file, the partition coefficient, Kd is calculated using equation 3 and the Koc and organic carbon values.
- In this example, all soil layers have the same thickness. This is not required.
Table 2. Sample input file for illustrating program.
Comment Basagran leaching in irrigated peanuts in Caddo County,
OK
Comment ****** Beginning of System Block ********
CheckFile Basagran.chk
OutputFile Basagran.out
Output Traveltime 1.0 1.5
Output Depth 120
Output Amount
Output InfiltrationET
Crop peanuts cropfile
ET Generated ok3281.par SCSBlaneyCriddle 1.0
Infiltration Generated ok3281.par
Irrigation Periodic 161 244 14 50.0
BeginSimulation 1 1
EndSimulation 10 365
PlantingDate 121 135
NumberofSimulations 500
LengthUnits M mm
Comment ********* End of General Block **********
Comment ****** Beginning of System Block ********
SystemIndex 1
SoilName Eufaula_1
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.165 1.580 12.5 1.3 40.4
SoilProperty 2 0.40 0.045 1.540 9.6 1.3 41.9
SoilProperty 3 0.60 0.067 1.580 7.1 1.1 40.4
SoilProperty 4 0.80 0.079 1.380 10.6 1.1 47.9
SoilProperty 5 1.00 0.067 1.510 5.7 1.2 43.0
SoilProperty 6 1.20 0.079 1.590 9.4 1.5 40.0
SoilProperty 7 1.40 0.061 1.540 6.7 1.7 41.9
SoilProperty 8 1.60 0.100 1.580 9.4 2.3 40.4
SystemIndex 2
SoilName Eufaula_2
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.388 1.480 14.1 1.9 44.2
SoilProperty 2 0.40 0.107 1.550 7.4 0.9 41.5
SoilProperty 3 0.60 0.083 1.510 11.3 1.4 43.0
SoilProperty 4 0.80 0.076 1.460 11.9 1.3 44.9
SoilProperty 5 1.00 0.055 1.490 6.5 1.6 43.8
SoilProperty 6 1.20 0.072 1.510 6.2 1.6 43.0
SoilProperty 7 1.40 0.057 1.530 6.0 3.5 42.3
SoilProperty 8 1.60 0.060 1.540 5.4 1.2 41.9
SystemIndex 3
SoilName Eufaula_3
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.214 1.510 9.4 1.7 43.0
SoilProperty 2 0.40 0.089 1.490 6.4 1.4 43.8
SoilProperty 3 0.60 0.067 1.520 5.3 1.2 42.6
SoilProperty 4 0.80 0.081 1.600 5.6 1.1 39.6
SoilProperty 5 1.00 0.075 1.540 5.2 1.4 41.9
SoilProperty 6 1.20 0.071 1.550 8.5 1.4 41.5
SoilProperty 7 1.40 0.074 1.600 8.0 1.6 39.6
SoilProperty 8 1.60 0.075 1.590 6.7 2.3 40.0
SystemIndex 4
SoilName Cobb_1
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.315 1.570 23.5 5.8 40.8
SoilProperty 2 0.40 0.316 1.540 31.6 12.2 41.9
SoilProperty 3 0.60 0.266 1.550 30.2 12.9 41.5
SoilProperty 4 0.80 0.266 1.550 30.2 12.9 41.5
SoilProperty 5 1.00 0.172 1.550 30.2 12.9 41.5
SoilProperty 6 1.20 0.166 1.520 24.5 7.0 42.6
SoilProperty 7 1.40 0.096 1.460 24.2 5.7 44.9
SoilProperty 8 1.60 0.101 1.510 25.6 10.1 43.0
SystemIndex 5
SoilName Cobb_2
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.309 1.620 17.5 5.3 38.9
SoilProperty 2 0.40 0.355 1.540 30.6 9.7 41.9
SoilProperty 3 0.60 0.304 1.610 30.4 13.2 39.2
SoilProperty 4 0.80 0.289 1.640 30.1 13.7 38.1
SoilProperty 5 1.00 0.204 1.610 29.3 9.4 39.2
SoilProperty 6 1.20 0.126 1.440 25.9 6.2 45.7
SoilProperty 7 1.40 0.115 1.460 25.5 5.9 44.9
SoilProperty 8 1.60 0.058 1.450 24.0 4.6 45.3
SystemIndex 6
SoilName Cobb_3
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.263 1.630 21.4 6.1 38.5
SoilProperty 2 0.40 0.203 1.600 24.5 4.6 39.6
SoilProperty 3 0.60 0.101 1.420 19.5 2.0 46.4
SoilProperty 4 0.80 0.101 1.400 21.0 2.1 47.2
SoilProperty 5 1.00 0.096 1.430 19.9 4.0 46.0
SoilProperty 6 1.20 0.093 1.550 21.5 8.2 41.5
SoilProperty 7 1.40 0.067 1.560 23.4 8.5 41.1
SoilProperty 8 1.60 0.078 1.490 23.8 8.3 43.8
SystemIndex 7
SoilName Noble_1
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 1.117 1.450 29.7 4.8 45.3
SoilProperty 2 0.40 0.311 1.420 23.3 4.7 46.4
SoilProperty 3 0.60 0.271 1.310 19.6 5.5 50.6
SoilProperty 4 0.80 0.240 1.440 20.5 7.0 45.7
SoilProperty 5 1.00 0.193 1.500 20.8 7.7 43.4
SoilProperty 6 1.20 0.212 1.520 21.5 7.5 42.6
SoilProperty 7 1.40 0.142 1.550 22.1 7.0 41.5
SoilProperty 8 1.60 0.133 1.520 20.7 6.6 42.6
SystemIndex 8
SoilName Noble_2
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.497 1.490 27.7 4.6 43.8
SoilProperty 2 0.40 0.404 1.450 23.6 5.1 45.3
SoilProperty 3 0.60 0.329 1.410 21.1 5.6 46.8
SoilProperty 4 0.80 0.300 1.500 24.6 6.6 43.4
SoilProperty 5 1.00 0.157 1.480 21.3 7.1 44.2
SoilProperty 6 1.20 0.186 1.610 21.1 7.4 39.2
SoilProperty 7 1.40 0.128 1.610 19.6 6.8 39.2
SoilProperty 8 1.60 0.095 1.660 27.2 7.4 37.4
SystemIndex 9
SoilName Noble_3
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.919 1.510 24.4 5.0 43.0
SoilProperty 2 0.40 0.376 1.600 18.3 5.5 39.6
SoilProperty 3 0.60 0.233 1.450 19.5 5.4 45.3
SoilProperty 4 0.80 0.224 1.580 16.2 7.5 40.4
SoilProperty 5 1.00 0.146 1.560 20.1 7.0 41.1
SoilProperty 6 1.20 0.167 1.610 19.0 7.4 39.2
SoilProperty 7 1.40 0.132 1.590 18.0 6.0 40.0
SoilProperty 8 1.60 0.123 1.560 18.4 5.5 41.1
SystemIndex 10
SoilName Pond Creek_1
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.510 1.620 27.7 7.2 38.9
SoilProperty 2 0.40 0.727 1.410 33.6 10.8 46.8
SoilProperty 3 0.60 0.665 1.380 34.2 13.0 47.9
SoilProperty 4 0.80 0.566 1.470 32.6 13.5 44.5
SoilProperty 5 1.00 0.516 1.460 34.5 15.6 44.9
SoilProperty 6 1.20 0.357 1.520 33.6 13.6 42.6
SoilProperty 7 1.40 0.292 1.500 32.2 7.1 43.4
SoilProperty 8 1.60 0.292 1.470 32.6 8.8 44.5
SystemIndex 11
SoilName Pond Creek_2
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.558 1.590 29.8 11.9 40.0
SoilProperty 2 0.40 0.582 1.530 36.2 16.7 42.3
SoilProperty 3 0.60 0.819 1.520 37.2 15.0 42.6
SoilProperty 4 0.80 0.665 1.430 35.2 8.3 46.0
SoilProperty 5 1.00 0.496 1.460 32.4 11.9 44.9
SoilProperty 6 1.20 0.304 1.530 34.7 11.3 42.3
SoilProperty 7 1.40 0.222 1.550 32.6 10.0 41.5
SoilProperty 8 1.60 0.135 1.540 32.2 9.5 41.9
SystemIndex 12
SoilName Pond Creek_3
CurveNoRootDepth 0.0 0.6
Chemical Relative 1 15 30 0.0 1.0 34 20 bentazon
SoilProperty 1 0.20 0.599 1.420 31.3 6.6 46.4
SoilProperty 2 0.40 0.584 1.370 35.6 9.5 48.3
SoilProperty 3 0.60 0.675 1.390 34.7 12.3 47.5
SoilProperty 4 0.80 0.580 1.400 36.4 11.9 47.2
SoilProperty 5 1.00 0.445 1.490 34.1 13.6 43.8
SoilProperty 6 1.20 0.294 1.530 33.2 11.1 42.3
SoilProperty 7 1.40 0.173 1.540 33.7 9.7 41.9
SoilProperty 8 1.60 0.132 1.530 30.6 8.2 42.3
Output File: Table 3 is a partial listing of the output file Basagran.out
produced after executing CMLS94B basagran.in. This output is without any
headers since WithHeader did not follow the output file name. The output
file contains the following data:
- Column 1 is the simulation number for this row of data. This can also be interpreted as a weather sequence index.
- Column 2 is the SystemIndex identifier.
- Columns 3-5, 6-8, and 9-11 represent time, depth, amount triplets for the outputs specified. Column 4 has a value of 1.00 in all rows. Therefore column 3 represents the time required for the chemical pulse to reach 1 m. Column 5 represents the amount of chemical in the pulse passing 1 m. Columns 6 and 8 represent these values for a depth of 1.5 m shown in column 7. Column 9 has a value of 120 for all rows. Columns 10 and 11 show the computed chemical depths and amounts 120 days after the chemical was applied. The amounts are the same for all soils and all weather sequences since the half-life was the same for all soils and it was not a function of soil depth. If more than 3 output depths and times had been requested, the number of triplets in each row would have been greater.NOTE: If the chemical does not reach the depth specified during the simulation, the travel time output will be -1 and the amount will be zero.
-
Columns 12 - 17 represent total evapotranspiration, potential evapotranspiration,
rainfall, infiltration, irrigation, and runoff during the period simulated,
respectively. These are always the last 6 columns in the output table.
Results of Simulations: Figures 1 to 4 show summarized results for these simulations. The output file, basagran.out was processed by additional software to create these probability plots. Figure 1 shows the probability of the pesticide depth exceeding different values 120 days after application. Different lines within a graph represent different sites for that particular soil. Depths spanned within one line represent differences in depth due to different weather sequences used for this site. We can see that there is a low probability that the depth of chemical will exceed 1 meter during this time period for the Cobb, Noble, and Pond Creek soils. However, the probability of exceeding 1 m in the Eufaula soil ranges from approximately 60% to 100% for the 3 sites.
Figure 2 shows the probability of exceeding different times for the center of mass to reach a depth of 1 m. for each site and each soil (Recall that CMLS ignores dispersion so the chemical moves through the system as a sharp pulse at its center of mass). Figure 3 shows similar results for the 1.5 m depth. In figure 2, travel times range from only a few days to more than 1400 days for the Cobb soil. The ranges in travel time are similar for Noble and Pond Creek soils. Movement through the Eufaula soil is much more rapid with the maximum being approximately 500 days. The differences within a line are due to weather only. Different lines for each soil represent differences in predicted movement due to spatial variability of soil properties within that soil. Figure 4 shows the probability of exceeding different relative amounts of pesticide leaching beyond the 1 m depth. Differences due to weather and site can be observed. Clearly large differences in predicted values are common. These results illustrate some of the uses of CMLS94B.
Table 3. Display of first four simulations of Basagran.out.
1 1 54 1.00 1.54E-01 65 1.50 1.05E-01 120 2.52 1.56E-02 727.52 820.10 854.71 1154.71 300.00 -0.00 1 2 53 1.00 1.59E-01 63 1.50 1.13E-01 120 3.39 1.56E-02 744.51 824.69 875.79 1175.79 300.00 -0.00 1 3 47 1.00 1.96E-01 64 1.50 1.09E-01 120 3.24 1.56E-02 606.79 786.63 749.81 1049.81 300.00 -0.00 1 4 618 1.00 4.99E-10 728 1.50 1.10E-11 120 0.79 1.56E-02 1847.72 1929.05 1811.02 2411.02 600.00 -0.00 1 5 503 1.00 2.69E-08 728 1.50 1.10E-11 120 0.79 1.56E-02 1834.52 1929.05 1811.02 2411.02 600.00 -0.00 1 6 122 1.00 1.46E-02 686 1.50 4.73E-11 120 0.93 1.56E-02 1779.00 1863.93 1612.90 2212.90 600.00 -0.00 1 7 291 1.00 4.17E-05 714 1.50 1.79E-11 120 0.95 1.56E-02 1838.91 1913.84 1768.10 2368.10 600.00 -0.00 1 8 293 1.00 3.89E-05 719 1.50 1.51E-11 120 0.82 1.56E-02 1837.91 1913.84 1768.10 2368.10 600.00 -0.00 1 9 119 1.00 1.62E-02 711 1.50 1.99E-11 120 1.04 1.56E-02 1794.49 1905.39 1702.31 2302.31 600.00 -0.00 1 10 734 1.00 8.96E-12 1058 1.50 1.19E-16 120 0.58 1.56E-02 2672.64 2770.96 2542.79 3442.79 900.00 0.00 1 11 723 1.00 1.31E-11 1047 1.50 1.74E-16 120 0.68 1.56E-02 2653.04 2770.96 2542.79 3442.79 900.00 0.00 1 12 733 1.00 9.27E-12 1058 1.50 1.19E-16 120 0.58 1.56E-02 2708.31 2771.83 2552.95 3452.95 900.00 0.00 2 1 47 1.00 1.96E-01 62 1.50 1.17E-01 120 1.95 1.56E-02 732.88 832.85 731.27 1031.27 300.00 0.00 2 2 49 1.00 1.83E-01 64 1.50 1.09E-01 120 2.33 1.56E-02 740.48 828.05 731.27 1031.27 300.00 0.00 2 3 44 1.00 2.18E-01 58 1.50 1.34E-01 120 2.70 1.56E-02 629.77 819.48 731.27 1031.27 300.00 0.00 2 4 248 1.00 1.85E-04 743 1.50 6.56E-12 120 0.80 1.56E-02 1824.39 1969.24 1804.42 2404.42 600.00 -0.00 2 5 247 1.00 1.92E-04 745 1.50 6.12E-12 120 0.80 1.56E-02 1799.79 1969.24 1804.42 2404.42 600.00 -0.00 2 6 75 1.00 7.43E-02 278 1.50 6.54E-05 120 1.14 1.56E-02 910.92 937.49 1038.86 1338.86 300.00 0.00 2 7 160 1.00 3.91E-03 744 1.50 6.33E-12 120 0.86 1.56E-02 1843.59 1969.24 1804.42 2404.42 600.00 -0.00 2 8 204 1.00 8.50E-04 732 1.50 9.60E-12 120 0.82 1.56E-02 1840.59 1969.24 1804.42 2404.42 600.00 -0.00 2 9 132 1.00 1.03E-02 429 1.50 3.49E-07 120 0.92 1.56E-02 1269.06 1411.93 1251.46 1751.46 500.00 0.00 2 10 742 1.00 6.79E-12 1625 1.50 3.48E-25 120 0.63 1.56E-02 4140.78 4524.69 3471.42 4971.42 1500.00 -0.00 2 11 746 1.00 5.91E-12 1622 1.50 3.86E-25 120 0.60 1.56E-02 4087.44 4520.35 3402.33 4902.33 1500.00 -0.00 2 12 748 1.00 5.51E-12 1633 1.50 2.64E-25 120 0.63 1.56E-02 4214.59 4525.93 3484.88 4984.88 1500.00 -0.00 3 1 412 1.00 6.29E-07 496 1.50 3.42E-08 120 0.58 1.56E-02 1300.31 1746.73 966.22 1566.22 600.00 -0.00 3 2 424 1.00 4.15E-07 499 1.50 3.09E-08 120 0.53 1.56E-02 1330.53 1746.73 966.22 1566.22 600.00 -0.00 3 3 56 1.00 1.44E-01 128 1.50 1.18E-02 120 1.42 1.56E-02 454.45 846.65 410.72 710.72 300.00 0.00 3 4 714 1.00 1.79E-11 756 1.50 4.18E-12 120 0.28 1.56E-02 1696.64 2003.85 1540.00 2190.00 650.00 -0.00 3 5 712 1.00 1.92E-11 754 1.50 4.48E-12 120 0.32 1.56E-02 1688.44 2003.85 1540.00 2190.00 650.00 -0.00 3 6 612 1.00 6.14E-10 729 1.50 1.07E-11 120 0.31 1.56E-02 1600.92 1911.53 1448.82 2048.82 600.00 -0.00 3 7 668 1.00 8.82E-11 743 1.50 6.56E-12 120 0.18 1.56E-02 1696.51 1997.32 1517.90 2167.91 650.00 -0.00 3 8 681 1.00 5.62E-11 741 1.50 7.03E-12 120 0.22 1.56E-02 1695.51 1997.32 1517.90 2167.91 650.00 -0.00 3 9 616 1.00 5.35E-10 725 1.50 1.22E-11 120 0.26 1.56E-02 1588.12 1911.53 1448.82 2048.82 600.00 -0.00 3 10 753 1.00 4.64E-12 1315 1.50 1.61E-20 120 0.24 1.56E-02 3153.69 3614.78 2667.25 3867.26 1200.00 -0.00 3 11 745 1.00 6.12E-12 1231 1.50 2.96E-19 120 0.25 1.56E-02 3076.94 3567.44 2603.25 3803.25 1200.00 -0.00 3 12 762 1.00 3.39E-12 1441 1.50 2.05E-22 120 0.21 1.56E-02 3300.26 3709.16 2812.80 4012.80 1200.00 -0.00 4 1 85 1.00 5.26E-02 195 1.50 1.16E-03 120 1.18 1.56E-02 637.53 908.27 620.01 920.01 300.00 0.00 4 2 189 1.00 1.43E-03 216 1.50 5.61E-04 120 0.92 1.56E-02 666.03 918.17 640.08 940.08 300.00 0.00 4 3 29 1.00 3.66E-01 71 1.50 8.54E-02 120 1.98 1.56E-02 489.01 841.00 470.92 770.92 300.00 0.00 4 4 574 1.00 2.29E-09 959 1.50 3.68E-15 120 0.43 1.56E-02 2346.96 2748.30 2005.33 2905.33 900.00 0.00 4 5 572 1.00 2.46E-09 954 1.50 4.37E-15 120 0.43 1.56E-02 2321.01 2746.95 1988.31 2888.31 900.00 0.00 4 6 389 1.00 1.40E-06 576 1.50 2.14E-09 120 0.57 1.56E-02 1544.86 1814.19 1383.54 1983.54 600.00 0.00 4 7 401 1.00 9.21E-07 963 1.50 3.20E-15 120 0.33 1.56E-02 2364.81 2746.95 1988.31 2888.31 900.00 0.00 4 8 575 1.00 2.22E-09 957 1.50 3.94E-15 120 0.40 1.56E-02 2361.81 2746.95 1988.31 2888.31 900.00 0.00 4 9 390 1.00 1.35E-06 590 1.50 1.32E-09 120 0.36 1.56E-02 1527.02 1821.95 1405.38 2005.38 600.00 0.00 4 10 1060 1.00 1.11E-16 1463 1.50 9.54E-23 120 0.35 1.56E-02 3339.48 3756.42 2939.80 4139.80 1200.00 0.00 4 11 1061 1.00 1.07E-16 1464 1.50 9.22E-23 120 0.36 1.56E-02 3298.63 3754.77 2872.74 4072.74 1200.00 0.00 4 12 1084 1.00 4.83E-17 1459 1.50 1.10E-22 120 0.34 1.56E-02 3409.08 3756.42 2939.80 4139.80 1200.00 0.00 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Purpose | Processes and Assumptions | Installation | Use | Example | References | Acknowledgements
Program Structure | Platform Dependencies | File Structures
PROGRAMMING CONCERNS WHEN CHANGING PLATFORMS
The CMLS94B source code is basically standard ANSI C and should compile with
few, if any, problems on any platform with a compiler which supports ANSI
C. Although it compiles without error, the program may not work correctly
on all platforms. Care should be exercised when moving this code to another
computer or operating system. Three specific problems encountered are listed
below.
- Size of integer variables: The random number generator, ran1(), in FUNGEN.C use 32-bit integers. This is the standard size of "int" on SPARC platforms. However, DOS machines generally use 16-bit integers. The variables associated with ran1() must be changed to "long" integers in DOS. If this is not done the random number generator will have an unacceptably small set of different "random" numbers.
- Maximum years to be simulated: Throughout CMLS94, int type variables are used for accessing array elements. If int variables are represented by 16-bits, this limits the number of days that can be simulated to less than 32767 days. This means the DOS version cannot support 100 year simulations as is standard on the SPARC.
-
Memory limitations: The maximum number of days which can be simulated will depend upon the amount of random access memory available. In DOS machines, the program was compiled and tested for simulations lasting a maximum of 40 years.
Purpose
| Processes and Assumptions |
Installation | Use |
Example | References |
Acknowledgements
Program Structure |
Platform Dependencies | File
Structures
OUTLINE OF MAJOR PROGRAM MODULES
The following sections outline the steps involved in the CMLS94B software. More details about the algorithms used are provided on disk files with the computer code.
The main program in CMSL94B carries out the following steps:
- Get input file name from the command line and open input file; exit on error
-
If a checkfile is specified
- Try to open checkfile for writing; if unable to do so print error message and exit
-
While more General/System blocks of data exist in the input file do the
following:
- Get input for current block, check for errors, and exit if errors are detected
- Prepare output file for results
- Perform simulations requested and store results in output file
- Close the output file
- Close the checkfile
-
End
The simulate module carries out the following steps:
- Display the number of simulations to be made (for user information)
-
For each simulation do the following:
- Select a planting date at random from the planting window
- Calculate the crop coefficient for each calendar day
-
For each soil-chemical combination specified in system block do the following:
- Generate weather if necessary
- Determine reference ET by method specified by user and store in memory
- Store rain (or actual infiltration) in memory
- Read system information for next soil-chemical system. If resampling is to be used, compute necessary parameters
- Select the application date from the application window (and planting date if "Relative" was specified)
- Calculate movement of chemical in current soil-chemical system saving data requested by user
-
Store results of interest in output file
The movement module carries out the following steps:
- Initialize working arrays and variables
- If curve number for soil is greater than zero calculate upper storage limit
- Calculate available water in each layer
- If amount is a desired output, calculate the degradation for a one-day time period; Otherwise set the degradation to zero
- Determine the day of year when simulation begins
- Calculate the initial depth of solute in mm
- Calculate the number of days between the beginning of simulation and the day the chemical is applied
- Calculate the maximum time and depth requested as output
- If actual irrigation is to be used, read the irrigation amount - time data into memory
-
For each day to be simulated do the following:
- Determine if critical depth and time have been passed. If so, terminate simulation
- Determine irrigation for this day
- Update soil layers for ET on this day
- If infiltration is estimated from rainfall, calculate rainfall infiltration using SCS curve number
- Calculate total infiltration for this day as sum of rainfall infiltration and irrigation
-
If the current day is before the day when the chemical was applied, replenish
water in the soil with infiltrating water on this day, layer by layer from
the top until all the water has been stored or passed through the
profile;Otherwise
- Update water content of soil layers for infiltration on this day. Replenish soil water layer by layer from the top until all infiltrating water is stored or layers above the current depth of the chemical are refilled.
-
While infiltrating water has not all been stored in the profile, do the
following:
- Calculate the amount of water needed to move the chemical to the bottom of the next soil layer.
-
If water available to move the chemical is sufficient to move the chemical
to the bottom of the next soil layer
- Update water content in next soil layer and calculate excess water leaving that layer
- Update depth of chemical to the bottom of the next soil layer and calculate the amount of water still available to move the chemical
Otherwise
- Calculate the new depth of the chemical within this next layer
- Update the water content in this layer and calculate excess water entering the next layer
- Recharge the layers below the new chemical depth until excess infiltrating water is stored or passes through the profile.
- If amount is to be calculated, calculate amount remaining on this day
- Save output information of interest
- Free memory allocated for actual irrigation
- End movement procedure
Purpose | Processes and Assumptions | Installation | Use | Example | References | Acknowledgements
Program Structure | Platform Dependencies | File Structures
REFERENCES CITED
Bergström, L.F., and N.J. Jarvis. 1994. Evaluation and comparison of pesticide leaching models for registration purposes: Overview. J. of Env. Sci. and Health. Vol. A29(6):1061-1072.
Haan, C.T., B.J. Barfield, and J.C. Hayes. 1993. Design hydrology and sedimentology for small catchments. Academic Press.
Hamaker, J.W., and J.M. Thompson. 1972. Adsorption. In Goring, C.A. I., and J.W. Hamaker. (ed.) Organic Chemicals in the Environment. Marcel Dekker Inc., NY. pp 49-143.
Hornsby, A.G., P.S.C. Rao, J.G. Booth, P.V. Rao, K.D. Pennell, R.E. Jessup, and G.D. Means. 1990. Evaluation of models for predicting fate of pesticides. Project Completion Report, Contract No. WM-255. Bureau of Groundwater Protection, Florida Department of Environmental Regulation, 2600 Blair Stone Road, Tallahassee, FL 32399-2400. 130p.
Jensen, M.E., R.D. Burman, and R.G. Allen, Editors. 1990. Evapotranspiration and Irrigation Water Requirements. Am. Soc. Civil Eng. 332 pp.
Karickhoff, S.W. 1981. Semi-empirical estimation of sorption of hydrophobic pollutants on natural sediments and soils. Chemosphere 10:833-846.
Karickhoff, S.W. 1984. Organic pollutant sorption in aquatic systems. J. Hydr. Eng. 110:707-735.
Ma, Fengxia. 1993. Using the Unix shell to integrate a management model with a GIS. M.S. Thesis. Oklahoma State University. 75 pp.
Nofziger, D.L. and A.G. Hornsby. 1986. A microcomputer-based management tool for chemical movement in soils. Appl. Agr. Res. 1, 50-56.
Nofziger, D.L. and A.G. Hornsby. 1987. Chemical Movement in Layered Soils: User's Manual, Circular 780, Florida Coop. Ext. Ser., Inst. of Food and Agr. Sci., Univer. of Florida, Gainesville, FL. 44 pp.
Nofziger, D.L., Jin-Song Chen, and C.T. Haan. 1994. Evaluating CMLS as a tool for assessing risk of pesticide leaching to groundwater. J. Env. Sci. and Health. A29(6):1133-1155.
Pennell, K.D., A.G. Hornsby, R.E. Jessup, and P.S.C. Rao. 1990. Evaluation of five simulation models for predicting aldicarb and bromide behavior under field conditions. Water Resources Res. 26:2679-2693.
Rao, P.S.C., J.M. Davidson, and L.C. Hammond. 1976. Estimation of nonreactive and reactive solute front locations in soils. In Proc. Hazard. Wastes Res. Symp. EPA-600/19-76-015. Tucson, AZ. pp 235-241.
Richardson, C.W., and D.A. Wright. 1984. WGEN: A model for generating daily weather variables. USDA, Agricultural Research Service, ARS-8. 83p.
USDA-SCS. 1972. National Engineering Handbook. Section 4. Hydrology.
Zhang, H., C.T. Haan, and D.L. Nofziger. 1990. Hydrologic modeling with GIS,
An overview. Applied Engineering in Agriculture 6:453-458.
Purpose
| Processes and Assumptions |
Installation | Use |
Example | References |
Acknowledgements
Program Structure |
Platform Dependencies | File
Structures
FILE STRUCTURES
All files used by CMLS94B are ASCII files. They can be easily created by
other programs or by editors. Different values on a line are called fields.
Different lines are called records. One or more blank spaces separate fields
on the same line. The structures described are the forms assumed by CMLS94B.
Other forms will require rewriting the functions which read files. Specifics
for each file follow.
-
Weather: This file is illustrated below. Line 1 contains the number of days
in the file and the first year. Line 2 is a coded identifier for the weather
station. Line 3 is the name of the weather station. Line 4 contains the latitude
of the location in degrees, the character 'N' or 'S' for hemisphere,
the longitude in degrees, the character 'E' or 'W' for longitude,
the elevation, the characters 'M' or 'FT' for elevation units, and the characters
'MM' or 'IN' for precipitation units, and the character 'F' or 'C' for
temperature units of Fahrenheit or Celsius, respectively. Line 5 begins the
weather data with day of year followed by maximum temperature, minimum
temperature, and precipitation. Note that the day of year begins again at
1 each year.
10227 1948 OK3281 FORT COBB 35.10 N 98.43 W 1260 FT IN F 1 28 14 0.380 2 38 6 0.000 3 46 10 0.000 4 50 18 0.000 5 55 25 0.000 6 55 29 0.000 7 57 28 0.000 8 63 29 0.000 9 63 33 0.000 10 58 30 0.000 11 54 34 0.000 12 53 39 0.040 13 50 24 0.000 14 45 22 0.000 15 48 24 0.000 16 49 20 0.001 17 33 11 0.000 18 38 14 0.000 19 41 17 0.000 20 45 23 0.000 21 54 21 0.000 22 58 28 0.000 23 54 11 0.000 24 29 12 0.120 25 26 17 0.000 . . . . . . . . . . . . 365 47 12 0.000 366 48 15 0.000 1 50 24 0.000 2 59 25 0.000 . . . . . . . . . . . .
- Infiltration: Line 1 of this file contains the number of days of data in the file and the year the data begins. Line 2 contains a coded identifier for the location. Line 3 contains the name of the location. Line 4 contains the latitude of the location in degrees, the character 'N' or 'S' for hemisphere, the longitude, the character 'E' or 'W' for longitude, the elevation, the characters 'M' or 'FT' for elevation units, and the characters 'MM' or 'IN' for infiltration units. Lines 5 to the end of the file contain the day of year followed by the infiltration amount on that day. Thus the file looks like that for weather except that only one number instead of 3) is present for each day.
- Irrigation File: This file is identical to the infiltration file with irrigation amounts replacing infiltration amounts.
- Evapotranspiration: This file is identical in structure to the infiltration file. In this case the last set of units on line 4 represents the units for evapotranspiration. Beginning in line 5, each line contains the day of year and the evapotranspiration on that day.
- Pan Evaporation: This file is identical to the evapotranspiration file with daily evapotranspiration replaced by pan evapotranspiration.
-
Crop Coefficients: The crop coefficient file can contain time dependent crop
coefficients for many crops. Each line of the file represents a different
crop. The first field in the line is the name of the crop. This can be up
to 20 alphanumeric characters. The crop name cannot include a blank. The
crop name must be unique within this file. Following the crop name are up
to 12 day - crop coefficient data pairs. The days are referenced to the planting
day of the crop. That is, day 1 is the day the crop was planted. This table
is illustrated below for three crops. The values shown were estimated from
information presented in Jensen et al. (1990).
Corn 1 0.15 20 0.40 30 0.95 60 0.95 100 0.70 80 0.30 150 0.15 Soybeans 1 0.15 20 0.22 40 0.75 50 1.0 90 0.95 110 0.65 120 0.15 Peanuts 1 0.3 20 0.3 40 1.0 130 1.0 150 0.3 180 0.2 350 0.1
-
WGEN Parameters: The following table illustrates a parameter file. Line 1
contains the name of the weather station. Line 2 contains notes about the
station such as the name of the file from which these parameters were derived.
Line 3 contains the latitude of the location in degrees, the character 'N'
or 'S' for hemisphere, the longitude, the character 'E' or 'W' for longitude,
the elevation, the characters 'M' or 'FT' for elevation units, the characters
'MM' or 'IN' associated with the precipitation generated with these parameters,
and the characters 'F' (Fahrenheit) or 'C' (Celsius) for the temperature
units associated with generated high an low temperatures. Lines 4 through
15 contain PWW, PWD, ALPHA, and BETA for January through December. Line 16
contains TXMD, ATX, CVTX, ACVTX, TXMW, TN, ATN, CVTN, ACVTN, RMD, AR, and
RMW (Note: These 12 parameters can be spread over more than one line if you
prefer). See the WGEN manual for a description of these symbols.
FORT COBB OK3281 35.10 N 98.43 W 1260 FT IN F 0.409091 0.153179 0.324357 0.442812 0.467005 0.183986 0.340742 0.470576 0.409524 0.186930 0.365041 0.588176 0.423913 0.167683 0.444659 0.742441 0.477193 0.246998 0.402377 1.163035 0.440816 0.235294 0.391554 1.108837 0.411765 0.164464 0.373781 1.180033 0.335079 0.180207 0.379064 0.879246 0.378109 0.194053 0.394694 1.213369 0.437500 0.127119 0.356080 1.156289 0.379085 0.135371 0.337475 0.803611 0.438596 0.139168 0.318023 0.548300 76.036964 21.877216 0.125157 -0.076647 69.825600 48.341244 22.346968 0.196495 -0.144030 460.000000 198.000000 300.000000
Purpose |
Processes and Assumptions |
Installation | Use |
Example | References |
Acknowledgements
Program Structure |
Platform Dependencies | File
Structures
ACKNOWLEDGEMENTS
The authors express appreciation to Dr. C.T. Haan for stimulating us to consider
the impact of weather uncertainty on the model output, for encouraging us
to build that capability into the software, and for leading the evaluation
of the WGEN weather generator for Oklahoma. The authors express thanks to
Ron Jessup at the University of Florida for his assistance in formulating
the resampling option of this software and for assisting in testing this
software. We also express thanks to T. Dwayne Hunter, Senior Software Specialist,
for his help in managing our workstations and computer network.
Funds for this software were provided in part by the Oklahoma Agricultural
Experiment Station, the Oklahoma Center for Water Research, and the U.S.
Department of Agriculture Water Quality Program.