Skip to content
Snippets Groups Projects
Commit 4463e915 authored by tomrink's avatar tomrink
Browse files

snapshot...

parent 4b5415d8
No related branches found
No related tags found
No related merge requests found
...@@ -44,8 +44,13 @@ amv_centers_list = ['EUM', 'BRZ', 'JMA', 'KMA', 'NOA', 'NWC'] ...@@ -44,8 +44,13 @@ amv_centers_list = ['EUM', 'BRZ', 'JMA', 'KMA', 'NOA', 'NWC']
NO_ICE = '\s*NEG\s*|\s*NONE\s*|\s*NEGATIVE\s*|\s*NO\s*' NO_ICE = '\s*NEG\s*|\s*NONE\s*|\s*NEGATIVE\s*|\s*NO\s*'
ICE_LVL = '\d+-\d+|FL\d+-FL\d+' ICE_LVL = '\d+-\d+|FL\d+-FL\d+'
FLT_LVL = '/FL\s{0,1}\d+\s*'
ICE_RPT = '/IC'
ATYPE = '/TP'
RMK = '/RM'
def pireps(filename):
def pireps(filename, lon_range=[-180, 180], lat_range=[-55, 55]):
reports = [] reports = []
lats = [] lats = []
lons = [] lons = []
...@@ -53,11 +58,25 @@ def pireps(filename): ...@@ -53,11 +58,25 @@ def pireps(filename):
times = [] times = []
no_ice_reports = [] no_ice_reports = []
ice_reports = [] ice_reports = []
# HEADER: VALID,URGENT,AIRCRAFT,REPORT,LAT,LON
with open(filename) as file: with open(filename) as file:
cnt = 0 cnt = 0
for idx, line in enumerate(file): for idx, line in enumerate(file):
toks = line.split(',') toks = line.split(',')
if toks[0] == 'VALID': # Skip headers (concatenated files)
continue
if len(toks) != 6: # Check for line format error
continue
report = toks[3] report = toks[3]
lat = float(toks[4])
lon = float(toks[5])
if lon < lon_range[0] or lon > lon_range[1]:
continue
if lat < lat_range[0] or lat > lat_range[1]:
continue
# Flight level # Flight level
f_i = report.find('/FL') f_i = report.find('/FL')
...@@ -77,8 +96,7 @@ def pireps(filename): ...@@ -77,8 +96,7 @@ def pireps(filename):
if ii >= 0: if ii >= 0:
s = report[ii+3:] s = report[ii+3:]
ri = s.find('/RM') ri = s.find('/RM')
lat = float(toks[4])
lon = float(toks[5])
if ri >= 0: if ri >= 0:
s = s[:ri] s = s[:ri]
else: else:
...@@ -109,14 +127,13 @@ def pireps(filename): ...@@ -109,14 +127,13 @@ def pireps(filename):
fl = max(lvl_a, lvl_b) fl = max(lvl_a, lvl_b)
reports.append(s) reports.append(s)
lats.append(lat) lats.append(lat)
lons.append(lon) lons.append(lon)
alts.append(fl) alts.append(fl)
times.append(timestmp) times.append(timestmp)
cnt += 1 cnt += 1
print(len(ice_reports), len(no_ice_reports))
lats = np.array(lats) lats = np.array(lats)
lons = np.array(lons) lons = np.array(lons)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment