This commit is contained in:
2026-06-19 08:04:25 -07:00
parent d25e254015
commit d9e5080070
+17 -10
View File
@@ -34,7 +34,7 @@ def get_radar_frames(site, datetime_t, num_frames):
previousDateString = (datetime_t - timedelta(days=1)).strftime('%Y/%m/%d/') + site
conn = boto3.resource('s3', config=Config(signature_version=UNSIGNED))
bucket = conn.Bucket('noaa-nexrad-level2')
bucket = conn.Bucket('unidata-nexrad-level2')
bucketListCurrentDate = list(bucket.objects.filter(Prefix = currentDateString))
bucketListPreviousDate = list(bucket.objects.filter(Prefix = previousDateString))
@@ -110,6 +110,7 @@ def convert_fig_to_img(fig):
fig.canvas.draw()
(w,h) = fig.canvas.get_width_height()
img = Image.frombytes('RGBA', fig.canvas.get_width_height(), np.frombuffer(fig.canvas.buffer_rgba(), dtype=np.uint8).reshape((h,w,4)))
img = img.crop(img.getbbox())
return img
def generate_radar_image(radar_data, tiler, mercator):
@@ -138,13 +139,15 @@ def generate_radar_image(radar_data, tiler, mercator):
gatefilter = pyart.filters.GateFilter(radar_data)
gatefilter.exclude_transition()
gatefilter.exclude_masked("reflectivity")
gatefilter.exclude_below('reflectivity', 5)
#gatefilter.exclude_below('reflectivity', 5)
#gatefilter = pyart.filters.moment_based_gate_filter(radar_data)
printdebug('Despeckling')
despeckle_gatefilter = pyart.correct.despeckle_field(radar_data, 'reflectivity', gatefilter=gatefilter)
#despeckle_gatefilter = pyart.correct.despeckle_field(radar_data, 'reflectivity', gatefilter=gatefilter)
fig = plt.figure(figsize = [10,8])
fig = plt.figure(
figsize = [10,8],
dpi=300)
fig.patch.set_facecolor('none')
ax = fig.add_subplot(1, 1, 1, projection=mercator)
#ax = fig.add_subplot(1, 1, 1)
@@ -152,7 +155,7 @@ def generate_radar_image(radar_data, tiler, mercator):
ax.add_image(tiler, 6)
printdebug('Plotting!')
display.plot_ppi_map('reflectivity', sweep = 0, resolution='10m',
vmin = -8, vmax = 64,
vmin = 10, vmax = 64,
#cmap = "ChaseSpectral",
cmap = "NWSRef",
min_lat = min_lat, min_lon = min_lon,
@@ -160,7 +163,9 @@ def generate_radar_image(radar_data, tiler, mercator):
lat_lines = lal, lon_lines = lol,
projection=projection, fig=fig, ax=ax, title_flag=False,
lat_0=radar_data.latitude["data"][0], lon_0=radar_data.longitude["data"][0],
gatefilter=gatefilter, add_grid_lines=False, alpha=0.8)
gatefilter=gatefilter, add_grid_lines=False, alpha=0.8,
mask_outside=True,
colorbar_flag=False)
display.plot_range_ring(radar_data.range["data"][-1] / 1000.0)
@@ -184,11 +189,13 @@ def _thread_generate_radar_image(radar_data, dataName, tiler, mercator, index, l
lock.release()
fmt = '%Y%m%d_%H%M%S'
currentDatetime = datetime.now(timezone.utc)
num_frames = 20
#currentDatetime = datetime.now(timezone.utc)
currentDatetime = datetime(2022, 3, 5, 22, 15, 0, tzinfo=timezone.utc)
num_frames = 1
secondary_frames = [0] * (num_frames - 1)
radar = get_radar_frames('KVNX', currentDatetime, num_frames=num_frames)
# KRTX
radar = get_radar_frames('KDMX', currentDatetime, num_frames=num_frames)
print(list(radar.keys()))
tiler = OSM(cache=True)
@@ -221,4 +228,4 @@ threadPool.shutdown(wait=True)
datetimeString = datetime.strftime(currentDatetime, fmt)
firstFrame.save(f'testradar_{datetimeString}.webp', append_images=secondary_frames, duration=200)
firstFrame.save(f'testradar_{datetimeString}_sweep1.webp', append_images=secondary_frames, duration=200)