Skip to content

Releases: pytroll/satpy

Version 0.59.0 (2025/11/07)

07 Nov 14:07
32513cb

Choose a tag to compare

Issues Closed

In this release 18 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 3278 - Fix ninjogeotiff writer compatibility with newer xarray (3276)
  • PR 3255 - Fix NIRReflectance not matching optional inputs against required inputs
  • PR 3254 - Bugfix for SLSTR reader to enable support for F1 data in baseline 003 (3251)
  • PR 3248 - Fix compatibility with xarray 2025.9.1
  • PR 3247 - Fix automatic decompression for Paths in generic_open
  • PR 3246 - Fix incorrect file pattern for ABI L2 GFLS files
  • PR 3245 - Update B07 from 'ahi_hrit' reader to proper resolutions
  • PR 3243 - Add missing cloud_top_height dataset in reader ahi_l2_nc (3232, 3232)
  • PR 3233 - Refactor avhrr_l1b_gaclac tests (3199)
  • PR 3231 - fix typo in enhancements.rst
  • PR 3219 - Replace dask delayed usage for map_blocks in three_d_effect enhancement
  • PR 3217 - Fix the parallax correction code for the unit and computation of satellite altitude (3182)
  • PR 3213 - Remove sun glint masking in VIIRS EDR NDVI/EVI filtering
  • PR 3200 - Remove unnecessary dask task compute check in test utility scheduler
  • PR 3198 - Remove old vaisala Gld360 reader python code

Features added

  • PR 3274 - add time_parameters attribute containing wind_time to EUMETSAT FCI AMV nc reader (3037)
  • PR 3256 - Allow choosing the engine for netcdf-based readers
  • PR 3228 - Static geo color stretching
  • PR 3220 - Add possibility to override area_def in gerb reader
  • PR 3215 - Restrict writers to specific return value types
  • PR 3205 - Rename and deprecate various ABI RGB composites toward RGB Workshop 2025
  • PR 3181 - Add more Landsat readers

Documentation changes

  • PR 3262 - Fix indentation error in area def list
  • PR 3250 - Fix inconsistent docstring of correction limit in sunz modifiers (3033)
  • PR 3224 - Update references to geoviews Image type
  • PR 3218 - Add str as accepted type for resampling destinations
  • PR 3208 - Add documentation on avoiding warnings when writing tests
  • PR 3146 - Add FAQ entry over image dimensions

Backward incompatible changes

  • PR 3236 - Switch MultiScene blend functions to a public satpy.multiscene.blend_funcs module
  • PR 3215 - Restrict writers to specific return value types
  • PR 3205 - Rename and deprecate various ABI RGB composites toward RGB Workshop 2025

Clean ups

  • PR 3255 - Fix NIRReflectance not matching optional inputs against required inputs
  • PR 3252 - Fix 'awips_tiled' writer tests producing warnings on some hosts
  • PR 3233 - Refactor avhrr_l1b_gaclac tests (3199)
  • PR 3219 - Replace dask delayed usage for map_blocks in three_d_effect enhancement
  • PR 3198 - Remove old vaisala Gld360 reader python code
  • PR 3197 - Refactor AVHRR AAPP to avoid divide by zero warnings
  • PR 3196 - Use UPath for generic_open
  • PR 3195 - Fix various warnings encountered during tests

In this release 39 pull requests were closed.

Version 0.58.0

09 Aug 02:19
2fc3ee2

Choose a tag to compare

Issues Closed

  • Issue 3192 - DifferenceCompositor
  • Issue 3171 - Add fsspec support to Landsat reader
  • Issue 3167 - AlignmentError due to addition of time bounds when calling .to_xarray() on a timeseries blended multiscene (PR 3170 by @sfinkens)
  • Issue 3162 - For FCI L1C, calculating the mean of ir_105_time fails with IndexError
  • Issue 3158 - reduce_data isn't called for the VIIRS nearest resampler
  • Issue 3156 - oli_tirs_l1_tif reader incompatible with xarray: missing rasterio engine support

