[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[python #JEP-515405]: FW: 20171221: script that inserts CSPP-GEO created GOES-16 products into an LDM queue (cont.)



Ray,

CSPP-GEO comes from SSEC at Wisconsin, and handles all of the dealings with 
combining metadata and individual image sections--so if you're wondering how 
that's calculating corners, you probably need to ask them. :)

As far as nc.variables is concerned, in the example I sent you, nc is a 
netCDF4.Dataset object for a file from the GOES-16 GRB feed, *after* CSPP-GEO 
has assembled the complete file.

Ryan

> And yes, I am using the "basemap" collection.
> 
> Ray
> 
> On Friday, December 29, 2017 3:39pm, "Unidata Python Support" 
> <address@hidden> said:
> 
> > Ray,
> >
> > So your original question was: "How are you getting the other corner 
> > values?"
> >
> > My answer is: I don't think we are. :)
> >
> > You mention matplotlib and the "map" command, but I'm not aware of any such
> > command. Are you using Basemap? If so, I'm not sure I can help much. We've 
> > moved
> > away from it, since it's in maintenance-only mode.
> >
> > I've plotted the GRB data using CartoPy, and I have been able to get away 
> > with
> > only using the coordinate information contained within the data. Here's the
> > plotting code I've used:
> >
> > import matplotlib.pyplot as plt
> > import cartopy.crs as ccrs
> > import cartopy.feature as cfeature
> >
> > data = nc.variables['Rad'][:]
> > state_boundaries = cfeature.NaturalEarthFeature(category='cultural',
> >                                                 
> > name='admin_1_states_provinces_lakes',
> >                                                 scale='50m', 
> > facecolor='none')
> >
> > fig = plt.figure(figsize=(10,10))
> > proj_var = nc.variables['goes_imager_projection']
> > globe = ccrs.Globe(semimajor_axis=proj_var.semi_major_axis,
> > semiminor_axis=proj_var.semi_minor_axis)
> > proj =
> > ccrs.Geostationary(central_longitude=proj_var.longitude_of_projection_origin,
> >                           
> > satellite_height=proj_var.perspective_point_height,
> > globe=globe)
> > ax = fig.add_subplot(1, 1, 1, projection=proj)
> >
> > x = nc.variables['x'][:] * proj_var.perspective_point_height
> > y = nc.variables['y'][:] * proj_var.perspective_point_height
> > ax.imshow(data, extent=(x.min(), x.max(), y.min(), y.max()), cmap='Greys_r',
> > origin='upper')
> > ax.coastlines('10m', color='tab:blue')
> > ax.add_feature(state_boundaries, edgecolor='tab:red')
> >
> > Ryan
> >
> >
> >> And yes, NOAAPORT uses a totally different projection, lambert conformal, 
> >> and the
> >> proper values are in that data. So its being calculated by CSPP-GEO or 
> >> however
> >> they are driving NOAAPORT from GRB.
> >>
> >> Ray
> >>
> >
> > Ticket Details
> > ===================
> > Ticket ID: JEP-515405
> > 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.
> >
> >
> >
> 
> 
> 

Ticket Details
===================
Ticket ID: JEP-515405
Department: Support Python
Priority: Low
Status: Open
===================
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.