+

VELMA Surface Evaporation

Overview

VELMA version 2.2.0.0 supports the inclusion of Surface Evaporation as part of simulation configurations.
When Surface Evaporation is included in a simulation run, evaporation amounts are calculated during each simulation step at each cell, and the calculated amounts of evaporated water are removed from the cell (and the simulation state). Water removed by surface evaporation is reported in Daily and Cell-specific .csv files of the simulation's results folder. Additionally, spatial-data writers may be configured to report evaporation amounts in .asc map files.

Important: Additional Driver Data Requirement

Calculating surface evaporation involves dew point, and VELMA's Surface Evaporation code uses minimum air temperature as an approximate value for dew point. Therefore, any VELMA simulation configuration that includes Surface Evaporation must also include per-step minumum air temperature values as part of the driver data for its weather model.
Miniumum air temperature values are not required for VELMA simulation configuration without Surface Evaporation, but simulations configured with Surface Evaporation must provide miniumum air temperature driver data: without it, the simulation run will halt and fail during the first simulation step.
See the Dewpoint and Dewpoint Correction section of this document for how to provide minimum air temperature values to the simulation.

Adding Surface Evaporation to a VELMA Configuration

Begin by loading a VELMA simulation configuration into JVelma, or by creating a new configuration from within JVelma (via the Edit -> "Create a New, Empty Configuration" menu item).

Next, click the Edit -> "Set Surface Evaporation Model" to display the Surface Evaporation sub-menu. The Surface Evaporation sub-menu has two items: "NO Surface Evaporation Model" and "Default Surface Evaporation Model".

To add Surface Evaporation parameters to the current configuration, click the "Default Surface Evaporation Model" item.

Note: If the current configuration already contains Surface Evaporation parameters, clicking "Default Surface Evaporation Model" "resets" all existing Surface Evaporation parameters back to their default values.

When you click "Default Surface Evaporation Model", JVelma shifts display focus to the "All Parameters" tab, and filters the rows of the parameters table to those specific to Surface Evaporation.

The current set of Surface Evaporation parameters is relatively small, and several of them should be left as-is, set to the values provided as defaults.

Parameters That Can (Should!) be Left Alone

The modelClass parameter is set by JVelma when you add the contaminant to the simulation configuration. Do Not Change this parameter's value. Ever.

The uniqueName parameter is automatically set to the rightmost name in the dot-separated sequence of the modelClass name and should be left as-is.

The uniqueId parameter is generated automatically and should be left as-is.

Parameters That Affect Surface Evaporation Behavior

The rainfallCutoff parameter specifies the amount of recent rainfall (in mm) at a given cell necessary to trigger dew point correction prior to calculating the cell's surface evaporation.

When recentRainfall > rainfallCutoff --> perform dew point correction.

By default, this parameter's value is set to an "impossibly high" value, which effectively prohibits dew point correction. Be sure to change this parameter's value to something reasonable for your specific simulation configuration if you expect dew point correction to occur.

The setDewpointMtclimK parameter provides a K-coefficient calibration parameter for the MTCLIM equation used to compute dew point correction.
The value of this parameter can be either a floating point number or the name of an .asc grid map file of cell-specific values.

parameter type example behavior
single value 1.65 Specified value is used as the dew point MTCLIM K-coefficient at all delineated cells
map file name ./m_1_DEM/dewpointK_values.asc Values in the specified file are used as cell-specific MTCLIM K-coefficient values.

When setDewpointMtclimK is set to an .asc grid map file, the file may be specified by its name alone, its name and a partial path, or its name and a fully-qualified path. When a fully-qualified path is not specified, VELMA assumes the name or partial path + name is relative to the root input data directory specified by the configuration parameters inputDataLocationRootName and inputDataLocationDirName.

An .asc grid map file used to provide data for the dew point K-coefficient calibration parameter must duplicate all of the DEM grid .asc file's header (ncols, nrows, etc.) values.

It should also not contain nodata_value values, because the Surface Evporation code does screen out or replace nodata_values in the .asc file. Any nodata_value value coinciding with a cell included in the simulation's delineated watershed will have the nodata_value value assigned as its MTMLIM K-coefficient. This is unlikely to be what was intended, and is difficult to detect if it occurs.