In this release 6 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 3191 - Use token kwarg in dask map_blocks call instead of name
  • PR 3187 - Fix AWIPS tiled writer not being computed properly when compute=False
  • PR 3186 - Optimize AWIPS Tiled writer and remove use of dask delayed
  • PR 3175 - Use maximum end time from attributes for time bounds
  • PR 3172 - Update VIIRS composites to use map_blocks instead of delayed
  • PR 3170 - Fix adding time bounds to timeseries (3167, 3167)

Features added

  • PR 3177 - Add cloud clear option to ACSPO reader
  • PR 3174 - Add ABI L2 SST data quality filtering
  • PR 3169 - Add surface type and terrain elevation to the AWS L1b loading
  • PR 3155 - Refactor enhancements

Backward incompatible changes

  • PR 3177 - Add cloud clear option to ACSPO reader

Refactoring

In this release 12 pull requests were closed.

Version 0.57.0 (2025/06/13)

13 Jun 11:25
70e3d3b

Choose a tag to compare

Issues Closed

In this release 17 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 3149 - Fix incorrect wavelength for AHI B04
  • PR 3140 - Fix satpy.readers import warnings and exception types
  • PR 3139 - Add missing metadata to 'ahi_l2_nc' reader
  • PR 3135 - Fix more invalid sphinx object references
  • PR 3125 - Fix ACSPO reader using binary operations on signed integers
  • PR 3120 - Fix invalid documentation references to python objects
  • PR 2993 - fix: li missing platform name

Features added

  • PR 3134 - Add volcanic_emissions in composites and enhancements fci.yaml
  • PR 3129 - Implement FCI "Flames" fire visualisation
  • PR 3127 - Refactor reader imports
  • PR 3126 - Replace deprecated utcnow (2752)
  • PR 3122 - Refactor satpy.writers to separate modules
  • PR 3084 - Updated the grid size to read claas3 data
  • PR 3039 - Add filename variations to AWS MWR L1C (3038)
  • PR 2879 - Initial implementation of EUMETSAT IASI-NG reader

Documentation changes

  • PR 3145 - Fix typo in simplecache usage (3138)
  • PR 3143 - Add page for specific reader documentation
  • PR 3135 - Fix more invalid sphinx object references
  • PR 3120 - Fix invalid documentation references to python objects
  • PR 3119 - Small Update to MultiScene documentation

Backward incompatible changes

  • PR 3127 - Refactor reader imports
  • PR 3122 - Refactor satpy.writers to separate modules

Clean ups

  • PR 3135 - Fix more invalid sphinx object references
  • PR 3132 - Move fci platform name translate to fci base (3026)
  • PR 3127 - Refactor reader imports
  • PR 3124 - Refactor resampler module to submodules

In this release 26 pull requests were closed.

Version 0.56.0 (2025/04/24)

24 Apr 14:56
a435ac8

Choose a tag to compare

Issues Closed

In this release 9 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 3115 - Fix padding for FCI xx coverage
  • PR 3113 - Fix angles tests computing xarray DataArrays instead of dask arrays
  • PR 3111 - Fix unit radiance attrs (3067)
  • PR 3110 - Improve handling of category products in VIIRS EDR reader
  • PR 3093 - Fix 3D masks with size 1 dimension in MaskingCompositor (3092)
  • PR 3088 - Deprecate "cira_day_convection" in favor of "convection"
  • PR 3017 - Fix SLSTR angle interpolation. (3015)
  • PR 3016 - Update scale factor and offset [viirs_l1b]

Features added

  • PR 3115 - Fix padding for FCI xx coverage
  • PR 3112 - Fci l1c handle other coverage
  • PR 3097 - Add SWIR composite to Sentinel-2/MSI.
  • PR 3091 - Fix RatioCompositor standard_name handling
  • PR 3090 - Add enhancement trace logging and print function
  • PR 3089 - Add ABI Day Cloud Type ("cloud_type") RGB
  • PR 3087 - Add ABI Blowing Snow RGB
  • PR 3080 - Add reader for EarthCARE MSI L1 data
  • PR 3040 - Unpin dask
  • PR 2891 - Update VIIRS L1b reader to use additional netcdf attributes

