source: DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/ukcip02.py @ 3568

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/DPPP/ukcip02_server/trunk/ukcip_server/ukcip_server/model/ukcip02.py@3568
Revision 3568, 1.1 KB checked in by spascoe, 14 years ago (diff)

Some changes to work behind a proxy and other misc. stuff.

Line 
1"""
2Load UKCIP02 data
3
4"""
5
6import os
7from glob import glob
8
9from pylons import config
10from ukcip_server.model.pywms.wms_cdms import CdmsBNGGrid
11from ukcip_server.model.pywms.impl import CdmsLayer
12from ows_common.service.wms_iface import ILayerMapper
13
14import cdms2 as cdms
15
16import logging
17log = logging.getLogger(__name__)
18
19
20# Hard-coded min/max values
21ranges = {
22    'rainfall': (0.0, 1100.0),
23    'rain_days': (0.0, 31.0),
24    'mean_temp': (-8.0, 22.0)
25    }
26
27class UKCIP02LayerMapper(ILayerMapper):
28    def __init__(self):
29        self.dataFile = config['ukcip02.data']
30        log.debug('Input data set to set to %s' % self.dataFile)
31
32    def map(self, **kwargs):
33        # Ignore kwargs
34        ds = cdms.open(self.dataFile)
35       
36        layers = {}
37        for varName in ds.listvariables():
38            log.debug('Found layer %s' % varName)
39            #!TODO: Min/Max values
40            layers[varName] = CdmsLayer(ds[varName], GridClass=CdmsBNGGrid,
41                                        minValue=ranges[varName][0],
42                                        maxValue=ranges[varName][1])
43
44        return layers
45
Note: See TracBrowser for help on using the repository browser.