From c5f935011d2812d23a02a248a70b29922f090145 Mon Sep 17 00:00:00 2001 From: Martin Raspaud Date: Wed, 14 Oct 2015 12:31:19 +0200 Subject: [PATCH] Fix geolocation reading for multiple-file processing (hdfeos) Signed-off-by: Martin Raspaud --- mpop/satin/hdfeos_l1b.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/mpop/satin/hdfeos_l1b.py b/mpop/satin/hdfeos_l1b.py index e2e8e6b1..599db47f 100644 --- a/mpop/satin/hdfeos_l1b.py +++ b/mpop/satin/hdfeos_l1b.py @@ -115,8 +115,7 @@ def load(self, satscene, filename=None, *args, **kwargs): scenes.append(newscn) entire_scene = assemble_segments(sorted(scenes, key=lambda x: x.time_slot)) - for band in entire_scene.loaded_channels(): - satscene[band.name] = entire_scene[band.name] + satscene.channels = entire_scene.channels satscene.area = entire_scene.area else: self.load_dataset(satscene, *args, **kwargs) @@ -243,7 +242,7 @@ def load_dataset(self, satscene, filename=None, *args, **kwargs): # return for band_name in loaded_bands: - lon, lat = self.get_lonlat(satscene[band_name].resolution, cores) + lon, lat = self.get_lonlat(satscene[band_name].resolution, satscene.time_slot, cores) area = geometry.SwathDefinition(lons=lon, lats=lat) satscene[band_name].area = area @@ -289,11 +288,11 @@ def load_dataset(self, satscene, filename=None, *args, **kwargs): + str(band_uid)) satscene[band_name].area_id = satscene[band_name].area.area_id - def get_lonlat(self, resolution, cores=1): + def get_lonlat(self, resolution, time_slot, cores=1): """Read lat and lon. """ - if resolution in self.areas: - return self.areas[resolution] + if (resolution, time_slot) in self.areas: + return self.areas[resolution, time_slot] logger.debug("generating lon, lat at %d", resolution) if self.geofile is not None: coarse_resolution = 1000 @@ -330,7 +329,7 @@ def get_lonlat(self, resolution, cores=1): if resolution == 250: lon, lat = modis1kmto250m(lon, lat, cores) - self.areas[resolution] = lon, lat + self.areas[resolution, time_slot] = lon, lat return lon, lat # These have to be interpolated...