예제 #1
0
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]
예제 #2
0
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',
예제 #3
0
# 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)
예제 #4
0
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]: