def getDataMap(latRange, lonRange, year, model, var): # load test data file testdata = scipy.io.loadmat(str('data/' + model + '/' + var + '/' + var + '_' + str(year) + '_01' + '_01')) testdata = testdata[str(var + '_' + str(year) + '_01' + '_01')][0] latLonRange = LatLonIndex.findLatLonRange(latRange, lonRange, testdata) dataMap = [] lat=[] lon=[] for i in latLonRange[0]: row = [] latrow=[] lonrow=[] for j in latLonRange[1]: x = LoadDataYear.loadDataYear(year, model, var, latindex = i, lonindex = j) latrow.append(x[0]) lonrow.append(x[1]) row.append(x[2]) dataMap.append(row) lat.append(latrow) lon.append(lonrow) return [lat,lon,dataMap]
wetBulbData = [] latGrid = [] lonGrid = [] print 'loading data' for year in range(baseYearRange[0], baseYearRange[1]): print year for x in range(latRange[0], latRange[1]): latRow = [] lonRow = [] for y in range(lonRange[0], lonRange[1]): hussData = LoadDataYear.loadDataYear(year, 'ncep', 'shum', reallat=x, reallon=y) tasmaxData = LoadDataYear.loadDataYear(year, 'ncep', 'tmax', reallat=x, reallon=y) pslData = LoadDataYear.loadDataYear(year, 'ncep', 'mslp', reallat=x, reallon=y) wbData = LoadDataYear.loadDataYear(year, 'ncep', 'wb',
# observations wetBulbData = [] latGrid = [] lonGrid = [] print 'loading data' for year in range(baseYearRange[0], baseYearRange[1]): print year for x in range(latRange[0], latRange[1]): latRow = [] lonRow = [] for y in range(lonRange[0], lonRange[1]): hussData = LoadDataYear.loadDataYear(year, 'ncep', 'shum', reallat = x, reallon = y) tasmaxData = LoadDataYear.loadDataYear(year, 'ncep', 'tmax', reallat = x, reallon = y) pslData = LoadDataYear.loadDataYear(year, 'ncep', 'mslp', reallat = x, reallon = y) wbData = LoadDataYear.loadDataYear(year, 'ncep', 'wb', reallat = x, reallon = y) latRow.append(tasmaxData[0]) lonRow.append(tasmaxData[1]) for r in range(len(hussData[2])): element = [] element.append(hussData[2][r]) element.append(tasmaxData[2][r]) wetBulbData.append(wbData[2][r]) somTrainingData.append(element) if year == baseYearRange[0]: latGrid.append(latRow)
lonTarget = 85 baseModelData = {} futureModelData = {} histograms = {} numBins = 50 plt.figure() plt.hold(True) for m in range(0, len(models)): baseModelData[models[m]] = [] for y in range(baseYears[0], baseYears[1]): print 'loaded year ' + str(y) d = LoadDataYear.loadDataYear(y, models[m], 'pr', reallat = latTarget, reallon = lonTarget) if ext: baseModelData[models[m]].append(max(d[2])*60*60*24) else: for x in d[2]: baseModelData[models[m]].append(x*60*60*24) if chg: futureModelData[models[m]] = [] for y in range(futureYears[0], futureYears[1]): print 'loaded year ' + str(y) d = LoadDataYear.loadDataYear(y, models[m], 'pr', reallat = latTarget, reallon = lonTarget) if ext: futureModelData[models[m]].append(max(d[2])*60*60*24) else: for x in d[2]: