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]',
Beispiel #2
0
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',
Beispiel #3
0
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
Beispiel #4
0
#
#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]
Beispiel #5
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',
Beispiel #6
0
                           '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
Beispiel #7
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,
                      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',
Beispiel #10
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]

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,