pytroll / satpy

Python package for earth-observing satellite data processing
http://satpy.readthedocs.org/en/latest/
GNU General Public License v3.0
1.07k stars 295 forks source link

Unable to correctly generate HRV images for Meteosat-9 and 10 #2528

Closed jpcopela closed 1 year ago

jpcopela commented 1 year ago

Describe the bug I am only able to produce incomplete HSV images for Meteosat 9 and 10 using seviri_l1b_native. The images are missing large chunks regardless of anything I've tried.

To Reproduce from satpy import Scene from satpy.utils import debug_on

debug_on()

file = ['MSG2-SEVI-MSG15-0100-NA-20230706225740.393000000Z-NA.nat'] channel = 'HRV' scn = Scene(filenames=file, reader='seviri_l1b_native', reader_kwargs={'fill_disk': True}) scn.load([channel], generate=False) resampled_scn = scn.resample(scn.coarsest_area(), resampler='native') resampled_scn.save_dataset(channel, 'out.jpg', fill_value=255)

Expected behavior The image is generated correctly

Actual results out

[DEBUG: 2023-07-06 20:34:04 : satpy.readers.yaml_reader] Reading ('/home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/etc/readers/seviri_l1b_native.yaml',) [DEBUG: 2023-07-06 20:34:04 : satpy.readers.yaml_reader] Assigning to seviri_l1b_native: ['MSG2-SEVI-MSG15-0100-NA-20230706225740.393000000Z-NA.nat'] /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/readers/eum_base.py:36: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.) days = int(tcds['Days']) /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/readers/eum_base.py:37: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.) milliseconds = int(tcds['Milliseconds']) /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/readers/eum_base.py:39: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.) microseconds = int(tcds['Microseconds']) /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/readers/eum_base.py:43: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.) microseconds += int(tcds['Nanoseconds']) / 1000. [DEBUG: 2023-07-06 20:34:04 : satpy.composites.config_loader] Looking for composites config file seviri.yaml /home/jackson/Projects/earth-now/lib/python3.10/site-packages/pkg_resources/init.py:121: DeprecationWarning: pkg_resources is deprecated as an API warnings.warn("pkg_resources is deprecated as an API", DeprecationWarning) [DEBUG: 2023-07-06 20:34:04 : satpy.composites.config_loader] Looking for composites config file visir.yaml [DEBUG: 2023-07-06 20:34:04 : native_msg] Calibration time 0:00:00.011100 /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/readers/seviri_base.py:387: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time. dataset.coords['acq_time'] = ('y', acq_time) /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/readers/seviri_base.py:387: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time. dataset.coords['acq_time'] = ('y', acq_time) [DEBUG: 2023-07-06 20:34:05 : native_msg] Padding data to full disk [DEBUG: 2023-07-06 20:34:05 : satpy.readers.yaml_reader] Requested orientation for Dataset None is 'native' (default). No flipping is applied. [DEBUG: 2023-07-06 20:34:05 : satpy.scene] Resampling DataID(name='HRV', wavelength=WavelengthRange(min=0.5, central=0.7, max=0.9, unit='µm'), resolution=1000.134348869, calibration=, modifiers=()) [DEBUG: 2023-07-06 20:34:05 : pyresample.geometry] Projections for data and slice areas are identical: PROJCRS["unknown",BASEGEOGCRS["unknown",DATUM["unknown",ELLIPSOID["unknown",6378169,295.488065897014,LENGTHUNIT["metre",1,ID["EPSG",9001]]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]]],CONVERSION["unknown",METHOD["Geostationary Satellite (Sweep Y)"],PARAMETER["Longitude of natural origin",45.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Satellite Height",35785831,LENGTHUNIT["metre",1,ID["EPSG",9001]]],PARAMETER["False easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1,ID["EPSG",9001]]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1,ID["EPSG",9001]]]] [DEBUG: 2023-07-06 20:34:05 : satpy.writers] Reading ['/home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/etc/writers/simple_image.yaml'] [DEBUG: 2023-07-06 20:34:05 : satpy.writers] Adding enhancement configuration from file: /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/etc/enhancements/generic.yaml [DEBUG: 2023-07-06 20:34:05 : satpy.writers] Adding enhancement configuration from file: /home/jackson/Projects/earth-now/lib/python3.10/site-packages/satpy/etc/enhancements/seviri.yaml [DEBUG: 2023-07-06 20:34:05 : satpy.writers] Data for DataID(name='HRV', wavelength=WavelengthRange(min=0.5, central=0.7, max=0.9, unit='µm'), resolution=1000.134348869, calibration=, modifiers=()) will be enhanced with options: [{'name': 'linear_stretch', 'method': <function stretch at 0x7f2bf4b63c70>, 'kwargs': {'stretch': 'crude', 'min_stretch': 0.0, 'max_stretch': 100.0}}, {'name': 'gamma', 'method': <function gamma at 0x7f2bf4b63d00>, 'kwargs': {'gamma': 1.5}}] [DEBUG: 2023-07-06 20:34:05 : trollimage.xrimage] Applying stretch crude with parameters {'min_stretch': 0.0, 'max_stretch': 100.0} [DEBUG: 2023-07-06 20:34:05 : trollimage.xrimage] Applying gamma 1.5 [DEBUG: 2023-07-06 20:34:05 : satpy.writers.simple_image] Saving to image: out.jpg [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing BlpImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing BmpImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing BufrStubImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing CurImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing DcxImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing DdsImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing EpsImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing FitsImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing FitsStubImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing FliImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing FpxImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing FtexImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing GbrImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing GifImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing GribStubImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing Hdf5StubImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing IcnsImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing IcoImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing ImImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing ImtImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing IptcImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing JpegImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing Jpeg2KImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing McIdasImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing MicImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing MpegImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing MpoImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing MspImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PalmImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PcdImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PcxImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PdfImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PixarImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PngImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PpmImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing PsdImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing QoiImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing SgiImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing SpiderImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing SunImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing TgaImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing TiffImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing WebPImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing WmfImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing XbmImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing XpmImagePlugin [DEBUG: 2023-07-06 20:34:05 : PIL.Image] Importing XVThumbImagePlugin

Environment Info:

pnuu commented 1 year ago

This how the data are, the HRV channel has only partial coverage. See the last thumbnail here and the animation below in the Scan mode chapter: https://www.eumetsat.int/0-degree-service

jpcopela commented 1 year ago

Apologies, thanks for the answer!

On Jul 7, 2023, at 12:10 AM, Panu Lahtinen @.***> wrote:

 This how the data are, the HRV channel has only partial coverage. See the last thumbnail here and the animation below in the Scan mode chapter: https://www.eumetsat.int/0-degree-service

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.