Template:GUM11
11 - Constituent Transport and Fate
Contents
11.1 Transport Formulations
11.2 Transport Formulations
The methods used in transporting reactive constituents in GSSHA for the overland flow plane and channels are descibed in Downer and Byrd 2007.
11.2 Simple Constituents
11.3 Simple Constituents
As described in Section 11.1, reactive contaminants may be treated as simple constituents. That is, all reactions are simple first order reactions with user specified kinetic rates (K). There is no limit on the number of simple constituents that can be simulated at one time.
11.3.1 Overland Flow Plane
For the overland flow plane kinetic rates and other inputs are specified in the MAPPING_TABLE_FILE. For each contaminant a single value of rainfall concentration (mg L-1) is specified. All other input values are distributed both by constituent and location on the overland flow plane with the index map and mapping table values. The following table inputs are required.
- Dispersion coefficient on the overland (m2 s-1)
- Decay coefficient in the soils and the overland K (d-1)
- Uptake coefficient Ku (m d-1)
- Initial loading (Kg) or (mg Kg-1)
- Groundwater concentration (g m-3)
- Initial concentration (g m-3)
- Soil water distribution coefficients in the soil Kd (L Kg-1)
- Solubility Cmax (g m-3)
See Section 13 for details on the MAPPING_TABLE inputs.
Three types of reactions can take place on the overland flow plane:
- uptake from land surface,
- uptake from soil,
- decay.
1) The uptake coefficient controls movement of contaminants into the overland flow based on the concentration deficit (solubility of the constituent and the concentration in solution). The mass flux (F) (g s-1) is computed as:
- F=Ku A(Cmax -C)/86400.0
Where C is the concentration of contaminant in the ponded surface water, and A is the area of the computational grid cell (m2). The value 86400.0 converts the reaction rate into (m s-1).
2) If SOIL_CONTAM is included in the project file Ku is the transfer rate between the soil pore water and the water ponded on the land surface. In this case the mass flux (F) (g s-1) is calculated as:
- F=Ku A(Cponded-Csoil)/86400.0
Where: Cponded is the concentration in the water ponded on the soil surface, Csoil is the concentration in the soil pore water. The value 86400.0 changes the reaction rate from per day to per second. As can be seen in the equation, the direction of the flux is dependent on the relationship between the concentration of the surface water to the soil pore water volume.
While the uptake coefficient is generally considered a calibration coefficient, for contaminants in the soil column the uptake coefficient can be estimated from Thibodeaux, Environmental Chemodynamics 2nd Ed., Wiley, New York, 1996, pp. 276-277 using the relation:
- Ku = D n4/3/(0.5 dml)
where D is the diffusion coefficient of the chemical in water (m2 s-d), n is the porosity, dml is the mixing layer depth (m).
Thibodeaux list a diffusion coefficient for nitrates of 0.000164 m2 d-1. For a typical soil with porosity of 0.4 and a mixing layer depth of 0.1 m, the uptake coefficient for nitrate would be 0.001 m d-1. Lerman, Geophysical Processes, Wiley, New York, 1979, pp. 73-121, lists diffusion coefficients for common ions. It should be noted that effective values for of uptake coefficients for nitrate used in previous modeling efforts, for example Pradhan et al. (2014), have been much lower, on the order of 10-5 m d-1.
Pradhan, N. R., C. W. Downer, and B. E. Johnson, 2014. A Physics Based Hydrologic Modeling Approach to Simulate Non-point Source Pollution for the Purposes of Calculating TMDLs and Designing Abatement Measures, Chapter 9 in Practical Aspects of Computational Chemistry-III, DOI 10.1007/978-1-4899-7445-7_1, J. Leszczynski and M. K. Shukla, eds. Springer Science+Business Media, New York.
3) Contaminants dissolved in surface water decay at the rate:
- F=KCV/86400.0
where V is the volume (m3), A times the depth.
11.3.2 Channels
For channels, the only reaction is decay, calculated as above. The decay coefficient can be set as a uniform value for every stream node by specifying the value (d-1) with the CHAN_DECAY card. In addition to setting the rate, the dispersion coefficient (m2s-1) can be defined with the CHAN_DISP_COEF card. Inital values (g m-3) can be specified with the INIT_CHAN_CONC card. The default value for each of these is zero. The partition coefficient is the same as for the overland.
11.3.3 Soil Column
When transport in the soil is specified with the SOIL_CONTAM card, exchange between the top soil layer and the surface water occurs, as well as decay in the soil pore water. The reactions are the same as described above for overland flow. The soil water distribution coefficient controls the pore water concentration. The fraction of the total that is dissolved is:
where theta is the soil moisture (fraction) and rhos is the dry soil density (Kg m-3). So that the concentration dissolved is:
Cd=fdM/V
where: M is the total mass in the layer (g) and V is the volume of the pore water in the soil layer (m3).
The same reaction rates specified in the MAPPING_TABLE_FILE are used for both the soils and the overland flow.
During simulations uptake, decay, and movement between layers will change the concentration in the surface soil layer, which can be specified as the MIXING_LAYER_DEPTH, or if using INF_REDIST is the top layer depth, either TOP_LAYER_DEPTH or SOIL_MOIST_DEPTH depending on whether one or two soil infiltration layers are specified, or if using INF_LAYERED_SOIL the MIXING_LAYER_DEPTH or the top infiltration layer in the soil profile. In any case the concentration of materials in the surface soil layer can be held static by using the SOIL_STATIC_CONC card in the project file. This might be desirable when either the concentration in the soil is expected to held constant by addition of more constituent, such as N and P addition due to fertilizer. Furthermore, fluxes between soil layers can be halted by using the SOIL_NOFLUX card. This might be desirable to include if the material in the top layer is being flushed out at an excessive rate and reducing the surface soil layer concentration too rapidly. This option may also be desirable to use if exfiltration is occurring and an excessive amount of constituent is being added to the overland flow plane.
11.3 Nutrient Sub Module (NSM) Constituents
NSM Overview
The full nutrient cycle, as descibed by Johnson and Gerald (2006) can be simulated with the Nutrient Simulation Model (NSM)
An overview of the NSM model is provided in
The latest release version of NSM is 3.0. The latest documentation available on NSM is from Version 1.1, which is in publication.
Also in final publication is the description of the NSM channel componennts
Additional information on simulating phosphorous in a gridded approach (GSSHA) can be found in James and Johnson (2007).
Simulating Phosphorous in GSSHA
NSM is an external library that is linked to GSSHA. Not all features of NSM are currently linked to GSSHA. GSSHA has been linked to NSM for soil and surface water reactions (overland and channel) only. GSSHA has been modified to work with NSM for simulating interaction with suspended sediments, but this version is not ready for release. Future versions of GSSHA will include this linkage, as well as linkage to other NSM components, including plant dynamics.
Project File Cards - Required
Setting up nutrients requires several cards. The transport options need to be specified for whichever flow options are turned on. The aquatic environment file, with its stream index map and overland index map, needs to be set up with the kinetic rates.
General Setup
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
NUTRIENTS |
none | Y | Tells GSSHA to do NSM nutrients kinetics and transport |
MIXING_LAYER_DEPTH ##.## |
value | Y if SOIL_CONTAM | The depth of the surface soil layer containing the constituents |
OV_CON_TRANS |
none | Y | Tells GSSHA to do overland constituent transport |
CHAN_CON_TRANS |
none | Y if streams | Tells GSSHA to do channel constituent transport |
SOIL_CONTAM |
none | Y if infiltration | Tells GSSHA to do vadose zone nutrient transport |
AQ_ENV "filename.aqe" |
filename.aqe | Y | The Aquifer Environment file, contains the controlling kinetic rates |
CHAN_PH ##.## |
value | Y if computing Kjeldahl N | The pH of the water (constant), used for computing NH3+ |
WATER_TEMP ##.## |
value | Y | The temperature of the water (constant), used in computing rates of change |
Project File Cards - Optional
General
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
SOURCEFILE "filename.src" |
filename.src | N | describes point and non-point loadings |
OV_DISPERSION [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. |
Soils Initialization
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
SOILS_NSM_P |
none | N | Initialize cell loadings from mapping table values |
SOILS_NSM_N |
none | N | Initialize cell loadings from mapping table values |
SOILS_NSM_C |
none | N | Initialize cell loadings from mapping table values |
Overland Initialization
Values of constituents in water produced by hotstart or init_cell_elev cards.
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
OV_INIT_NO2 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_NO3 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_NH4 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_ON [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_OP [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_DP [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_ALG [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_CBOD [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_INIT_DO [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_DOC_INIT [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
OV_DOC_FOC [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in mg/l. |
Stream Initialization
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
ST_MAPPING_TABLE "filename.smt" |
filename.smt | N | Mapping table for streams. |
ST_INIT_NO2 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_NO3 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_NH4 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_ON [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_OP [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_DP [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_PO4 [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_ALG [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_CBOD [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
ST_INIT_DO [value] |
none, uniform value, or filename.ext | N | If blank, use mapping table. If filename, apply grid of values. Value is in kg per cell. |
Overland Nutrient Output
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
total_ov_n [value] |
filename.ton or path** | N | gridded output of total N mass and concentration (will add .mass and .conc) |
total_ov_p [value] |
filename.top or path** | N | gridded output of total P mass and concentration (will add .mass and .conc) |
out_ov_no2 [value] |
filename.on2 or path** | N | gridded output of overland NO2 mass and concentration (will add .mass and .conc) |
out_ov_no3 [value] |
filename.on3 or path** | N | gridded output of overland NO3 mass and concentration (will add .mass and .conc) |
out_ov_nh4 [value] |
filename.on4 or path** | N | gridded output of overland NH4 mass and concentration (will add .mass and .conc) |
out_ov_on [value] |
filename.oon or path** | N | gridded output of overland ON mass and concentration (will add .mass and .conc) |
out_ov_op [value] |
filename.oop or path** | N | gridded output of overland OP mass and concentration (will add .mass and .conc) |
out_ov_dp [value] |
filename.odp or path** | N | gridded output of overland DP mass and concentration (will add .mass and .conc) |
out_ov_po4 [value] |
filename.op4 or path** | N | gridded output of overland PO4 mass and concentration (will add .mass and .conc) |
out_ov_alg [value] |
filename.oal or path** | N | gridded output of overland Algae mass and concentration (will add .mass and .conc) |
out_ov_cbod [value] |
filename.ocb or path** | N | gridded output of overland CBOD mass and concentration (will add .mass and .conc) |
out_ov_do [value] |
filename.odo or path** | N | gridded output of overland DO mass and concentration (will add .mass and .conc) |
**If MAP_TYPE is 0 (Arc/Info ASCII Grid), then the value supplied should be a valid path. If MAP_TYPE is 4, then the path should be relative to the base grid output folder. For other values of MAP_TYPE a filename should be supplied.
Stream Nutrient Output
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
total_chan_n "filename.tcn" |
filename.tcn | N | link/node output of total N (NO2, NO3, NH3+, NH4) (+.mass in kg, +.conc in mg/l) |
total_chan_kn "filename.tkn" |
filename.tkn | N | link/node output of total Kjeldajl nitrogen (+.mass in kg, +.conc in mg/l) |
total_chan_p "filename.tcp" |
filename.tcp | N | link/node output of total phosphorus (OP + DP) (+.mass in kg, +.conc in mg/l) |
out_st_no2 "filename.sn2" |
filename.sn2 | N | link/node output of NO2 (+.mass in kg, +.conc in mg/l) |
out_st_no3 "filename.sn3" |
filename.sn3 | N | link/node output of NO3 (+.mass in kg, +.conc in mg/l) |
out_st_nh4 filename.sn4 |
filename.sn4 | N | link/node output of NH4 (+.mass in kg, +.conc in mg/l) |
out_st_on filename.son |
filename.son | N | link/node output of Organic Nitrogen (+.mass in kg, +.conc in mg/l) |
out_st_op filename.sop |
filename.sop | N | link/node output of Organic Phosphorus (+.mass in kg, +.conc in mg/l) |
out_st_dp filename.sdp |
filename.sdp | N | link/node output of Dissolved Phosphorus (+.mass in kg, +.conc in mg/l) |
out_st_alg filename.sal |
filename.sal | N | link/node output of Algae (+.mass in kg, +.conc in mg/l) |
out_st_cbod filename.sbd |
filenname.sbd | N | link/node output of CBOD (+.mass in kg, +.conc in mg/l) |
out_st_do filename.sdo |
filename.sdo | N | link/node output of DO (+.mass in kg, +.conc in mg/l) |
Nutrient Loadographs
Card | Input | Req'd for Nutrients | Comments |
---|---|---|---|
out_hyd_no2 |
|||
out_hyd_no3 |
|||
out_hyd_nh4 |
|||
out_hyd_on |
|||
out_hyd_op |
|||
out_hyd_dp |
|||
out_hyd_po4 |
|||
out_hyd_alg |
|||
out_hyd_alg |
|||
out_hyd_cbod |
|||
out_hyd_do |