This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Greetings! Apologies for the delayed response. I don't have the library you're using to download the GOES data, but I tried to replicate using the raw GOES 16 data I have available. To my eye, I'm not seeing any unexpected bluriness. Can you send an image with the blurring you describe? Can you also send an image that looks as sharp as you expect? Cheers! Ryan > Hi, while trying to visualize GOES 16 CONUS sector observation with the > following script I'm having a blurred output that is certainly supposed to > appear due to the region defined by my set_extent close to the edge of the > conus sector. > > The thing is that is very common to find differents visualization for the > same region in the web with a very nice (not blurred) viasualization like " > https://weather.msfc.nasa.gov/goes/abi/goesEastconusband02.html". So, I'm > wondering if there is some kind of correction that can be applied in order > to have a nicer visualization. > > import metpy > from goes2go.data import goes_latest > import matplotlib.pyplot as plt > import cartopy.crs as ccrs > import numpy as np > import xarray > > # Download a GOES ABI dataset > G = goes_latest() > > ch2 = G["CMI_C02"].data > ch2 = np.clip(ch2, 0, 1) > gamma = 2.2 > ch2 = np.power(ch2, 1 / gamma) > > # We'll use the `CMI_C02` variable as a 'hook' to get the CF metadata. > dat = G.metpy.parse_cf("CMI_C02") > > geos = dat.metpy.cartopy_crs > > # We also need the x (north/south) and y (east/west) axis sweep of the ABI > data > x = dat.x > y = dat.y > > fig = plt.figure(figsize=(15, 6), dpi=200) > > # Create axis with Geostationary projection > ax = fig.add_subplot(1, 1, 1, projection=geos) > > # Add the RGB image to the figure. The data is in the same projection as the > # axis we just created. > ax.imshow( > ch2, cmap="Greys_r", origin="upper", extent=(x.min(), x.max(), > y.min(), y.max()), transform=geos > ) > # ax.set_extent([-100, -90, 17.5, 20.2], crs=ccrs.PlateCarree()) > ax.set_extent([-72.2, -68, 17.5, 20.2], crs=ccrs.PlateCarree()) > > Ticket Details =================== Ticket ID: UUX-823225 Department: Support Python Priority: Low Status: Closed =================== NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.