Parameters That Provide Additional Reporting Data

The enableTraceCell and traceCellIndex pair of parameters determine whether or not VELMA collects and reports extra Surface Evaporation calculation details and the cell location those details are reported for.

When enableTraceCell is set true, VELMA writes a log message containing Surface Evaporation details for the cell location specified by traceCellIndex to the global trace log .csv file specified by the VELMA csvTraceLogFileName parameter (default name "GlobalTraceLog.csv").

The traceCellIndex parameter's value can either be left unspecified, or be the linear cell index value of a cell within the watershed delineated for the simulation configuration. When it is left unspecified, VELMA will default to reporting details at the simulation configuration's specified outlet cell.

enableTraceCell traceCellIndex Outcome
true blank outlet cell's surface ev. details logged to csvTraceLogFileName file.
true cell index specified cell's surface ev. details logged to csvTraceLogFileName file.
false blank no tracing written to trace .csv file.
false cell index no tracing written to trace .csv file.

The details reported can assist in understanding surface evaporation behavior during calibration, but reporting them costs a bit of additional running, and increases the size of the global trace log .csv file. For this reason, enableTraceCell is set false by default, and VELMA only reports details for a single cell location.

Removing Surface Evaporation from a VELMA Configuration

Clicking Edit -> "Set Surface Evaporation Model" -> "NO Surface Evaporation Model" removes any existing Surface Evaporation parameterization from the current configuration. When the current configuration has no existing Surface Evaporation parameters, clicking "NO Surface Evaporation Model" does nothing.

An Overview of Surface Evaporation's Behavior and Effect

How are Surface Evaporation Amounts Calculated?

Surface Evaporation amounts are computed based on the technique described by Edward T. Linacre in his 1994 paper:
Linacre, Edward T. “Estimating U.S. Class A Pan Evaporation from Few Climate Data.” Water International, vol. 19, no. 1, 1994, pp. 5–14.

Based on that paper, this is the equation VELMA uses:

ev = (0.015 + 0.00042 * temperature + 0.000001 * elevation) * (0.8 * irradiance - 40 + 2.5 * airDensityByElev * windSpeed * (temperature - dewPoint))

The components of the formula are:

Component Description Cell-Specific?
0.015 [ * ] no
0.00042 [ * ] no
temperature average daily air temperature, degrees C configuration-dependent
0.8 [ * ] no
irradiance solar irradiance in W/m^2 configuration-dependent
40 [ * ] no
2.5 [ * ] no
airDensityByElev change in air density with elevation yes
windSpeed wind speed in m/sec at 2 meters above ground no
dewPoint deg C configuration-dependent

Note: Each [ * ] indicates a constant value for a term of the equation, as utilized by Linacre in the 1994 paper.
These values were derived by Linacre for his 1994 paper, based on his earlier 1993 paper:
Linacre, Edward T. “Data-Sparse Estimation of Lake Evaporation, Using a Simplified Penman Equation.” Agricultural and Forest Meteorology, vol. 64, no. 3, 1993, pp. 237–56.

Note: "configuration-dependent" indicates the component may or may not be cell-specific, depending upon the VELMA simulation configuration and driver data in use.

Note: Currently, VELMA hardwires windSpeed to the value 0.001.

How Does Surface Evaporation Affect Simulation State?

When the simulator calculates a Surface Evaporation amount greater than zero for a cell location, the cell's current SURFACE_LATERAL_OUTFLOW water amount is reduced by the calculated evaporation amount. When the calulated evaporation amount exceeds the cell's current SURFACE_LATERAL_OUTFLOW amount, the SURFACE_LATERAL_OUTFLOW is zeroed. SURFACE_LATERAL_OUTFLOW is the amount of water that VELMA's Water Balance mechanism has determined a cell will transfer to its downhill neighbors during the current simulation step. Therefore, Surface Evaporation has the overall effect of (slightly) reducing the water amounts moving across the watershed surface during a simulation run. Because surface water may penetrate (inflow) into a cell's soil layers, Surface Evaporation can indirectly affect the water balance of a cell's soil layers (by reducing the amount of surface water available for inflow).

