def getForcings(self, options):
        if not ('precip' in options and 'temperature' in options and 'wind' in options):
            print "ERROR! No data source provided for VIC forcings"
            sys.exit()
        datasets = ["precip." + options["precip"], "tmax." + options["temperature"],
                    "tmin." + options["temperature"], "wind." + options["wind"]]
        if 'lai' in options:
            datasets.append("lai" + options["lai"])
            self.lai = options['lai']
        options['tmax'] = options['temperature']
        options['tmin'] = options['temperature']
        rtables = {}
        for v in ['precip', 'tmax', 'tmin', 'wind']:
            rtables[v] = self.createIndexTable("{0}.{1}".format(v, options[v]))
        tiles = {v: self._getTiles("{0}_xy".format(v))
                 for v in ['precip', 'tmax', 'tmin', 'wind']}
        data = {}
        nprocs = mp.cpu_count()
        p = mp.Pool(nprocs)
        for v in tiles:
            reader = TileReader(self.dbname, rtables[
                                v], self.startyear, self.startmonth, self.startday, self.endyear, self.endmonth, self.endday)
            data[v] = p.map_async(reader, tiles[v])
        data = {v: [i for s in data[v].get() for i in s] for v in data}
        p.close()
        p.join()
        for s in data:
            self._dropIndexTable(s)
        self.precip = options['precip']
        self.temp = options['temperature']
        self.wind = options['wind']
        return data['precip'], data['tmax'], data['tmin'], data['wind']
Get meteorological forcings from database.
dataset/ETHPy150Open nasa/RHEAS/src/vic/vic.py/VIC.getForcings