Oklahoma State University

CMLS94B Manual

CMLS94B

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

  1. Chemicals move only in liquid phase.
  2. Dispersion of the chemical can be ignored.
  3. Soil and chemical properties are uniform within a soil layer.
  4. 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.
  5. 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

  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.
  2. The water content of the soil does not decrease below the permanent wilting point.
  3. 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

  1. Infiltrating water recharges one layer of soil to field capacity before water moves deeper into soil.
  2. Infiltrating water redistributes instantly to field capacity.
  3. 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

  1. The degradation process is a first-order process.
  2. The degradation rate at one depth is not a function of time.
  3. 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.

  1. 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
  2. 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.
tar xvf /dev/rst0

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:

  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. Table 1 contains a list of keywords used in the input file. The keywords are explained on the following pages.


Table 1. Keywords used in input file.
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 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.

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.

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 in the Appendix.

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 Appendix 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 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

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, 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.

  1. Comments and blank lines are not needed in the file. They are just for adding information and for improving readability of the text.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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:

  1. Column 1 is the simulation number for this row of data. This can also be interpreted as a weather sequence index.
  2. Column 2 is the SystemIndex identifier.
  3. 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.
  4. 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.

  1. 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.
  2. 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.
  3. 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:

  1. Get input file name from the command line and open input file; exit on error
  2. If a checkfile is specified
    1. Try to open checkfile for writing; if unable to do so print error message and exit
  3. While more General/System blocks of data exist in the input file do the following:
    1. Get input for current block, check for errors, and exit if errors are detected
    2. Prepare output file for results
    3. Perform simulations requested and store results in output file
  4. Close the output file
  5. Close the checkfile
  6. End

The simulate module carries out the following steps:

  1. Display the number of simulations to be made (for user information)
  2. For each simulation do the following:
    1. Select a planting date at random from the planting window
    2. Calculate the crop coefficient for each calendar day
    3. For each soil-chemical combination specified in system block do the following:
      1. Generate weather if necessary
      2. Determine reference ET by method specified by user and store in memory
      3. Store rain (or actual infiltration) in memory
      4. Read system information for next soil-chemical system. If resampling is to be used, compute necessary parameters
      5. Select the application date from the application window (and planting date if "Relative" was specified)
      6. Calculate movement of chemical in current soil-chemical system saving data requested by user
      7. Store results of interest in output file

The movement module carries out the following steps:

  1. Initialize working arrays and variables
  2. If curve number for soil is greater than zero calculate upper storage limit
  3. Calculate available water in each layer
  4. If amount is a desired output, calculate the degradation for a one-day time period; Otherwise set the degradation to zero
  5. Determine the day of year when simulation begins
  6. Calculate the initial depth of solute in mm
  7. Calculate the number of days between the beginning of simulation and the day the chemical is applied
  8. Calculate the maximum time and depth requested as output
  9. If actual irrigation is to be used, read the irrigation amount - time data into memory
  10. For each day to be simulated do the following:
    1. Determine if critical depth and time have been passed. If so, terminate simulation
    2. Determine irrigation for this day
    3. Update soil layers for ET on this day
    4. If infiltration is estimated from rainfall, calculate rainfall infiltration using SCS curve number
    5. Calculate total infiltration for this day as sum of rainfall infiltration and irrigation
    6. 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
      1. 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.
      2. While infiltrating water has not all been stored in the profile, do the following:
        1. Calculate the amount of water needed to move the chemical to the bottom of the next soil layer.
        2. If water available to move the chemical is sufficient to move the chemical to the bottom of the next soil layer
          1. Update water content in next soil layer and calculate excess water leaving that layer
          2. 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

          1. Calculate the new depth of the chemical within this next layer
          2. Update the water content in this layer and calculate excess water entering the next layer
          3. Recharge the layers below the new chemical depth until excess infiltrating water is stored or passes through the profile.
      3. If amount is to be calculated, calculate amount remaining on this day
      4. Save output information of interest
  11. Free memory allocated for actual irrigation
  12. 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.

  1. 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
    . . . .
    . . . .
    . . . .
    
    
  2. 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.
  3. Irrigation File: This file is identical to the infiltration file with irrigation amounts replacing infiltration amounts.
  4. 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.
  5. Pan Evaporation: This file is identical to the evapotranspiration file with daily evapotranspiration replaced by pan evapotranspiration.
  6. 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 
    
    
    
  7. 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.

Document Actions