Surface Evaporation is a separate computation from VELMA's PET/ET calculation. Unlike Surface Evaporation, PET/ET is calculated against the water amounts in the four soil layers, may include leaf biomass as a calculation factor, and is itself a factor of VELMA's water balance difference equations.

When Does Surface Evaporation Occur?

Surface Evaporation amounts are computed individually for each cell, during each simulation step. Within the sequence of events that constitute a simulation step, Surface Evaporation is calculated after a cell's water balance is determined, but before transport of chemicals by lateral or vertical water movement is calculated. Surface Evaporation also occurs before water movement through drain pipes (if the simulation is configured with Water Drains).

Dew Point and Dew Point Correction

Dew point is one of factors required for caculating surface evaporation values, and VELMA's Surface Evaporation code uses minimum air temperature as an approximate value for dew point. Therefore, as previously stated, VELMA simulations configured for Surface Evaporation *must * include per-step minimum air temperature driver data, or the simulation will and fail during the first simulation step.

See the MinMaxAirT Weather Drivers Overview document for a summary of VELMA weather model min/max air temperature support and how to provide driver data.

When a simulation configuration additionally provides maximum air temperature driver data values for its weather model and a value or map for its setDewpointMtclimK parameter, VELMA's Surface Evaporation code can attempt to improve ("correct") dew point values by setting them equal to the result of a MTCLIM model calculation.
However: keep in mind that even when all the necessary configuration/driver data is specified, dew point correction still occurs only when recent rainfall is greater than value of the rainfallCutoff parameter.
I.e.

When (Has max airT driver data) AND (Has setDewpointMtclimK value) AND (recentRainfall > rainfallCutoff) --> dew point correction is computed.

Simulation Results for Surface Evaporation

Basic Evaporation Results

When a VELMA simulation configuration includes Surface Evaporation, VELMA's DailyResults.csv and AnnualResults.csv files, along with any specified Cell-writer .csv files, include columns reporting per-step surface evaporation amounts.

In DailyResults.csv and AnnualResults.csv, the current column name for Surface Evaporation values is:

Surface_Evaporation(mm/day)_Delineated_Average

In Cell-writer .csv files, the current column name for Surface Evaporation values is:

Surface_Evaporation(mm/day)

Surface Evaporation-specific data columns are not included in VELMA results files when Surface Evaporation is not part of the simulation configuration.

Optional, Detailed Reporting for Configuration Calibration

When the Surface Evaporation enableTraceCell parameter is set true, VELMA writes a location-specific log message containing evaporation calculation details for each simulation step to the csvTraceLogFileName (default name "GlobalTraceLog.csv") .csv results file. The log messages report details of the surface evaporation calculation at every simulation step, but only for a single cell location, specified by the traceCellIndex parameter.

A header log message for the trace data is also written; it looks like this:

FINEST,doSurfaceEvaporationAtCell,Loop,Step,Year,Jday,iCell,elevation,airDensityByElev,aveTemperature,minTemperature,maxTemperature,irradiance,recentRainfall,todayRain,rainfallCutoff,dewpointMtclimK,mtclimVal,dewPoint,T1_surfaceLateralOutFlow,evapo,actualEvapo,diff(evapo - actualEvapo),T2_surfaceEvaporation,T2_surfaceLateralOutFlow
Column Header Description
FINEST The logging level of the data.
doSurfaceEvaporationAtCell The VELMA code that created the data.
Loop The simulation loop when this row of data was written.
Step The simulation step (zero-based) when this row of data was written.
Year The simulation year when this row of data was written.
Jday The Julian day of the year when this row of data was written.
iCell The location (linear cell index) that this data is for.
elevation The elevation (in meters) of iCell.
airDensityByElev The air density used in the evaporation calculation.
aveTemperature iCell's average air temperature (in degrees C)
minTemperature iCell's minimun air temperature (in degrees C)
maxTemperature iCell's maximum air temperature (in degrees C). A value of NaN indicates maximum air temperature driver data was unavailable.
irradiance iCell's irradiance (in Watts/m^2)
recentRainfall The amount (in mm) of recent rainfall. (Currently, "recent" means rainfall on the previous day).
todayRain The amount (in mm) of rainfall for the current simulation Step, at this iCell.
rainfallCutoff The value specified for the rainfallCutoff parameter.
dewpointMtclimK The value specified for the setDewPointMtclimK parameter either directly or via .asc map file at this iCell. A value of NaN indicates the parameter was left blank.
mtclimVal The MTCLIM value calculated as the corrected dew point value for this cell. A value of NaN may indicate no mctlimVal was computed, or that a specific value computed to NaN.
dewPoint The dew point value used in the evaporation calculation.
T1_surfaceLateralOutFlow The amount of water (in mm) available in the surface lateral outflow pool for this cell, at this simulation step, before evaporation takes place.
evapo The amount of water calculated as evaporated for iCell at the current simulation Step.
actualEvapo The amount of water actually evaporated (removed from the surface lateral outflow pool) at iCell for this simulation Step.
diff(evapo - actualEvapo) The difference between the two prior values, calculated as shown in the header text.
T2_surfaceEvaporation The amount of water (in mm) calculated as evaporated -- should match the "actualEvapo" value.
T2_surfaceLateralOutFlow The amount of water (in mm) remaining in the surface lateral outflow pool after it is reduced by the calculated evaporation amount.

