Skip to content

Commit 626ee27

Browse files
arbennettbartnijssen
authored andcommitted
Adding documentation on longwave calculations (#91)
* Adding documentation on longwave calculations * Add references for longwave methods
1 parent 50689cb commit 626ee27

File tree

1 file changed

+43
-4
lines changed

1 file changed

+43
-4
lines changed

metsim/disaggregate.py

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ def pressure(temp: pd.Series, elev: float, lr: float):
253253
A sub-daily timeseries of temperature
254254
elev:
255255
Elevation
256-
lr:
256+
lr:
257257
Lapse rate
258258
259259
Returns
@@ -358,6 +358,15 @@ def longwave(air_temp: pd.Series, vapor_pressure: pd.Series,
358358
choosing these parameterizations should be passed in
359359
via the `params` argument.
360360
361+
For more information about the options provided in this
362+
function see:
363+
364+
.. [1] Bohn, T.J., Livneh, B., Oyler, J.W., Running, S.W., Nijssen, B.
365+
and Lettenmaier, D.P., 2013. Global evaluation of MTCLIM and
366+
related algorithms for forcing of ecological and hydrological
367+
models. Agricultural and forest meteorology, 176, pp.38-49,
368+
doi:10.1016/j.agrformet.2013.03.003.
369+
361370
Parameters
362371
----------
363372
air_temp:
@@ -379,21 +388,51 @@ def longwave(air_temp: pd.Series, vapor_pressure: pd.Series,
379388
cover fraction.
380389
"""
381390
emissivity_calc = {
382-
'DEFAULT': lambda vp: vp,
391+
# TVA 1972
392+
# Tennessee Valley Authority, 1972. Heat and mass transfer between a
393+
# water surface and the atmosphere. Tennessee Valley Authority, Norris,
394+
# TN. Laboratory report no. 14. Water resources research report
395+
# no. 0-6803.
383396
'TVA': lambda vp: 0.74 + 0.0049 * vp,
397+
# Anderson 1954
398+
# Anderson, E.R., 1954. Energy budget studies, water loss
399+
# investigations: lake Hefner studies. U.S. Geol. Surv. Prof. Pap. 269,
400+
# 71–119 [Available from U.S. Geological Survey, 807 National Center,
401+
# Reston, VA 20192.].
384402
'ANDERSON': lambda vp: 0.68 + 0.036 * np.power(vp, 0.5),
403+
# Brutsaert 1975
404+
# Brutsaert, W., 1975. On a derivable formula for long-wave radiation
405+
# from clear skies. Water Resour. Res. 11 (5), 742–744,
406+
# doi:10.1029/WR011i005p00742.
385407
'BRUTSAERT': lambda vp: 1.24 * np.power(vp / air_temp, 0.14285714),
408+
# Satterlund 1979
409+
# Satterlund, D.R., 1979. An improved equation for estimating long-wave
410+
# radiation from the atmosphere. Water Resour. Res. 15 (6), 1649–1650,
411+
# doi:10.1029/WR015i006p01649.
386412
'SATTERLUND': lambda vp: 1.08 * (
387413
1 - np.exp(-1 * np.power(vp, (air_temp / 2016)))),
414+
# Idso 1981
415+
# Idso, S.B., 1981. A set of equations for full spectrum and 8- to
416+
# 14-µm and 10.5- to 12.5-µm, thermal radiation from cloudless skies.
417+
# Water Resour. Res. 17 (2), 295–304, doi:10.1029/WR017i002p00295.
388418
'IDSO': lambda vp: 0.7 + 5.95e-5 * vp * np.exp(1500 / air_temp),
419+
# Prata 1996
420+
# Prata, A.J., 1996. A new long-wave formula for estimating downward
421+
# clear-sky radiation at the surface. Q. J. R. Meteor. Soc. 122 (533),
422+
# 1127–1151, doi:10.1002/qj.49712253306.
389423
'PRATA': lambda vp: (1 - (1 + (46.5*vp/air_temp)) * np.exp(
390424
-np.sqrt((1.2 + 3. * (46.5*vp / air_temp)))))
391425
}
392426
cloud_calc = {
393-
'DEFAULT': lambda emis: (1.0 + (0.17 * tskc ** 2)) * emis,
427+
# TVA 1972 (see above)
428+
'TVA': lambda emis: (1.0 + (0.17 * tskc ** 2)) * emis,
429+
# Deardorff 1978
430+
# Deardorff, J.W., 1978. Efficient prediction of ground surface
431+
# temperature and moisture, with an inclusion of a layer of vegetation.
432+
# J. Geophys. Res. 83 (N64), 1889–1903, doi:10.1029/JC083iC04p01889.
394433
'CLOUD_DEARDORFF': lambda emis: tskc + (1 - tskc) * emis
395434
}
396-
# Reindex and fill cloud cover, then convert temps to K
435+
# Re-index and fill cloud cover, then convert temps to K
397436
tskc = tskc.reindex_like(air_temp).fillna(method='ffill')
398437
air_temp = air_temp + cnst.KELVIN
399438
vapor_pressure = vapor_pressure * 10

0 commit comments

Comments
 (0)