示例#1
0

# nao_surrs = np.zeros([NUM_SURR] + net.get_spatial_dims())
# for surr_num in range(NUM_SURR):
#     print surr_num
#     surr = nao.copy()
#     surr.data = get_single_FT_surrogate(nao.data)
#     surr.wavelet(8, 'y', cut = 1)
#     args = [ (i, j, net.phase[:, i, j], surr.phase) for i in range(net.lats.shape[0]) for j in range(net.lons.shape[0])]
#     results = pool.map(_get_MI, args)
#     for i, j, res in results:
#         nao_surrs[surr_num, i, j] = res

# pool.close()
# pool.join()

with open("NCEP-SAT-NAO-8yr-phase-%dFTsurrs-MIEQQ-k=32.bin" % NUM_SURR, "rb") as f:
    # cPickle.dump({'data' : nao_synch, 'surrs' : nao_surrs}, f, protocol = cPickle.HIGHEST_PROTOCOL)
    raw = cPickle.load(f)

nao_synch = raw['data']
nao_surrs = raw['surrs']

result = nao_synch.copy()
p_vals = get_p_vals(nao_synch, nao_surrs, one_tailed = True)
msk = np.less_equal(p_vals, P_VAL)
result[~msk] = np.nan

fname = "NCEP-SAT-NAO-8yr-phase-%dFTsurrs-MIEQQ-k=32.png" % NUM_SURR
net.quick_render(field_to_plot = result, tit = "8yr phase synch TEMP x NAO \n p-value %.2f" % P_VAL, symm = False, fname = fname)
示例#2
0
    None,
    level=0,
    dataset="NCEP",
    sampling='monthly',
    anom=False)

t**s = ["NAO", "NINO3.4", "sunspot #", "PDO"]
with h5py.File("networks/phase_synch_eqq_bins=8_all_periods.h5") as hf:
    to_do_periods = np.arange(2, 15.5, 0.5)
    for period in to_do_periods:
        plt.figure(figsize=(15, 7))
        synch = hf['period_%.1fy' % (period)][:]
        for i, tit in zip(range(synch.shape[0]), t**s):
            plt.subplot(2, 2, i + 1)
            vmax, vmin = np.nanmax(synch), np.nanmin(synch)
            net.quick_render(field_to_plot=synch[i, ...],
                             tit=tit,
                             symm=False,
                             whole_world=True,
                             subplot=True,
                             cmap='hot',
                             vminmax=[vmin, 0.8 * vmax],
                             extend="max")

        plt.suptitle("SYNCHRONIZATION SAT vs. X: %.1fyr phase [eqq 8]" %
                     (period))
        plt.savefig(
            "networks/plots-synch/SATphase_synch%.1fyr_phase_eqq8.png" %
            (period),
            bbox_inches='tight')
示例#3
0
# for surr_num in range(NUM_SURR):
#     print surr_num
#     surr = nao.copy()
#     surr.data = get_single_FT_surrogate(nao.data)
#     surr.wavelet(8, 'y', cut = 1)
#     args = [ (i, j, net.phase[:, i, j], surr.phase) for i in range(net.lats.shape[0]) for j in range(net.lons.shape[0])]
#     results = pool.map(_get_MI, args)
#     for i, j, res in results:
#         nao_surrs[surr_num, i, j] = res

# pool.close()
# pool.join()

with open("NCEP-SAT-NAO-8yr-phase-%dFTsurrs-MIEQQ-k=32.bin" % NUM_SURR,
          "rb") as f:
    # cPickle.dump({'data' : nao_synch, 'surrs' : nao_surrs}, f, protocol = cPickle.HIGHEST_PROTOCOL)
    raw = cPickle.load(f)

nao_synch = raw['data']
nao_surrs = raw['surrs']

result = nao_synch.copy()
p_vals = get_p_vals(nao_synch, nao_surrs, one_tailed=True)
msk = np.less_equal(p_vals, P_VAL)
result[~msk] = np.nan

fname = "NCEP-SAT-NAO-8yr-phase-%dFTsurrs-MIEQQ-k=32.png" % NUM_SURR
net.quick_render(field_to_plot=result,
                 tit="8yr phase synch TEMP x NAO \n p-value %.2f" % P_VAL,
                 symm=False,
                 fname=fname)
示例#4
0
import h5py
import numpy as np
import pyclits as clt
from scale_network import ScaleSpecificNetwork
import matplotlib.pyplot as plt
from datetime import date
plt.style.use('ipython')

net = ScaleSpecificNetwork('/Users/nikola/work-ui/data/NCEP/air.mon.mean.levels.nc', 
                                    'air', date(1950,1,1), date(2014,1,1), None, None, 
                                    level = 0, dataset="NCEP", sampling='monthly', anom=False)

t**s = ["NAO", "NINO3.4", "sunspot #", "PDO"]
with h5py.File("networks/phase_synch_eqq_bins=8_all_periods.h5") as hf:
    to_do_periods = np.arange(2,15.5,0.5)
    for period in to_do_periods:
        plt.figure(figsize=(15,7))
        synch = hf['period_%.1fy' % (period)][:]
        for i, tit in zip(range(synch.shape[0]), t**s):
            plt.subplot(2,2,i+1)
            vmax, vmin = np.nanmax(synch), np.nanmin(synch)
            net.quick_render(field_to_plot=synch[i, ...], tit=tit, symm=False, whole_world=True, subplot=True,
                                cmap='hot', vminmax=[vmin,0.8*vmax], extend = "max")

        plt.suptitle("SYNCHRONIZATION SAT vs. X: %.1fyr phase [eqq 8]" % (period))
        plt.savefig("networks/plots-synch/SATphase_synch%.1fyr_phase_eqq8.png" % (period), bbox_inches='tight')

data_corrs = surr_res['data']
surr_corrs = surr_res['surrs']

no_sigs = np.zeros_like(data_corrs)
msk = np.isnan(data_corrs)
no_sigs[msk] = np.nan

result = data_corrs.copy()
surrs_tmp = np.array([surr_corrs[i] for i in range(len(surr_corrs))])

p_vals = get_p_vals(data_corrs, surrs_tmp, one_tailed = False)
msk = np.less_equal(p_vals, P_VAL)

result[~msk] = np.nan

no_sigs[msk] += 1

tit = ("WeMO vs. phase fluc: JFM annual means - 1949 -- 2014 \n p-value %.2f" % (P_VAL))
fname = ("../scale-nets/WeMO-NCEP-phase-fluc-JFMmeans-1949-2014-SURR.png")
# print result
# net.data[0, ...] = result.copy()
net.quick_render(field_to_plot = result, tit = tit, fname = fname, symm = True, whole_world = True)


# tit = ("ECA&D number of significant with p-value %.2f" % (P_VAL))
# fname = ("../scale-nets/ECAD-SAT-annual-phase-fluc-SSA-RC-number-of-sig-from-indices.png")
# net.quick_render(field_to_plot = no_sigs, tit = tit, fname = fname, symm = False, whole_world = False)