示例#1
0
fname = "/home/nikola/Work/phd/data/air.mon.mean.levels.nc"
net = ScaleSpecificNetwork(
    fname,
    "air",
    date(1948, 1, 1),
    date(2016, 1, 1),
    [-60, 0],
    [40, 100],
    level=0,
    dataset="NCEP",
    sampling="monthly",
    anom=False,
)

surrs = SurrogateField()
a = net.get_seasonality(detrend=True)
surrs.copy_field(net)
net.return_seasonality(a[0], a[1], a[2])

pool = Pool(20)
net.wavelet(8, "y", cut=1, pool=pool)
net.get_adjacency_matrix(net.phase, method="MIEQQ", num_workers=0, pool=pool, use_queue=False)
pool.close()
pool.join()

data_adj_matrix = net.adjacency_matrix.copy()

surrs_adj_matrices = []

for i in range(NUM_SURR):
    print("surr %d/%d computing..." % (i + 1, NUM_SURR))
                    "computing for %d period with %s for varnorm, %s for detrend and %s for cosweighting"
                    % (per, str(var), str(det), str(c))
                )
                net = ScaleSpecificNetwork(
                    "/home/nikola/Work/phd/data/air.mon.mean.levels.nc",
                    "air",
                    date(1948, 1, 1),
                    date(2014, 1, 1),
                    None,
                    None,
                    0,
                    "monthly",
                    anom=True,
                )
                if var:
                    net.get_seasonality(det)

                if not var and det:
                    continue

                if c:
                    net.data *= net.latitude_cos_weights()

                pool = Pool(3)
                net.wavelet(per, get_amplitude=True, pool=pool)
                net.get_filtered_data(pool=pool)
                pool.close()

                fname = "filt-data/SATA-1000hPa-filtered%dperiod-%svarnorm-%sdetrend-%scosweighting.bin" % (
                    per,
                    "" if var else "NO",
示例#3
0
# fname = '/home/nikola/Work/phd/data/air.mon.mean.sig995.nc'
fname = "/Users/nikola/work-ui/data/air.mon.mean.sig995.nc"

surrs = SurrogateField()

net = ScaleSpecificNetwork(fname,
                           'air',
                           date(1950, 1, 1),
                           date(2016, 1, 1),
                           None,
                           None,
                           None,
                           'monthly',
                           anom=False)
a = net.get_seasonality(detrend=True)
surrs.copy_field(net)
# surrs.construct_fourier_surrogates()
# surrs.add_seasonality(a[0], a[1], a[2])

for num in range(NUM_SURRS):
    pool = Pool(20)
    surrs.construct_fourier_surrogates(pool=pool)
    surrs.add_seasonality(a[0], a[1], a[2])

    net.data = surrs.get_surr()
    net.wavelet(1, 'y', pool=pool, cut=1)
    net.get_continuous_phase(pool=pool)
    print "wavelet done"
    net.get_phase_fluctuations(rewrite=True, pool=pool)
    print "fluctuations done"
            for c in cos:
                print(
                    "computing for %d period with %s for varnorm, %s for detrend and %s for cosweighting"
                    % (per, str(var), str(det), str(c)))
                net = ScaleSpecificNetwork(
                    '/home/nikola/Work/phd/data/air.mon.mean.levels.nc',
                    'air',
                    date(1948, 1, 1),
                    date(2014, 1, 1),
                    None,
                    None,
                    0,
                    'monthly',
                    anom=True)
                if var:
                    net.get_seasonality(det)

                if not var and det:
                    continue

                if c:
                    net.data *= net.latitude_cos_weights()

                pool = Pool(3)
                net.wavelet(per, get_amplitude=True, pool=pool)
                net.get_filtered_data(pool=pool)
                pool.close()

                fname = (
                    "filt-data/SATA-1000hPa-filtered%dperiod-%svarnorm-%sdetrend-%scosweighting.bin"
                    % (per, '' if var else 'NO', '' if det else 'NO',