示例#1
0
    def test_daylight_hours(self):
        station = Station(41.42, 109)
        day = station.day(135)
        day.temp_min = 19.5
        day.temp_max = 28

        self.assertEqual(day.daylight_hours(), 14.3, "daylighth_hours")
示例#2
0
    def test_actual_vapour_pressure_dew(self):
        station = Station(41.42, 1200)
        station.climate = Climate()
        day = station.day(130)

        self.assertEqual(day.temp_dew, None, "Dew temp is not known")
        day.temp_dew = 17.0
        self.assertEqual(day.temp_dew, 17.0, "Dew temp is set")
        self.assertEqual(day.actual_vapour_pressure(), 1.938,
                         "Actual vapour pressure with no psychrometric data")
示例#3
0
 def test_actual_vapour_pressure_psychrometric(self):
     station = Station(41.42, 1200)
     station.climate = Climate()
     day = station.day(130)
     day.temp_wet = 19.5
     day.temp_dry = 25.6
     self.assertEqual(day.atmospheric_pressure(), 87.9, 87.9)
     self.assertEqual(day.saturation_vapour_pressure(19.5), 2.267)
     self.assertEqual(day.temp_dew, None, "No dew point temperature known")
     self.assertEqual(day.actual_vapour_pressure(), 1.91,
                      "Actual vapour pressure from psychrometric data")
示例#4
0
    def test_actual_vapour_pressure_humidity_max_temp_min(self):
        station = Station(41.42, 1200)

        day = station.day(130)
        day.temp_min = 18
        day.humidity_max = 82

        actual_vp = day.actual_vapour_pressure()
        self.assertEqual(
            actual_vp, 1.692,
            "Actual vapour pressure with only humidity_max and temp_min")
示例#5
0
    def test_vapour_pressure_deficit(self):
        station = Station(41.42, 1200)

        day = station.day(130)
        day.temp_min = 18
        day.temp_max = 25
        day.humidity_max = 82
        day.humidity_min = 54

        vp_deficit = day.vapour_pressure_deficit()
        self.assertEqual(vp_deficit, 0.914,
                         "Dtermining vapour pressure deficit")
示例#6
0
    def test_actual_vapour_pressure_humidity_mean(self):
        station = Station(41.42, 1200)

        day = station.day(130)
        day.temp_min = 18
        day.temp_max = 25
        day.humidity_mean = 68

        actual_vp = day.actual_vapour_pressure()
        self.assertEqual(
            actual_vp, 1.779,
            "Actual vapour pressure with only humidity_mean, temp_min and temp_max"
        )
示例#7
0
    def test_actual_vapour_pressure_humidity(self):

        station = Station(41.42, 1200)
        station.climate = Climate()

        day = station.day(130)
        day.temp_min = 18
        day.temp_max = 25
        day.humidity_max = 82
        day.humidity_min = 54

        sat_vap_pres_min = day.saturation_vapour_pressure(day.temp_min)
        self.assertEqual(sat_vap_pres_min, 2.064)

        sat_vap_pres_max = day.saturation_vapour_pressure(day.temp_max)
        self.assertEqual(sat_vap_pres_max, 3.168)

        actual_vp = day.actual_vapour_pressure()
        self.assertEqual(actual_vp, 1.702)
示例#8
0
 def test_psychrometric_constant(self):
     station = Station(41.42, 1800)
     station.climate = Climate()
     day = station.day(130)
     self.assertEqual(day.psychrometric_constant(), 0.054397,
                      "psychrometric constant")
示例#9
0
 def test_atmospheric_pressure(self):
     station = Station(41.42, 1800)
     station.climate = Climate()
     day = station.day(130)
     self.assertEqual(day.atmospheric_pressure(), 81.8,
                      "Atmosphertic pressure")
示例#10
0
 def test_sunset_hour_angle(self):
     station = Station(-20.0, 1200)
     sunset_angle = station.day(246).sunset_hour_angle()
     self.assertEqual(sunset_angle, 1.527)