def test_check_sol_dec_rad(self): with self.assertRaises(ValueError): _check.check_sol_dec_rad(deg2rad(-23.5001)) with self.assertRaises(ValueError): _check.check_sol_dec_rad(deg2rad(23.5001)) self.assertIsNone(_check.check_sol_dec_rad(deg2rad(-23.5))) self.assertIsNone(_check.check_sol_dec_rad(deg2rad(23.5)))
def test_check_sunset_hour_angle_rad(self): with self.assertRaises(ValueError): _check.check_sunset_hour_angle_rad(deg2rad(-0.00001)) with self.assertRaises(ValueError): _check.check_sunset_hour_angle_rad(deg2rad(180.00001)) self.assertIsNone(_check.check_sunset_hour_angle_rad(deg2rad(0.0))) self.assertIsNone(_check.check_sunset_hour_angle_rad(deg2rad(180.0)))
def test_check_latitude_rad(self): with self.assertRaises(ValueError): _check.check_latitude_rad(deg2rad(-90.0001)) with self.assertRaises(ValueError): _check.check_latitude_rad(deg2rad(90.0001)) self.assertIsNone(_check.check_latitude_rad(deg2rad(-90))) self.assertIsNone(_check.check_latitude_rad(deg2rad(90)))
""" Internal validation functions. :copyright: (c) 2015 by Mark Richards. :license: BSD 3-Clause, see LICENSE.txt for more details. """ from pyeto.convert import deg2rad # Internal constants # Latitude _MINLAT_RADIANS = deg2rad(-90.0) _MAXLAT_RADIANS = deg2rad(90.0) # Solar declination _MINSOLDEC_RADIANS = deg2rad(-23.5) _MAXSOLDEC_RADIANS = deg2rad(23.5) # Sunset hour angle _MINSHA_RADIANS = 0.0 _MAXSHA_RADIANS = deg2rad(180) def check_day_hours(hours, arg_name): """ Check that *hours* is in the range 1 to 24. """ if not 0 <= hours <= 24: raise ValueError('{0} should be in range 0-24: {1!r}'.format( arg_name, hours))
def test_et_rad(self): # Test based on example 8, p.80 of FAO paper etrad = pyeto.et_rad(convert.deg2rad(-20), 0.120, 1.527, 0.985) self.assertAlmostEqual(etrad, 32.2, 1)
def test_sunset_hour_angle(self): # Test based on example 8, p.80 of FAO paper sha = pyeto.sunset_hour_angle(convert.deg2rad(-20), 0.120) self.assertAlmostEqual(sha, 1.527, 3)
""" Internal validation functions. :copyright: (c) 2015 by Mark Richards. :license: BSD 3-Clause, see LICENSE.txt for more details. """ from pyeto.convert import deg2rad # Internal constants # Latitude _MINLAT_RADIANS = deg2rad(-90.0) _MAXLAT_RADIANS = deg2rad(90.0) # Solar declination _MINSOLDEC_RADIANS = deg2rad(-23.5) _MAXSOLDEC_RADIANS = deg2rad(23.5) # Sunset hour angle _MINSHA_RADIANS = 0.0 _MAXSHA_RADIANS = deg2rad(180) def check_day_hours(hours, arg_name): """ Check that *hours* is in the range 1 to 24. """ if not 0 <= hours <= 24: raise ValueError( '{0} should be in range 0-24: {1!r}'.format(arg_name, hours))