from statistic import hist_and_plot pamtra = read_variables( path='/work/develop/pamtraICON/comparison/data/pamtra/', hydroset='all_hydro', suffix='pamtra_icon.h5', varlist=['Hgt', 'Z10', 'Z35', 'Z94'], minhour=6.0) radar = read_variables( path='/work/develop/pamtraICON/comparison/data/radar/', hydroset='', suffix='radar.h5', varlist=['Hgt', 'Z10', 'Z35', 'Z94', 'quality_x', 'quality_w'], minhour=6.0) radarw = slice_data(radar, 'quality_w', maxvalue=8192) radarx = slice_data(radar, 'quality_x', maxvalue=8192) #radarxw = slice_data(radarw, 'quality_x', maxvalue=8192) #%% Z CFAD Height lognormrule = True density = True bins = 50 stats = ['mean', 'median', 'quartile'] r = hist_and_plot(pamtra, 'CFAD Zx hgt', yvar='Hgt', xvar='Z10', xlabel='Zx [dBZ]', ylabel='Hgt [m]',
radar['RR'] = (pluvio.resample('1s').nearest().loc[radar.unixtime] * 60 / accMins).values pamtra['RR'] = (icon.resample('1s').nearest().loc[pamtra.unixtime] * 60 / accMins).values rad = rad.loc[radar.unixtime] rpu = rpu.loc[radar.unixtime] pam = pam.loc[pamtra.unixtime] #for col in rpu.columns: # radar[col] = rpu[col].values for col in rad.columns: radar[col] = rad[col].values for col in pam.columns: pamtra[col] = pam[col].values pamtra = slice_data(pamtra, 'Z10', minvalue=-7) #radarw = slice_data(radar, 'quality_w', maxvalue=8192) #radarx = slice_data(radar, 'quality_x', maxvalue=8192) radarw = slice_data(radar, 'quality_w', maxvalue=4096) radarx = slice_data(radar, 'quality_x', maxvalue=4096) logrule = True density = True CFAD = True bins = (np.arange(-5, 15, 0.35), np.arange(-45, 1, 0.6)) vminmax = [0.1, 20] stats = ['mean', 'median', 'quartile', 'decile'] r = hist_and_plot(pamtra, 'Simulated CFAD T - DWRxk', yvar='T',
radar = read_variables(path='/work/develop/pamtraICON/comparison/data/radar/', hydroset='', suffix='radar_regrid.h5', minhour=6.0, varlist=[ 'Z10', 'Z35', 'Z94', 'T', 'unixtime', 'V10avg', 'V35avg', 'V94avg', 'quality_x', 'quality_w' ]) radar.unixtime = pd.to_datetime(radar.unixtime.astype(np.int64), unit='s') pamtra.unixtime = pd.to_datetime(pamtra.unixtime.astype(np.int64), unit='s') ice.unixtime = pd.to_datetime(ice.unixtime.astype(np.int64), unit='s') snow.unixtime = pd.to_datetime(snow.unixtime.astype(np.int64), unit='s') #rad = slice_data(radar, 'V35avg', minvalue=-2, maxvalue=1) radar = slice_data(radar, 'Z35', minvalue=-40, maxvalue=30) #radarw = slice_data(radar, 'quality_w', maxvalue=8192) #radarx = slice_data(radar, 'quality_x', maxvalue=8192) #radarxw = slice_data(radarw, 'quality_x', maxvalue=8192) rad = rad.loc[radar.unixtime] pam = pam.loc[pamtra.unixtime] for col in rad.columns: radar[col] = rad[col].values for col in pam.columns: pamtra[col] = pam[col].values ice[col] = pam[col].values snow[col] = pam[col].values lognormrule = True density = True
# #snow = read_variables(path='/work/develop/pamtraICON/comparison/data/pamtra/', # hydroset='only_snow', suffix='pamtra_icon.h5', pamtra=True, # varlist=['Z10', 'Z35', 'Z94', 'T', # 'V10', 'V35', 'V94'], minhour=6.0) radar = read_variables(path='/work/develop/pamtraICON/comparison/data/radar/', hydroset='', suffix='radar_regrid.h5', minhour=6.0, varlist=[ 'Z10', 'Z35', 'Z94', 'T', 'V10avg', 'V35avg', 'V94avg', 'quality_x', 'quality_w' ]) radarw = slice_data(radar, 'quality_w', maxvalue=8192) radarx = slice_data(radar, 'quality_x', maxvalue=8192) data = netCDF4.Dataset('../data/idealized_hydro.nc') data_simple = netCDF4.Dataset('../data/idealized_hydro_simple.nc') datavar = data.variables Zvar = data_simple.variables['Ze'] Ze = Zvar[:] Ze[:, 0, :, 2, 0, 0] = Ze[:, 0, :, 2, 0, 0] #+ 10.*np.log10(0.93/0.72) V = datavar['Radar_MeanDopplerVel'][:] V[V < 0] = np.nan Zc = Ze[0, 0, :, :, 0, 0] Zi = Ze[1, 0, :, :, 0, 0] Zr = Ze[2, 0, :, :, 0, 0] Zs = Ze[3, 0, :, :, 0, 0]
Vs = V[3, 0, :, :, 0, 0] Vg = V[4, 0, :, :, 0, 0] Vh = V[5, 0, :, :, 0, 0] Sc = S[0, 0, :, :, 0, 0] Si = S[1, 0, :, :, 0, 0] Sr = S[2, 0, :, :, 0, 0] Ss = S[3, 0, :, :, 0, 0] Sg = S[4, 0, :, :, 0, 0] Sh = S[5, 0, :, :, 0, 0] campaign = 'tripex' minhour = 6.0 pamtra = read_prepare(hydroset=campaign + '_all_hydro_', minhour=minhour) pamtraTl0 = slice_data(pamtra, 'T', maxvalue=0) lognormrule = True #%% CFAD Sensitivity xlim = [-60, 50] ylim = [0, 12000] h1, x1, y1 = hist_and_plot(pamtra, 'sensitivity cone X', yvar='Hgt', xvar='Z10', xlabel='Zx [dBZ]', ylabel='Hgt [m]', xlim=xlim, ylim=ylim, lognorm=lognormrule, savename='tripex/3f/pamtraCFAD_Zx_Hgt.png',
'V35avg', 'V94avg', 'W10', 'W35', 'W94', 'unixtime', 'quality_x', 'quality_w' ]) radar.unixtime = pd.to_datetime(radar.unixtime.astype(np.int64), unit='s') pamtra.unixtime = pd.to_datetime(pamtra.unixtime.astype(np.int64), unit='s') radar['RR'] = (pluvio.resample('1s').nearest().loc[radar.unixtime] * 60 / accMins).values pamtra['RR'] = (icon.resample('1s').nearest().loc[pamtra.unixtime] * 60 / accMins).values #radarw = slice_data(radar, 'quality_w', maxvalue=8192) #radarx = slice_data(radar, 'quality_x', maxvalue=8192) pamtra = slice_data(pamtra, 'Z35', -15.0) radar = slice_data(radar, 'Z35', -15.0) logrule = True density = False CFAD = True inverty = True bins = 100 stats = ['mean', 'median', 'quartile', 'decile'] ## High precipitation minRR = 1.0 maxRR = 91.0 pre = 'HIG' mdv, sw, sk = qN2moments(pamtra['QR'], pamtra['QNR']) pamtra['MDVp'] = mdv
Sr = S[2, 0, :, :, 0, 0] Ss = S[3, 0, :, :, 0, 0] Sg = S[4, 0, :, :, 0, 0] Sh = S[5, 0, :, :, 0, 0] campaign = 'tripex' minhour = 6.0 pamtra = read_prepare(hydroset=campaign + '_all_hydro_', minhour=minhour, suffix='') pamtra[pamtra == 9999] = np.nan lognormrule = True radar = read_radar(campaign=campaign, minhour=minhour, avg='_avg') radarw = slice_data(radar, 'quality_w', maxvalue=8192) radarx = slice_data(radar, 'quality_x', maxvalue=8192) radarxw = slice_data(radarw, 'quality_x', maxvalue=8192) #%% Triple frequency xlim = [-5, 20] ylim = [-5, 20] lw = 3 hist_and_plot(pamtra, '3f plot all', yvar='DWRxk', xvar='DWRkw', xlabel='DWR Ka W [dB]', ylabel='DWR X Ka [dB]', xlim=xlim, ylim=ylim, lognorm=lognormrule,
'Nk Nw', yvar='N35', xvar='N94', xlim=[-100, 100], ylim=[-100, 100], xlabel='Nk', ylabel='Nw', lognorm=lognormrule, savename='pamtra3f_Nkw.png', inverty=False, figax=None, bins=100, density=False, CFAD=False) data = slice_data(pamtra, 'DWRxk', maxvalue=-2) hxk, xxk, yxk = hist_and_plot(data, 'Nx Nk', yvar='N10', xvar='N35', xlim=[-100, 100], ylim=[-100, 100], xlabel='Nx', ylabel='Nk', lognorm=lognormrule, savename='pamtra3f_Nxk.png', inverty=False, figax=None, bins=100, density=False, CFAD=False)
pam.index = pd.to_datetime(pam.index.astype(np.int64), unit='s') rpu.index = pd.to_datetime(rpu.index.astype(np.int64), unit='s') rad['RR'] = pluvio.resample('1s').nearest().loc[rad.index] * 60 / accMins pam['RR'] = icon.resample('1s').nearest().loc[pam.index] * 60 / accMins rpu['RR'] = pluvio.resample('1s').nearest().loc[rpu.index] * 60 / accMins logrule = True density = False CFAD = True inverty = True bins = (60, 30) stats = ['mean', 'median', 'quartile', 'decile'] vminmax = [0.1, 40] pam = slice_data(pam, 'RR', minvalue=-0.001) rad = slice_data(rad, 'RR', minvalue=-0.001) rpu = slice_data(rpu, 'RR', minvalue=-0.001) pam = slice_data(pam, 'maxDWRxk', maxvalue=13.5) rad = slice_data(rad, 'maxDWRxk', maxvalue=13.5) rpu = slice_data(rpu, 'maxDWRxk', maxvalue=13.5) pam = slice_data(pam, 'maxDWRkw', maxvalue=13.5) rad = slice_data(rad, 'maxDWRkw', maxvalue=13.5) rpu = slice_data(rpu, 'maxDWRkw', maxvalue=13.5) r = hist_and_plot(pam, 'Simulated Cloud Top Temperature - max DWRkw', yvar='CTT', xvar='maxDWRkw',
Sc = S[0, 0, :, :, 0, 0] Si = S[1, 0, :, :, 0, 0] Sr = S[2, 0, :, :, 0, 0] Ss = S[3, 0, :, :, 0, 0] Sg = S[4, 0, :, :, 0, 0] Sh = S[5, 0, :, :, 0, 0] Zc[:, 0] -= 0.5 Zr[:, 0] -= 0.5 #pamtra = read_prepare(filename='../data/tripex_all_hydro_data_pamtra_icon.h5') #pamtra[pamtra==9999.0] = np.nan lognormrule = True #radar = read_radar(filename='..data/'+campaign+'_data_radar'++'.h5', minhour=minhour) radarw = slice_data(radar, 'quality_w', maxvalue=8192) radarx = slice_data(radar, 'quality_x', maxvalue=8192) radarxw = slice_data(radarw, 'quality_x', maxvalue=8192) #%% Triple frequency xlim = [-10, 20] ylim = [-10, 20] lw = 3 r = hist_and_plot(slice_data(pamtra, 'Z10', minvalue=-2), '3f plot all', yvar='DWRxk', xvar='DWRkw', xlabel='DWR Ka W [dB]', ylabel='DWR X Ka [dB]', xlim=xlim, ylim=ylim,