def test_calc_decay_no_landfall_pass(self): """ Test _calc_land_decay with no historical tracks with landfall """ tc_track = TCTracks() tc_track.read_processed_ibtracs_csv(TEST_TRACK_SHORT) land_geom = tc._calc_land_geom(tc_track.data) tc._track_land_params(tc_track.data[0], land_geom) with self.assertLogs('climada.hazard.tc_tracks', level='INFO') as cm: tc_track._calc_land_decay(land_geom) self.assertIn('No historical track with landfall.', cm.output[0])
def test_calc_land_decay_pass(self): """ Test _calc_land_decay with environmental pressure function.""" tc_track = TCTracks() tc_track.read_processed_ibtracs_csv(TC_ANDREW_FL) land_geom = tc._calc_land_geom(tc_track.data) tc._track_land_params(tc_track.data[0], land_geom) v_rel, p_rel = tc_track._calc_land_decay(land_geom) self.assertEqual(7, len(v_rel)) for i, val in enumerate(v_rel.values()): self.assertAlmostEqual(val, 0.0038894834) self.assertTrue(i + 1 in v_rel.keys()) self.assertEqual(7, len(p_rel)) for i, val in enumerate(p_rel.values()): self.assertAlmostEqual(val[0], 1.0598491) self.assertAlmostEqual(val[1], 0.0041949237) self.assertTrue(i + 1 in p_rel.keys())