Skip to content
Snippets Groups Projects
pirep_goes.py 1.44 KiB
from amv.intercompare import pirep_icing
from deeplearning.amv_raob import get_images
import numpy as np
import pickle
import os
from util.util import get_time_tuple_utc
from aeolus.datasource import CLAVRx

clavrx_dir = '/apollo/cloud/scratch/ICING/'
dir_fmt = '%Y_%m_%d_%j'
# dir_list = [f.path for f in os.scandir('.') if f.is_dir()]
ds_dct = {}

pirep_file = '/home/rink/data/pirep/pireps_2018040100_2018123023.csv'

ice_dict, no_ice_dict = pirep_icing(pirep_file)
print('num obs: ice, no ice', len(ice_dict), len(no_ice_dict))

time_keys = list(ice_dict.keys())

hist = np.zeros(20)

for idx, time in enumerate(time_keys):
    if (idx % 4) != 0:
        continue
    print(100.0*(idx/len(time_keys)))
    reports = ice_dict[time]
    lat_s = []
    lon_s = []
    for tup in reports:
        lat, lon, fl, rpt_str = tup
        lat_s.append(lat)
        lon_s.append(lon)

    images, _, _, idxs = get_images(lon_s, lat_s, time, ['14'], [10], [1])
    if images is not None:
        counts, edges = np.histogram(images[0,], range=[150, 350], bins=20)
        hist += counts


def get_clavrx_datasource(timestamp):
    dt_obj, time_tup = get_time_tuple_utc(timestamp)
    date_dir_str = dt_obj.strftime(dir_fmt)
    ds = ds_dct.get(date_dir_str)
    if ds is None:
        ds = CLAVRx(clavrx_dir + date_dir_str + '/')
        ds_dct[date_dir_str] = ds
    return ds


f = open('/home/rink/ice_hist.pkl', 'wb')
pickle.dump(hist, f)
f.close()
print('bin edges: ', edges)