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
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
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
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):