Hi Pytrollists,
I'm looking at segments 7, 8 and 9.
When I look at the area definition and retrieve the longitude and latitude arrays, the arrays are identical for the different segments. However, the segments cover different parts of the Earth (see Himawari segment description (
link) (slide 18)).
Hence, my question is how to get the longitude and latitude coordinates for each pixel for the different segments?
Sample code:
####################################
filename_segment_7 = 'HS_H08_20220101_0000_B01_FLDK_R10_S0710.DAT'
filename_segment_9 = 'HS_H08_20220101_0000_B01_FLDK_R10_S0910.DAT'
scene_segment_7 = satpy.Scene(filenames=[filename_segment_7],
reader='ahi_hsd',
reader_kwargs={'mask_space': True})
scene.load(['B01'])
scene_segment_9 = satpy.Scene(filenames=[filename_segment_9],
reader='ahi_hsd',
reader_kwargs={'mask_space': True})
scene.load(['B01'])
lons_segment_7, lats_segment_7 = scene_segment_7["B01"].attrs['area'].get_lonlats()
lons_segment_9, lats_segment_9 = scene_segment_9["B01"].attrs['area'].get_lonlats()
# Check the latitude and longitude coverage for each segment
lats_segment_7[~np.isinf(lats_segment_7)].min()
lats_segment_9[~np.isinf(lats_segment_9)].min()
lats_segment_7[~np.isinf(lats_segment_7)].max()
lats_segment_9[~np.isinf(lats_segment_9)].max()
lons_segment_7[~np.isinf(lons_segment_7)].min()
lons_segment_9[~np.isinf(lons_segment_9)].min()
lons_segment_7[~np.isinf(lons_segment_7)].max()
lons_segment_9[~np.isinf(lons_segment_9)].max()
# The minimum and maximum longitude and latitude for segment 7 and 9 are identical
####################################
It seems that the longitude and latitude arrays describe almost the entire Earth whilst this is a geostationary satellite and hence doesn't cover the entire Earth. What am I missing here? How to get the longitude and latitude arrays for a specific segment? I would expect that segment 7 covers latitude ranging from 10 degrees South to 21 degrees South.
Any help would be much appreciated!
Kind regards,
Maarten