diff --git a/testfile cartopy.py b/testfile cartopy.py index eaaa1b1..bcc8ccf 100644 --- a/testfile cartopy.py +++ b/testfile cartopy.py @@ -39,7 +39,7 @@ def get_radar_frames(site, datetime_t, num_frames): bucketListCurrentDate = list(bucket.objects.filter(Prefix = currentDateString)) bucketListPreviousDate = list(bucket.objects.filter(Prefix = previousDateString)) - #we are going to create a list of keys and datetimes to allow easy searching + # we are going to create a list of keys and datetimes to allow easy searching keys = [] datetimes = [] @@ -102,7 +102,8 @@ def get_radar_from_aws(aws_object): if not os.path.isfile(f'cache/rawradar/{filename}'): printdebug('Cache Miss') aws_object.download_file(f'cache/rawradar/{filename}') - radar = pyart.io.read(f'cache/rawradar/{filename}') + #radar = pyart.io.read(f'cache/rawradar/{filename}') + radar = f'cache/rawradar/{filename}' return radar def convert_fig_to_img(fig): @@ -134,14 +135,14 @@ def generate_radar_image(radar_data, tiler, mercator): radar_data.fields['reflectivity']['data'][:, -10:] = np.ma.masked - # gatefilter = pyart.filters.GateFilter(radar_data) - # gatefilter.exclude_transition() - # gatefilter.exclude_masked("reflectivity") - # gatefilter.exclude_below('reflectivity', 16) - gatefilter = pyart.filters.moment_based_gate_filter(radar_data) + gatefilter = pyart.filters.GateFilter(radar_data) + gatefilter.exclude_transition() + gatefilter.exclude_masked("reflectivity") + 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, size=20) + despeckle_gatefilter = pyart.correct.despeckle_field(radar_data, 'reflectivity', gatefilter=gatefilter) fig = plt.figure(figsize = [10,8]) fig.patch.set_facecolor('none') @@ -152,13 +153,14 @@ def generate_radar_image(radar_data, tiler, mercator): printdebug('Plotting!') display.plot_ppi_map('reflectivity', sweep = 0, resolution='10m', vmin = -8, vmax = 64, - cmap = "ChaseSpectral", + #cmap = "ChaseSpectral", + cmap = "NWSRef", min_lat = min_lat, min_lon = min_lon, max_lat = max_lat, max_lon = max_lon, 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=despeckle_gatefilter, add_grid_lines=False, alpha=0.8) + gatefilter=gatefilter, add_grid_lines=False, alpha=0.8) display.plot_range_ring(radar_data.range["data"][-1] / 1000.0) @@ -166,11 +168,14 @@ def generate_radar_image(radar_data, tiler, mercator): def _thread_generate_radar_image(radar_data, dataName, tiler, mercator, index, lock): if not os.path.isfile(f'cache/radarimages/{dataName}.png'): - fig = generate_radar_image(radar_data, tiler, mercator) + radarData = pyart.io.read(radar_data) + fig = generate_radar_image(radarData, tiler, mercator) frame = convert_fig_to_img(fig) frame.save(f'cache/radarimages/{dataName}.png') + del radarData lock.acquire() secondary_frames[index] = frame + #plt.clear() lock.release() else: frame = Image.open(f'cache/radarimages/{dataName}.png') @@ -191,10 +196,12 @@ mercator = tiler.crs radarKeys = list(radar.keys()) -if not os.path.isfile(f'cache/radarimages/{radarKeys[0]}.png'): - firstFrameFig = generate_radar_image(radar[radarKeys[0]], tiler, mercator) +if not os.path.isfile(f'cache/radarimages/{radarKeys[0]}.png'): + radarData = pyart.io.read(radar[radarKeys[0]]) + firstFrameFig = generate_radar_image(radarData, tiler, mercator) firstFrame = convert_fig_to_img(firstFrameFig) firstFrame.save(f'cache/radarimages/{radarKeys[0]}.png') + del radarData else: firstFrame = Image.open(f'cache/radarimages/{radarKeys[0]}.png')