Configuring Spatial Data Writers for Surface Evaporation

VELMA simulations configured with Surface Evaporation can report spatially-explicit evaporation amounts as part of simulation run results by configuring a Spatial Data Writer to capture SURFACE_EVAPORATION.

Here is an example spatial data parameterization:

/spatialDataWriter/SurfaceEv/allowNonWatershedCellValues, false
/spatialDataWriter/SurfaceEv/initializeActiveInterval,
/spatialDataWriter/SurfaceEv/initializeActiveJdays, 1
/spatialDataWriter/SurfaceEv/initializeActiveLoops, 1
/spatialDataWriter/SurfaceEv/initializeActiveYears, 1980
/spatialDataWriter/SurfaceEv/initializeResultsLocation, ./SpatialResults
/spatialDataWriter/SurfaceEv/initializeSpatialDataSources, SURFACE_EVAPORATION
/spatialDataWriter/SurfaceEv/modelClass, SpatialDataWriter
/spatialDataWriter/SurfaceEv/trimOutputToWatershedBoundary, false

Other simulation configurations could select different timing or trimming values. Only the initializeSpatialDataSources parameter's value is invariant: it must be set to SURFACE_EVAPORATION for the Spatial Data Writer to successfully report surface evaporation data values.

The Surface Evaporation Runtime Display

When VELMA simulation configurations include Surface Evaporation, the JVelma GUI's "Chart" provides a basic runtime display option.
After starting a simulation run in JVelma, in the "Chart" tab, click the drop-down display selector to list the available chart types, and click-select "Surface Evaporation". (Note: "Surface Evaporation" only appears in the drop-down if the running simulation configuration includes Surface Evaporation.)

The Surface Evaporation display provides spatially-explicit views of current surface evaporation values and surface later outflow amounts, as well as daily average temporal charting for the same.

The display panel color-range min/max values are specified by the following configuration parameters:

Parameter Name Defines?
minSurfaceEvaporationSpatialDisplay min value for upper-left Surface Evaporation spatial panel.
maxSurfaceEvaporationSpatialDisplay max value for upper-left Surface Evaporation spatial panel.
minSurfaceLateralOutflowSpatialDisplay min value for upper-right Surface Lateral Outflow spatial panel.
maxSurfaceLateralOutflowSpatialDisplay max value for upper-right Surface Lateral Outflow spatial panel.
minSurfaceEvaporationDayDisplay min value for the left-side scale of the bottom Daily Averaged temporal panel.
maxSurfaceEvaporationDayDisplay max value for the left-side scale of the bottom Daily Averaged temporal panel.
maxRainDayDisplay max value for the right-side scale of the bottom Daily Averaged temporal panel.

Note: there is no minRainDayDisplay parameter. Minimum rain is hardwired to "0.0".

Adjust these values to provide suitable color ramping for your simulation's range of evaporation and surface lateral outflow amount values.