Backward incompatible changes

  • PR 3088 - Deprecate "cira_day_convection" in favor of "convection"

In this release 19 pull requests were closed.

Version 0.55.0 (2025/03/21)

21 Mar 15:40
1c1b71d

Choose a tag to compare

Issues Closed

  • Issue 3079 - FCI - Creating corrected single channel imagery to be used for composite creation OUTSIDE of compositors
  • Issue 3075 - SAA & SZA for FCI Level 1NC
  • Issue 3066 - NetCDF4FileHandler faults when using obj.dict called when object is a compound variable. (PR 3069 by @mataeui)
  • Issue 3062 - abi_l2_nc reader does not support GOES-18 Cloud & Moisture Imagery Multiband mesoscale products from NOAA AWS
  • Issue 3053 - No conversion matrix found for platform GOES-19 (PR 3054 by @simonrp84)
  • Issue 3052 - Reader for NWC SAF HRW (high resolution winds) data (PR 3070 by @pnuu)
  • Issue 3043 - RuntimeError: NetCDF: HDF error OR Segmentation fault
  • Issue 3027 - Cannot generate composites on bigger extents using MTG FCI Level-1c files
  • Issue 2898 - units attribute is not CF conform for the for AMV datasets in the fci_l2_nc reader (PR 3031 by @YouvaEUMex)
  • Issue 2854 - Unexpected floats when reading LI L2 LFL data (PR 2998 by @ClementLaplace)
  • Issue 2773 - Resampling with gradient search results in interlacing image artefacts if corner pixels have no data
  • Issue 2179 - MergeError in to_xarray_dataset for Scenes containing data from seviri_l1b_nc reader (PR 2827 by @BENR0)

In this release 12 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 3085 - Refactor "compute_relative_azimuth" to be more flexible
  • PR 3082 - Add workaround so dask arrays are optimized in Delayed writing
  • PR 3074 - Fix plugin tests not completely cleaning up after themselves
  • PR 3069 - Prevent call to obj.dict when obj is a compound variable. (3066)
  • PR 3063 - add capability for M1 and M2 in MCMIP abi_l2_nc reader
  • PR 3057 - Fix LightningTimeCompositor failing when data outside of the time range is passed
  • PR 3055 - Update 'oci_l2_bgc' to allow .nc4 and .nc filename extensions
  • PR 3048 - Change sensor attribute to lowercase in FCI L2 NetCDF reader
  • PR 3046 - Fix MWR Polarisation
  • PR 3031 - Fix the handling of AMVs unit to units by applying suggestion in #2898 (2898)
  • PR 3028 - add missing dependency for vii_l1b_reader
  • PR 2998 - Correct Unexpected floats when reading LI L2 LFL (2854)

Features added

  • PR 3070 - Add a reader for NWC SAF GEO HRW data (3052)
  • PR 3064 - Add remote reading for hrit seviri
  • PR 3059 - Add more datasets to IASI L2 reader
  • PR 3054 - Add GOES-19 RGB2XYZ matrix for true_color_reproduction (3053)
  • PR 3050 - Add VolcanicAsh product to VIIRS EDR reader
  • PR 3044 - Add VIIRS EDR datasets
  • PR 3041 - Fix MVIRI tests with unstable dependencies
  • PR 3023 - Add reader for CAMEL emissivity datasets.
  • PR 3022 - Combine low level moisture with a cloud mask
  • PR 3002 - ISCCP-NG level 1g reader
  • PR 2998 - Correct Unexpected floats when reading LI L2 LFL (2854)
  • PR 2997 - Prepare for channel-specific SEVIRI calibration
  • PR 2895 - Add flash age compositor for li instruments
  • PR 2827 - Fix to_xarray_dataset merge error with conflicting values in coordinate (2179)
  • PR 913 - Modis l2 available datasets

