In [1]:
from pygchem import emissions

In [2]:
bef_test = emissions.EmissionBase('name', 'file.nc', 'the var name', 3, 'm', '*/*/*/*', 'O3', 2, 2)
bef_test


Out[2]:
EmissionBase(name=name, filename=file.nc, var_name=the var name, ndim=3, units=m, timeslicer=*/*/*/*, species=O3, category=2, hierarchy=2, datafield=None, scale_factors=List of 0 EmissionScale or EmssionMask:
)

In [3]:
sf_test = emissions.EmissionScale('name_sf', 'file2.nc', 'another var name', 3, 'km', '*/*/*/*',
                                  operator=':')
sf_test


Out[3]:
EmissionScale(name=name_sf, filename=file2.nc, var_name=another var name, ndim=3, units=km, timeslicer=*/*/*/*, datafield=None, operator=:, fid=None)

In [4]:
bef_test.scale_factors.append(sf_test)
bef_test


Out[4]:
EmissionBase(name=name, filename=file.nc, var_name=the var name, ndim=3, units=m, timeslicer=*/*/*/*, species=O3, category=2, hierarchy=2, datafield=None, scale_factors=List of 1 EmissionScale or EmssionMask:
EmissionScale(name=name_sf, filename=file2.nc, var_name=another var name, ndim=3, units=km, timeslicer=*/*/*/*, datafield=None, operator=:, fid=None))

In [5]:
print bef_test.scale_factors


List of 1 EmissionScale or EmssionMask:
EmissionScale(name=name_sf, filename=file2.nc, var_name=another var name, ndim=3, units=km, timeslicer=*/*/*/*, datafield=None, operator=:, fid=None)

In [5]:


In [6]:
%timeit emissions.load_setup('../../data/HEMCO_test')


10 loops, best of 3: 52.1 ms per loop

In [7]:
test_setup = emissions.load_setup('../../data/HEMCO_test')

In [8]:
print test_setup


HEMCO settings: setup imported from file '../../data/HEMCO_test'

In [9]:
test_setup.extensions.keys


Out[9]:
['Custom',
 'SeaFlux',
 'ParaNOx',
 'LightNOx',
 'SoilNOx',
 'DustDead',
 'DustGinoux',
 'SeaSalt',
 'MEGAN',
 'MEGAN_Mono',
 'MEGAN_SOA',
 'Core']

In [10]:
test_setup.extensions.select_item('ParaNOx').extension_data.keys


Out[10]:
['ICOADS_SHIP_NO', 'EDGAR_SHIP_NO', 'EMEP_SHIP_NO']

In [11]:
test_bef = test_setup.base_emission_fields[0]
test_bef


Out[11]:
EmissionBase(name=GEIA_ALK4, filename=/home/ckeller/data/emis/GEIA/nc/GEIA_FOSSIL.geos.1x1.nc, var_name=ALK4, ndim=2, units=kg/m2/s, timeslicer=1985/1/1/0, species=ALK4, category=1, hierarchy=1, datafield=None, scale_factors=List of 4 EmissionScale or EmssionMask:
EmissionScale(name=LIQFUEL_THISYR, filename=/home/ckeller/data/emis/AnnualScalar/nc/CO-AnnualScalar.201105-Fix.geos.1x1.nc, var_name=COscalar, ndim=2, units=unitless, timeslicer=1985-2008/1/1/0, datafield=None, operator=1, fid=6)
EmissionScale(name=LIQFUEL_1985, filename=/home/ckeller/data/emis/AnnualScalar/nc/CO-AnnualScalar.201105-Fix.geos.1x1.nc, var_name=COscalar, ndim=2, units=unitless, timeslicer=1985/1/1/0, datafield=None, operator=-1, fid=7)
EmissionScale(name=GEIA_DOW_HC, filename=None, var_name=None, ndim=2, units=unitless, timeslicer=None, datafield=[ 0.671   1.1102  1.1102  1.1102  1.1102  1.1102  0.768 ], operator=1, fid=22)
EmissionScale(name=GEIA_TOD_FOSSIL, filename=None, var_name=None, ndim=2, units=unitless, timeslicer=None, datafield=[ 0.45  0.45  0.6   0.6   0.6   0.6   1.45  1.45  1.45  1.45  1.4   1.4
  1.4   1.4   1.45  1.45  1.45  1.45  0.65  0.65  0.65  0.65  0.45  0.45], operator=1, fid=26))

In [12]:
emissions.load_emission_data(test_bef)


---------------------------------------------------------------------------
IOError                                   Traceback (most recent call last)
<ipython-input-12-626ee6835e16> in <module>()
----> 1 emissions.load_emission_data(test_bef)

/mnt/hgfs/Altair/GitRepos/PyGChem/pygchem/emissions.pyc in load_emission_data(emission_fields, return_data)
    195         )
    196         if efield.filename is not None:
--> 197             dfield = datafields.load(efield.filename, constraint)
    198         else:
    199             dfield = None

/home/benbovy/PythonEnvs/pygchem_py27_2/lib/python2.7/site-packages/iris/__init__.pyc in load(uris, constraints, callback)
    277 
    278     """
--> 279     return _load_collection(uris, constraints, callback).merged().cubes()
    280 
    281 

/home/benbovy/PythonEnvs/pygchem_py27_2/lib/python2.7/site-packages/iris/__init__.pyc in _load_collection(uris, constraints, callback)
    247     try:
    248         cubes = _generate_cubes(uris, callback)
--> 249         result = iris.cube._CubeFilterCollection.from_cubes(cubes, constraints)
    250     except EOFError as e:
    251         raise iris.exceptions.TranslationError(

/home/benbovy/PythonEnvs/pygchem_py27_2/lib/python2.7/site-packages/iris/cube.pyc in from_cubes(cubes, constraints)
    134         pairs = [_CubeFilter(constraint) for constraint in constraints]
    135         collection = _CubeFilterCollection(pairs)
--> 136         for cube in cubes:
    137             collection.add_cube(cube)
    138         return collection

/home/benbovy/PythonEnvs/pygchem_py27_2/lib/python2.7/site-packages/iris/__init__.pyc in _generate_cubes(uris, callback)
    234         if scheme == 'file':
    235             part_names = [x[1] for x in groups]
--> 236             for cube in iris.io.load_files(part_names, callback):
    237                 yield cube
    238         elif scheme in ['http', 'https']:

/home/benbovy/PythonEnvs/pygchem_py27_2/lib/python2.7/site-packages/iris/io/__init__.pyc in load_files(filenames, callback)
    177 
    178     """
--> 179     all_file_paths = expand_filespecs(filenames)
    180 
    181     # Create default dict mapping iris format handler to its associated filenames

/home/benbovy/PythonEnvs/pygchem_py27_2/lib/python2.7/site-packages/iris/io/__init__.pyc in expand_filespecs(file_specs)
    161         raise IOError("One or more of the files specified did not exist %s." %
    162         ["%s expanded to %s" % (pattern, expanded if expanded else "empty")
--> 163          for pattern, expanded in glob_expanded.iteritems()])
    164 
    165     return sum(value_lists, [])

IOError: One or more of the files specified did not exist ['/home/ckeller/data/emis/GEIA/nc/GEIA_FOSSIL.geos.1x1.nc expanded to empty'].

In [ ]:


In [ ]: