Beginning with the advective flux term of Penman (1948) [kg/m²/s]:
\[ E_a=\rho_a \frac{\varepsilon}{p_a} d_a \cdot f(u) \]
where \(d_a=(1-r)e_s\) is the vapour pressure deficit [Pa], and the wind-function \(f(u)=a+ub\) [m/s] leaves a pair of empirical parameters: \(a\) and \(b\). With \(\varepsilon=0.622\) and using standard values of \(\rho_a=1.2\text{ kg m}^{-3}\) and \(p_a=10^5\text{ Pa}\), the above is reduced to (Novák, 2012):
\[ E_a=7.46\times 10^{-6} \cdot (a+ub) d_a \]
has the units [mm/s] for water and requires as input:
Daily Pan evaporation was measured by the Meteorological Services Canada (MSC) at a variety (17) of locations near the ORMGP jurisdiction from 1962-04-04 to 1996-10-31 (12629 days). The file 199611010000_exportPanEvap.nc
was exported from FEWS.
station_id | aes_id | station_name | lat | long | elev |
---|---|---|---|---|---|
4534 | 6119325 | WASHAGO | 44.75000 | -79.33333 | 221.6 |
4703 | 6139145 | VINELAND STATION | 43.18333 | -79.40000 | 79.2 |
4733 | 6140818 | BLUE SPRINGS CREEK | 43.63333 | -80.11667 | 373.4 |
4756 | 6142285 | ELORA RESEARCH STN | 43.65000 | -80.41667 | 376.4 |
4763 | 6142627 | FULLARTON | 43.38333 | -81.20000 | 335.3 |
4774 | 6143083 | GUELPH OAC | 43.51667 | -80.23333 | 333.8 |
4832 | 6149387 | WATERLOO WELLINGTON A | 43.45000 | -80.38333 | 317.0 |
4866 | 6150830 | BOWMANVILLE MOSTERT | 43.91667 | -78.66667 | 99.1 |
4881 | 6151042 | BURKETON MCLAUGHLIN | 44.03333 | -78.80000 | 312.4 |
4900 | 61515DE | CLAREMONT FIELD CENTRE | 43.95000 | -79.08333 | 182.9 |
4937 | 6153300 | HAMILTON RBG | 43.28333 | -79.88333 | 102.1 |
4945 | 6153545 | HORNBY | 43.56667 | -79.85000 | 198.1 |
4959 | 6154611 | LONG SAULT IHD | 44.05000 | -78.71667 | 342.9 |
5100 | 6158740 | TORONTO MET RES STN | 43.80000 | -79.55000 | 193.5 |
5105 | 6158749 | TORONTO NEW INT’L A | 43.95000 | -79.13333 | 262.7 |
5178 | 6164433 | LINDSAY FROST | 44.33835 | -78.74028 | 262.1 |
5192 | 6166455 | PETERBOROUGH TRENT U | 44.36667 | -78.30000 | 198.1 |
Hourly scalar data from the MSC was collected from 105 stations over the same period. These data contain the necessary input \((T_a, p_a, r, u)\) for the model. The file 199611010000_exportMSChourlyNetcdf.nc
was exported from FEWS.
Parameters \(a\) and \(b\) were determined automatically using a shuffled complex evolution (SCE) global optimization routine. The Nash-Sutcliffe (1970) efficiency factor (NSE) is computed for both daily and monthly timeseries, and the average of these 2 objective functions is automatically maximized.
The goal here is not to create a predictive model, rather an empirical function that allows me to distribute \(E_a\) estimates regionally.
MSC station 4832: WATERLOO WELLINGTON A maintained a 10+ years pan evaporation station with concurrent hourly meteorological data; however, reported only at daytime hours. This station was used as a benchmark in validating the above model formulation. Using the SCE optimization, \(a=0.0107\) and \(b=7.8\times 10^{-4}\) yielded the following results.
Monthly evaporation amounts followed seasonal trends well. In the image above, simulated and observed monthly evaporation flux are in good agreement (NSE=0.90).
From visual inspection, the model shows good match at the daily timescale (r²=0.55).
Or, as an alternate view, a scatter plot of daily data:
Due to the poor coordination among pan evaporation stations and hourly meteorological stations, the 17 locations where pan evaporation was measured had hourly climate data interpolated to it’s location. The SCE optimization routine was then applied independently to all stations using the interpolated input data.
Using
pyFEWS\prep\interpolateMSCpanET.py
to create199611010000_exportPanEvap-InterpolatedMSChourly.nc
~9hrs
Usingsrc\ORMGP Modelling\PanEvap\opt\main.go
to optimize ~10min
The resulting weighted (by data length) model parameters are \(a=9.3\times 10^{-3}\) and \(b=7.8\times 10^{-4}\) shown below as the red diamond:
It is worthy of note that \(b\) is an order of magnitude less than \(a\). With wind speeds at times exceeding 10 m/s, any effect wind has on evaporation occurs on infrequent windy days. As a long term model, further simplification of the above equation may be allowed to something like \(E_a=Cd_a\), a function of \(T_a\) and \(r\) — maybe next time.
There is also an apparent linear trend to the optimized set of parameter pairs, which may offer leads to further simplifying the equation.
A problem with calibrating to evaporation data is the seasonal constraints to southern Ontario. The parameters determined above are entirely conditioned on the summer season. Projecting the results into the winter season using the above formulation and parameterization appears to look consistent where winter rates of evaporation potential fall to ~15% that of summer rates.
The model also has a lower limit of zero meaning that condensation/dew collection is not represented. It is then assumed that this is a negotiable source to the land surface water balance.
199611010000_exportPanEvap.nc
Export of collected MSC daily pan evaporation data;199611010000_exportMSChourlyNetcdf.nc
Export of collected MSC hourly data;199611010000_exportPanEvap-InterpolatedMSChourly.nc
Exported MSC hourly data interpolated to Pan Evaporation station locations.to read *.nc files
import np
import netCDF4 as nc
with nc.Dataset('199611010000_exportMSChourlyNetcdf.nc') as ds:
ds.set_auto_mask(False) # https://github.com/Unidata/netcdf4-python/issues/785
for v in ds.variables: print(v) # print available variables
tim = ds.variables['time']
tims = nc.num2date(tim[:],tim.units).astype('datetime64[ns]')
nt = len(tims)
lats = ds.variables['lat'][:]
lngs = ds.variables['lon'][:]
elev = ds.variables['z'][:]
def getVar(vnam):
print(" - "+vnam)
v = ds.variables[vnam][:,:]
v[v == -9999] = np.nan
return v
sids = getVar('station_id')
smns = getVar('station_names')
pa = getVar('air_pressure')
ta = getVar('air_temperature')
rh = getVar('relative_humidity')
wd = getVar('wind_direction')
ws = getVar('wind_speed')
Nash, J.E. and J.V. Sutcliffe, 1970. River flow forecasting through conceptual models, Part I - A discussion of principles. Journal of Hydrology, 10. pp. 282-290.
Novák, V., 2012. Evapotranspiration in the Soil-Plant-Atmosphere System. Springer Science+Business Media Dordrecht. 253pp.
Penman, H.L. (1948) Natural evaporation from open water, bare soil and grass. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences 193(1032): 120-145.