Documentation changes

  • PR 3068 - Update sphinx to use new sphinx.ext.apidoc extension
  • PR 3065 - Fix slack invite link in contributing docs
  • PR 3036 - DOC: Clarify satpy.yaml use with nested dictionaries

Clean ups

  • PR 3085 - Refactor "compute_relative_azimuth" to be more flexible
  • PR 3081 - Refactor MODIS readers to avoid extra dask tasks
  • PR 3068 - Update sphinx to use new sphinx.ext.apidoc extension
  • PR 3059 - Add more datasets to IASI L2 reader
  • PR 2992 - Fix Pylint complaints for GLD360-reader.

In this release 35 pull requests were closed.

Version 0.54.0 (2025/01/20)

20 Jan 14:59
6fc15fe

Choose a tag to compare

Issues Closed

In this release 14 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 3035 - Pin dask to avoid dataframe problem
  • PR 3030 - Fix sdist tarball including unnecessary files
  • PR 2995 - Add new ABI L2 "CPS" variable name for Cloud Particle Size
  • PR 2985 - li2_nc reader daskified (2814)
  • PR 2983 - Fix dtype promotion in SEVIRI native reader (2981)
  • PR 2976 - Fix dtype promotion in mersi2_l1b reader
  • PR 2969 - Fix geos proj parameters for Insat 3d satellites
  • PR 2959 - Modified the issue with the calibration coefficient indices for FY-3 satellite data reader

Features added

  • PR 3034 - Set issue type in templates
  • PR 3021 - Change ESSL colorisation approach (3020)
  • PR 3013 - Clip negative FCI radiances (3009)
  • PR 3007 - Add t865 dataset to olci l2 list (1767)
  • PR 2999 - Add Accsos image comparison tests
  • PR 2941 - Refactor MVIRI dataset access
  • PR 2565 - Add level-1 readers for the arctic weather satelliter data

Clean ups

  • PR 3030 - Fix sdist tarball including unnecessary files
  • PR 3014 - Remove xarray-datatree dependency from CI
  • PR 3010 - Remove version limit on pytest in CI

In this release 18 pull requests were closed.

Version 0.53.0 (2024/11/08)

08 Nov 15:42
bd29bb1

Choose a tag to compare

Issues Closed

In this release 3 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 2971 - Pin flexparser before it breaks pint
  • PR 2970 - Remove rayleigh correction on VIIRS false_color for I02 band
  • PR 2968 - Remove unneeded call to private scipy function in SAR reader
  • PR 2965 - Fix MODIS readers chunking compatibility with newer dask
  • PR 2961 - Fix CF writer crashing with netcdf development version (2960)
  • PR 2957 - Bugfix the VIIRS lowres version of the day-microphysics.
  • PR 2956 - Fix cira stretch upcasting the data
  • PR 2954 - Fix Rayleigh correction to use the same datatype as the input data
  • PR 2950 - Fix dtype promotion in SunZenithReduction
  • PR 2949 - Add more platforms to VIIRS EDR reader (2948)
  • PR 2930 - Fix data type when getting a line offset for a segmented hrit_jma

Features added

  • PR 2973 - Remove flexparser pinning
  • PR 2953 - Add altitude, landcover, and landseamask to mersi_ll_l1b reader (2952)
  • PR 2946 - Update MODIS L1b reader with additional geoinfo datasets

In this release 14 pull requests were closed.

Version 0.52.1 (2024/10/23)

23 Oct 10:47
6814f75

Choose a tag to compare

Issues Closed

In this release 1 issue was closed.

Pull Requests Merged

Bugs fixed

  • PR 2944 - Fix tests using palettize
  • PR 2943 - Fix seviri_l2_grib end_time property bug. (2942)

In this release 2 pull requests were closed.

Version 0.52.0 (2024/10/18)

18 Oct 11:42
d6d4406

Choose a tag to compare

