├── README.md ├── calc_q_sat.m ├── LICENSE └── ET.m /README.md: -------------------------------------------------------------------------------- 1 | # ET 2 | Code for estimating ET using the alternative to the Penman-Monteith equation given in McColl et al. (2020, WRR) 3 | -------------------------------------------------------------------------------- /calc_q_sat.m: -------------------------------------------------------------------------------- 1 | function [ q_sat ] = calc_q_sat(T,P) 2 | % Calculate the saturated specific humidity q_sat (kg kg^{-1}), given temperature T (K) and 3 | % pressure P (Pa) using a standard approximation to the Clausius-Clapeyron 4 | % relationship (valid for -30 deg C <= T <= 35 deg C) 5 | % 6 | % Author: Kaighin McColl 7 | % Date: 07/11/2012 8 | 9 | mol_ratio = 0.62198; % ratio of the molecular weights of water and dry air 10 | 11 | T_cels = T - 273.15; % convert temperature to degrees celsius 12 | q_sat = (mol_ratio/P)*611.2*exp((17.67*T_cels)./(T_cels + 243.5)); 13 | 14 | if T < 50 15 | q_sat = 0; 16 | end 17 | 18 | 19 | end 20 | 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Kaighin McColl 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ET.m: -------------------------------------------------------------------------------- 1 | function LE_est = ET(Ta, qa, gs, ga, Rn, G, P, gg, gr) 2 | % Estimate ET using the alternative to the Penman-Monteith equation derived 3 | % in McColl (2020). The equation uses exactly the same inputs as the 4 | % Penman-Monteith equation. 5 | % 6 | % INPUTS 7 | % Ta: near-surface air temperature [K] 8 | % qa: near-surface specific humidity [-] 9 | % gs: surface conductance [m/s] 10 | % ga: aerodynamic conductance [m/s] 11 | % Rn: net radiation [W m^2] 12 | % G: ground heat flux [W m^2] 13 | % P: near-surface air pressure [Pa] 14 | % gg: storage conductance [m/s] 15 | % gr: radiative conductance [m/s] 16 | % 17 | % OUTPUTS: 18 | % LE_est: estimated latent heat flux [W m^2] 19 | % 20 | % EXAMPLES: 21 | % 1. Given fixed observations of net radiation and ground heat flux, 22 | % estimate ET using the "radiatively uncoupled" equation (analogous to the 23 | % "radiatively uncoupled" Penman-Monteith equation, using the terminology 24 | % of Raupach (2001)) by setting gg = gr = 0: 25 | % [LE_est, Ts_est] = ET(Ta, qa, gs, ga, Rn, G, P, 0, 0) 26 | % 27 | % 2. To include the surface temperature-dependence of outgoing longwave 28 | % radiation and ground heat flux, estimate ET using the "radiatively 29 | % coupled" equation (analogous to the "radiatively coupled" Penman-Monteith 30 | % equation, using the terminology of Raupach (2001)) by choosing positive 31 | % values of gg and gr. See Appendix B of McColl (2020) for more details: 32 | % [LE_est, Ts_est] = ET(Ta, qa, gs, ga, Rn, G, P, gg, gr) 33 | % 34 | % NOTE: 35 | % If gr > 0, Rn should be interpreted as Rn*, as defined in Appendix B 36 | % of McColl (2020). 37 | % If gg > 0, G should be interpreted as G*, as defined in Appendix B of 38 | % McColl (2020. 39 | % 40 | % Please cite: 41 | % McColl, K.A. (2020). Practical and theoretical benefits of an alternative 42 | % to the Penman-Monteith evapotranspiration equation. Water Resources 43 | % Research, 56. https://doi.org/10.1029/2020WR027106 44 | % 45 | % Other references: 46 | % Raupach, M.R. (2001). Combination theory and equilibrium evaporation. 47 | % Quarterly Journal of the Royal Meteorological Society 127, 1149?1181. 48 | 49 | 50 | % Parameters 51 | BOLTZMAN = 1.380658e-23; % BOLTZMAN, Boltzman constant (J/K) 52 | AVOGADRO = .602214199e24; % AVOGADRO, Avogadro constant (1/mol) 53 | MD = 28.9644e-3; % MD, molar mass dry air (kg/mol) 54 | MV = 18.0153e-3; % MD, molae mass water vapor (kg/mol) 55 | r_v = (AVOGADRO)*(BOLTZMAN) / (MV); % r_v, gas constant for water vapor (J/(kg-K)) 56 | r_d = (AVOGADRO)*(BOLTZMAN) / (MD); % r_d, gas constant for dry air (J/(kg-K)) 57 | cp = 7./2*(r_d); % cp, specific heat of air (J/(kg-K)) 58 | lambda = 2.5008e6; % latent heat of vaporization (J/kg) 59 | rho = 1.2; % air density [kg m^-3] 60 | 61 | % Estimate saturation specific humidity [-] 62 | qstarTa = nan(size(Ta)); 63 | for i = 1:length(Ta) 64 | qstarTa(i) = calc_q_sat(Ta(i), P(i)); 65 | end 66 | 67 | % Estimate latent heat flux using equation (B5) of McColl (2020) 68 | LE_est = (cp.*(ga+gg+gr).*rho.*r_v.*(Ta.^2)./lambda).*lambertw(0,... 69 | (((gs.*ga)./(gs+ga)).*(lambda^2).*qstarTa./(cp.*r_v.*(Ta.^2).*(ga+gg+gr))).*... 70 | exp((lambda./(cp.*rho.*r_v.*(Ta.^2).*(ga+gg+gr))).*... 71 | ((Rn-G)+((gs.*ga)./(gs+ga)).*lambda.*rho.*qa))) - ... 72 | ((gs.*ga)./(gs+ga)).*rho.*lambda.*qa; 73 | 74 | end 75 | 76 | --------------------------------------------------------------------------------