Пример #1
0
def monthly_trial(month = 'Dec', phase = 'elnino', n = 30):
    from pandas import read_csv
    alldivDF, sst, mei, phaseind = monthly_setup(month = month, \
                                            phase = phase, n = n)
    fp = base_fp + month + phase + '.txt'
    f = open(fp, 'w'); firstline = 'div\trho\tpost\n'; f.write(firstline)
    for div in alldivDF:
        print div
        nipa = NIPAphase(alldivDF[div], sst, mei, phaseind)
        nipa.bootcorr(ntim = 50, corrconf = 0.95, quick = False, bootconf = 0.9)
        nipa.gridCheck(lim = 5)
        nipa.crossvalpcr()
        if not nipa.flags['noSST']:
            line = '%s\t%.2f\t%i\n' % (div, nipa.correlation, nipa.n_post_grid)
            f.write(line)
    f.close()

    data = read_csv(fp, sep = '\t', index_col = 0)

    fig, axes = plt.subplots(2, figsize = (14,14))

    for ax, dat  in zip(axes.flatten(), data.columns):
        fig, ax = valueMap(data[dat], fig = fig, ax = ax)
    fig.suptitle(phase + month)
    fig.savefig(fp[:-4])
    return
Пример #2
0
def seasonal_trial(season = 'DJF', phase = 'allyears', n = 120):
    from pandas import read_csv
    alldivDF, sst, mei, phaseind, slp = seasonal_setup(season = season, \
                                            phase = phase, n = n)
    print slp.data
    fp = base_fp + season + phase + '2.txt'
    f = open(fp, 'w'); firstline = 'div\trho\tpost\n'; f.write(firstline)
    for div in alldivDF:
        print div
        nipa = NIPAphase(alldivDF[div], slp, mei, phaseind)
        nipa.bootcorr(ntim = 100, corrconf = 0.95, quick = False, bootconf = 0.95)
        nipa.gridCheck(lim = 6, debug = True)
        nipa.crossvalpcr()
        if not nipa.flags['noSST']:
            line = '%s\t%.2f\t%i\n' % (div, nipa.correlation, nipa.n_post_grid)
            f.write(line)
    f.close()

    data = read_csv(fp, sep = '\t', index_col = 0)

    fig, axes = plt.subplots(2, figsize = (14,14))

    for ax, dat  in zip(axes.flatten(), data.columns):
        fig, ax = valueMap(data[dat], fig = fig, ax = ax)
    fig.suptitle(phase + season)
    fig.savefig(fp[:-4])
    return
Пример #3
0
def one():
	for season in ['DJF', 'MAM']:
		kwgroups = create_kwgroups(	climdiv_months = months[season], \
									sst_lag = sst_lag, n_mon_sst = n_mon_sst, \
									mei_lag = mei_lag, n_mon_mei = n_mon_mei, \
									slp_lag = slp_lag, n_mon_slp = n_mon_slp, \
									climdiv_startyr = startyr, n_yrs = n_yrs, \
									)


		alldivDF, sst, mei, phaseind, regionalDF, stateDF = get_data(kwgroups)

		for n in np.arange(30,75,5):
			corrs = {}
			pre = {}
			post ={}
			phase = 'neutral'
			phaseind = gen_phase_index(mei, n_yrs = n, phase = phase)

			st = time()
			for corrconf in [0.95]:
				for bootconf in [0.95]:
					for div in alldivDF:
						print div
						clim_data = alldivDF[div]
						nipa = NIPAphase(clim_data, sst, mei, phaseind)
						nipa.bootcorr(ntim = 100, corrconf = corrconf, bootconf = bootconf)
						nipa.gridCheck(lim = 6, debug = False); nipa.gridCheck(lim = 6, debug = False)
						nipa.crossvalpcr()
						if not nipa.flags['noSST']:
							corrs[div] = nipa.correlation
							pre[div] = nipa.n_pre_grid
							post[div] = nipa.n_post_grid
					et = time()
					print '%.2f seconds elapsed' % (et-st)
					fig, axes = plt.subplots(2, figsize = (14,14))

					for ax, dat  in zip(axes.flatten(), [corrs, post]):
						data = pd.DataFrame.from_dict(dat, orient = 'index')
						fig, ax = valueMap(data, fig = fig, ax = ax)
					fig.suptitle(phase + season)

					if bootconf == 0.9: bc = 90
					if bootconf == 0.95: bc = 95
					if corrconf == 0.9: cc = 90
					if corrconf == 0.95: cc = 95

					fp = '/Users/bz/Desktop/temp/%s_%s_%i_%i_%i' % (season, phase, n, cc, bc)
					fig.savefig(fp)
					plt.close(fig)
	return
Пример #4
0
					clim_data = alldivDF[div]
					nipa = NIPAphase(clim_data, sst, mei, phaseind)
					nipa.bootcorr(ntim = 200, corrconf = corrconf, bootconf = bootconf)
					nipa.gridCheck(lim = 6, debug = False); nipa.gridCheck(lim = 6, debug = False)
					nipa.crossvalpcr()
					if not nipa.flags['noSST']:
						corrs[div] = nipa.correlation
						pre[div] = nipa.n_pre_grid
						post[div] = nipa.n_post_grid
				et = time()
				print '%.2f seconds elapsed' % (et-st)
				fig, axes = plt.subplots(2, figsize = (14,14))

				for ax, dat  in zip(axes.flatten(), [corrs, post]):
					data = pd.DataFrame.from_dict(dat, orient = 'index')
					fig, ax = valueMap(data, fig = fig, ax = ax)
				fig.suptitle(phase + season)

				if bootconf == 0.9: bc = 90 
				if bootconf == 0.95: bc = 95
				if corrconf == 0.9: cc = 90 
				if corrconf == 0.95: cc = 95

				fp = '/Users/bz/Desktop/pshaw/%s_%s_%i_%i_%i' % (season, phase, n, cc, bc)
				fig.savefig(fp)
				plt.close(fig)



# for i in range(1000):