def getRegionMean(self,region,model): """ Кэшируюшая ф-я получения среднерегионального ряда для какой-либо модели """ if self.regionsAvg[region][model] is None: dots=self.regionsDict[region][model] stList=[self.models[model][d] for d in dots] cso=clidat.metaData({'dt':self.dt}, stList=stList) cdo=cso.setRegAvgData() self.regionsAvg[region][model]=cdo r=cdo else: r=self.regionsAvg[region][model] return r
def setModelData(self,modList,dt): """ Подключаем исходные данные моделей """ scenariosList=list() for fn in modList: conn=cmip5connection(fn,dt) self.models[conn.modelId]=clidat.metaData(meta={'dt':dt},dataConnection=conn) scenariosList.append(self.models[conn.modelId].meta['scenario']) if len(set(scenariosList))>1: raise StandardError, "different scenarios used in different files" if self.scenario is None: self.scenario=scenariosList[0] if scenariosList[0]!=self.scenario: raise StandardError, "scenario set as %s, you trying to load %s"%(self.scenario, scenariosList[0]) self.results={mod:dict() for mod in self.models if mod not in self.results} pass