@@ -237,7 +237,7 @@ def calc_srad_hum_it(df, tol=0.01, win_type='boxcar'):
237237 pva_save = pva
238238
239239 # FIXME: This function has lots of inputs and outputs
240- tdew , pva , pet = _compute_srad_humidity_onetime (
240+ tdew , pet = _compute_srad_humidity_onetime (
241241 tdew , pva , tt_max0 , flat_potrad ,
242242 slope_potrad , sky_prop , daylength ,
243243 parray , pa , dtr , df )
@@ -290,14 +290,28 @@ def f(x):
290290 df ['s_vpd' ] = np .maximum (vpd , 0. )
291291
292292
293+ def calc_s_swrad (tt_max0 , pva , day_of_year , s_swe , sky_prop ,
294+ daylength , slope_potrad , flat_potrad , s_fdir ):
295+ yday = day_of_year - 1
296+ t_tmax = np .minimum (tt_max0 [yday ] + (params ['ABASE' ] * pva ), 0.0001 )
297+ srad1 = slope_potrad [yday ] * t_final * s_fdir
298+ srad2 = ((flat_potrad [yday ] * t_final * (1 - s_fdir )) *
299+ (sky_prop + params ['DIF_ALB' ] * (1. - sky_prop )))
300+ sc = np .zeros (n_days )
301+ if options ['MTCLIM_SWE_CORR' ]:
302+ inds = np .nonzero (s_swe > 0. & daylength [yday ] > 0. )
303+ sc [inds ] = (1.32 + 0.096 * s_swe [inds ]) * (1.0e6 / daylength [day_of_year ][inds ])
304+ sc = np .maximum (sc , 100. )
305+ s_swrad = srad1 + srad2 + sc
306+ return s_swrad
307+
308+
309+
293310#FIXME: This function has lots of inputs and outputs (see above for call)
294311#FIXME: This needs to not use module level variables inside
295312def _compute_srad_humidity_onetime (tdew , pva , tt_max0 , flat_potrad ,
296313 slope_potrad , sky_prop , daylength ,
297314 parray , pa , dtr , df ):
298- """
299- TODO
300- """
301315 yday = df ['day_of_year' ] - 1
302316 t_tmax = np .minimum (tt_max0 [yday ] + (params ['ABASE' ] * pva ), 0.0001 )
303317 df ['s_ttmax' ] = t_tmax
@@ -344,7 +358,7 @@ def _compute_srad_humidity_onetime(tdew, pva, tt_max0, flat_potrad,
344358 np .power (ratio , 2 ) - 32.766 * np .power (ratio , 3 )) +
345359 0.0006 * dtr )
346360 tdew_tmp = tdewk - consts ['KELVIN' ]
347- return tdew_tmp , pva , pet
361+ return tdew_tmp , pet
348362
349363
350364def calc_longwave (s_t_day , s_tskc ):
0 commit comments