class TestOrbitalGranuleFilter(unittest.TestCase): def setUp(self): config = {'config_name':"DummySatData", 'sat_name':"NOAA 19", 'instrument':"AVHRR", 'file_source_pattern':"/home/msg/archive/AVHRR/avhrr_%Y%m%d_%H%M00_noaa19.hrp.bz2", 'granule_duration':"00:01:00", 'time_step':"00:01:00", 'time_step_offset':"00:00:00", 'area_of_interest':"(-25,62.5),(-25,67),(-13,67),(-13,62.5)"} self.af = OrbitalGranuleFilter(config) # override orbital_layer with a particular TLE orbital element. self.af.orbital_layer.set_tle("1 29499U 06044A 11254.96536486 .00000092 00000-0 62081-4 0 5221", "2 29499 98.6804 312.6735 0001758 111.9178 248.2152 14.21501774254058") def test_validate(self): # Run result1 = self.af.validate("/home/msg/archive/AVHRR/avhrr_20140225_133400_noaa19.hrp.bz2") result2 = self.af.validate("/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2") result3 = self.af.validate("/home/msg/archive/AVHRR/avhrr_20140225_133600_noaa19.hrp.bz2") result4 = self.af.validate("/home/msg/archive/AVHRR/avhrr_20140225_133700_noaa19.hrp.bz2") result5 = self.af.validate("/home/msg/archive/AVHRR/avhrr_20140225_160000_noaa19.hrp.bz2") # Assert self.assertTrue(result1) self.assertTrue(result2) self.assertTrue(result3) self.assertFalse(result4) self.assertFalse(result5) def test_filter(self): # Run files = ["blabla", "H-000-MSG3__-MSG3________-WV_073___-000009___-201401231300", "/home/msg/archive/AVHRR/avhrr_20140225_133400_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133600_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133700_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_160000_noaa19.hrp.bz2", "H-000-MSG3__-MSG3________-IR_108___-000003___-201401231300"] result = self.af(files) # Assert self.assertItemsEqual(result,[files[2],files[3],files[4]]) def test_complete(self): # Run result = self.af.complete("/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2") # Assert self.assertItemsEqual(result, ["/home/msg/archive/AVHRR/avhrr_20140225_133400_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133600_noaa19.hrp.bz2"]) def test_gf_complete_vs_gbd_complete(self): # Run gf_result = self.af.complete("/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2") gbd_result = self.af(["/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2"]).complete() # Assert self.assertItemsEqual(gf_result, gbd_result)
def setUp(self): config = { 'config_name': "DummySatData", 'sat_name': "NOAA 19", 'instrument': "AVHRR", 'file_source_pattern': "/tmp/test_pygranule/sftp/avhrr_%Y%m%d_%H%M00_noaa19.{0}.hrp.bz2", 'subsets': "{L1,L2}", 'granule_duration': "00:01:00", 'time_step': "00:01:00", 'time_step_offset': "00:00:00", 'area_of_interest': "(0.0,73.0),(0.0,61.0),(-30.0,61.0),(-39,63.5),(-55.666,63.5),(-57.75,65),(-76,76),(-75,78),(-60,82),(0,90),(30,82),(0,82)" } self.gf = OrbitalGranuleFilter(config) # override orbital_layer with a particular TLE orbital element. self.gf.orbital_layer.set_tle( "1 29499U 06044A 11254.96536486 .00000092 00000-0 62081-4 0 5221", "2 29499 98.6804 312.6735 0001758 111.9178 248.2152 14.21501774254058" ) # generate some filenames self.files = [] t = datetime(2014, 2, 25, 13, 15) dt = timedelta(minutes=1.0) for i in range(20): self.files += self.gf.source_file_name_parser.filenames_from_time( t + i * dt)
def setUp(self): config = { 'config_name': "DummySatData", 'sat_name': "NOAA 19", 'instrument': "AVHRR", 'file_source_pattern': "/home/msg/archive/AVHRR/avhrr_%Y%m%d_%H%M00_noaa19.hrp.bz2", 'granule_duration': "00:01:00", 'time_step': "00:01:00", 'time_step_offset': "00:00:00", 'area_of_interest': "(-25,62.5),(-25,67),(-13,67),(-13,62.5)" } self.af = OrbitalGranuleFilter(config) # override orbital_layer with a particular TLE orbital element. self.af.orbital_layer.set_tle( "1 29499U 06044A 11254.96536486 .00000092 00000-0 62081-4 0 5221", "2 29499 98.6804 312.6735 0001758 111.9178 248.2152 14.21501774254058" )
def setUp(self): try: f = open("ssh_test_access", "r") host = f.readline().strip() user = f.readline().strip() passwd = f.readline().strip() except: self.skipTest("no 'ssh_test_access' file defined") config = { 'config_name': "DummySatData", 'sat_name': "NOAA 19", 'instrument': "AVHRR", 'protocol': "sftp", 'server': user + ":" + passwd + "@" + host, 'file_source_pattern': "/tmp/test_pygranule/sftp/avhrr_%Y%m%d_%H%M00_noaa19.{0}.hrp.bz2", 'file_destination_pattern': "/tmp/test_pygranule/local/%Y/%j/{0}/n19_%H%M%S_%Y%j.{0}.hrp.bz2", 'subsets': "{L1,L2}", 'granule_duration': "00:01:00", 'time_step': "00:01:00", 'time_step_offset': "00:00:00", 'area_of_interest': "(0.0,73.0),(0.0,61.0),(-30.0,61.0),(-39,63.5),(-55.666,63.5),(-57.75,65),(-76,76),(-75,78),(-60,82),(0,90),(30,82),(0,82)" } self.gf = OrbitalGranuleFilter(config) # override orbital_layer with a particular TLE orbital element. self.gf.orbital_layer.set_tle( "1 29499U 06044A 11254.96536486 .00000092 00000-0 62081-4 0 5221", "2 29499 98.6804 312.6735 0001758 111.9178 248.2152 14.21501774254058" ) # generate some filenames self.files = [] t = datetime(2014, 2, 25, 13, 30) dt = timedelta(minutes=1.0) for i in range(20): self.files += self.gf.source_file_name_parser.filenames_from_time( t + i * dt) # touch filenames for fn in self.files: make_dummy_file(fn)
def setUp(self): config = {'config_name':"DummySatData", 'sat_name':"NOAA 19", 'instrument':"AVHRR", 'file_source_pattern':"/home/msg/archive/AVHRR/avhrr_%Y%m%d_%H%M00_noaa19.hrp.bz2", 'granule_duration':"00:01:00", 'time_step':"00:01:00", 'time_step_offset':"00:00:00", 'area_of_interest':"(-25,62.5),(-25,67),(-13,67),(-13,62.5)"} self.af = OrbitalGranuleFilter(config) # override orbital_layer with a particular TLE orbital element. self.af.orbital_layer.set_tle("1 29499U 06044A 11254.96536486 .00000092 00000-0 62081-4 0 5221", "2 29499 98.6804 312.6735 0001758 111.9178 248.2152 14.21501774254058")
class TestOrbitalGranuleFilter(unittest.TestCase): def setUp(self): config = { 'config_name': "DummySatData", 'sat_name': "NOAA 19", 'instrument': "AVHRR", 'file_source_pattern': "/home/msg/archive/AVHRR/avhrr_%Y%m%d_%H%M00_noaa19.hrp.bz2", 'granule_duration': "00:01:00", 'time_step': "00:01:00", 'time_step_offset': "00:00:00", 'area_of_interest': "(-25,62.5),(-25,67),(-13,67),(-13,62.5)" } self.af = OrbitalGranuleFilter(config) # override orbital_layer with a particular TLE orbital element. self.af.orbital_layer.set_tle( "1 29499U 06044A 11254.96536486 .00000092 00000-0 62081-4 0 5221", "2 29499 98.6804 312.6735 0001758 111.9178 248.2152 14.21501774254058" ) def test_validate(self): # Run result1 = self.af.validate( "/home/msg/archive/AVHRR/avhrr_20140225_133400_noaa19.hrp.bz2") result2 = self.af.validate( "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2") result3 = self.af.validate( "/home/msg/archive/AVHRR/avhrr_20140225_133600_noaa19.hrp.bz2") result4 = self.af.validate( "/home/msg/archive/AVHRR/avhrr_20140225_133700_noaa19.hrp.bz2") result5 = self.af.validate( "/home/msg/archive/AVHRR/avhrr_20140225_160000_noaa19.hrp.bz2") # Assert self.assertTrue(result1) self.assertTrue(result2) self.assertTrue(result3) self.assertFalse(result4) self.assertFalse(result5) def test_filter(self): # Run files = [ "blabla", "H-000-MSG3__-MSG3________-WV_073___-000009___-201401231300", "/home/msg/archive/AVHRR/avhrr_20140225_133400_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133600_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133700_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_160000_noaa19.hrp.bz2", "H-000-MSG3__-MSG3________-IR_108___-000003___-201401231300" ] result = self.af(files) # Assert self.assertItemsEqual(result, [files[2], files[3], files[4]]) def test_complete(self): # Run result = self.af.complete( "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2") # Assert self.assertItemsEqual(result, [ "/home/msg/archive/AVHRR/avhrr_20140225_133400_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2", "/home/msg/archive/AVHRR/avhrr_20140225_133600_noaa19.hrp.bz2" ]) def test_gf_complete_vs_gbd_complete(self): # Run gf_result = self.af.complete( "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2") gbd_result = self.af([ "/home/msg/archive/AVHRR/avhrr_20140225_133500_noaa19.hrp.bz2" ]).complete() # Assert self.assertItemsEqual(gf_result, gbd_result)