Issues Closed

  • Issue 2922 - fci_l1c_nc reader ignoring MTG FDHSI segment 41
  • Issue 2920 - SEVIRI/FCI Water Vapour channel different normalization?
  • Issue 2917 - Unpin mamba version in CI
  • Issue 2914 - save.dataset - problem with MTG
  • Issue 2909 - RuntimeError while compositing after resampling datasets
  • Issue 2907 - The debug run reports an error, but there is no problem running after stopping at the breakpoint
  • Issue 2900 - Eliminate dependency on external binaries of PublicDecompWT (xRITDecompress) by using pyPublicDecompWT
  • Issue 2897 - generic_image reader returns data as float64 for PNG images
  • Issue 2887 - "Don't know how to open the following files" ERROR in MTG-I1 LI data.
  • Issue 2884 - MODIS and SEADAS test failures (PR 2886 by @djhoese)
  • Issue 2869 - ninjogeotiff writer should write gradient for P mode images (PR 2870 by @gerritholl)
  • Issue 2864 - Documentation takes too long to build (PR 2875 by @djhoese)
  • Issue 2839 - Help about Netcdf Data
  • Issue 1974 - debug_on() could write relevant versions
  • Issue 1266 - Can pytroll process MetOp L0 Data?

In this release 15 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 2939 - Fix bogus no_op implementation
  • PR 2938 - Update Landsat reader for compatibility with Pyspectral.
  • PR 2926 - Import DataTree from xarray
  • PR 2923 - Fix data promotion in generic_image reader and satpy.composites.add_bands
  • PR 2916 - Fix deprecated "compositor" usage in modifier definitions
  • PR 2910 - Remove deprecated usage of pyspectral's download_luts aerosol_type
  • PR 2896 - Bugfix for Sentinel-2 radiance calculation
  • PR 2886 - Update pyhdf-based arrs to be manually tokenized (2884)

Features added

  • PR 2936 - Drop python 3.9 (2741)
  • PR 2933 - Add no-op image_ready enhancement
  • PR 2931 - Enhance visibility of missing dependencies
  • PR 2929 - Replace patched print with capsys fixture
  • PR 2927 - Use spline interpolation for faster processing
  • PR 2925 - Fix types to allow float32 computations for SAR-C
  • PR 2913 - Update check_satpy to use new show_version to display package versions
  • PR 2905 - Mcd12q1 draft
  • PR 2904 - Add reader for Landsat L1 data
  • PR 2902 - Add OCI L2 BGC reader
  • PR 2899 - Switch from Mambaforge to Miniforge
  • PR 2893 - Fix AAPP L1b reader not to up-cast data to float64
  • PR 2870 - Include gradient/axisintercept for mode p (2869)
  • PR 2717 - Add combined GRIB reader for both SEVIRI and FCI L2 products

Documentation changes

  • PR 2915 - Improve SEVIRI metadata documentation
  • PR 2890 - Fixing contributing.rst access on windows systems
  • PR 2875 - Make documentation generation faster (2864, 2864)

In this release 25 pull requests were closed.

Version 0.51.0 (2024/08/15)

15 Aug 13:15
278d00b

Choose a tag to compare

Issues Closed

In this release 5 issues were closed.

Pull Requests Merged

Bugs fixed

  • PR 2876 - Fix AWIPS tiled writer handling of odd units in VIIRS EDR products
  • PR 2874 - Avoid accidental NWCSAF-GEO type promotion (2872)
  • PR 2867 - Fix LI L2 reader for accumulated products from archive (2859)
  • PR 2866 - Fix FCI L1c reader for African products

Features added

  • PR 2882 - support FIRG file-patterns coming from EUMETCast-Europe (2881)
  • PR 2867 - Fix LI L2 reader for accumulated products from archive (2859)
  • PR 2863 - Adapt the SEVIRI native format reader in Satpy to support remote reading
  • PR 2862 - Update thresholds for FCI geo_color low-level cloud layer
  • PR 2843 - feat: Enable to read for the Q4 coverage and the IQTI files for the fci l1c data
  • PR 1916 - Add Gld360 ualf2 reader

Documentation changes

  • PR 2868 - Clarify Scene Documentation without Readers (2836)

In this release 11 pull requests were closed.