In [11]:
from pygchem import diagnostics
In [12]:
dinfo = diagnostics.CTMDiagnosticInfo()
In [13]:
try:
dinfo.categories.append('wrong_object')
except ValueError:
print 'not added'
not added
In [14]:
ncat = len(dinfo.categories)
dinfo.load_diaginfo('../../../pygchem/data/diaginfo.dat')
len(dinfo.categories) == ncat
Out[14]:
True
In [15]:
print dinfo.categories.select(offset=0)
List of 12 CTMCategory (selection):
CTMCategory(offset=0, name=IJ-AVG-$, description=Tracer concentration)
CTMCategory(offset=0, name=IJ-24H-$, description=24-hr avg tracer conc.)
CTMCategory(offset=0, name=IJ-INS-$, description=Instantaneous tracer)
CTMCategory(offset=0, name=INST-MAP, description=Instantaneous tracer)
CTMCategory(offset=0, name=500-AVRG, description=500 hPa Tracer)
CTMCategory(offset=0, name=SRF-AVRG, description=)
CTMCategory(offset=0, name=HZ$-AVRG, description=)
CTMCategory(offset=0, name=NRTH-SLP, description=)
CTMCategory(offset=0, name=WET CONV, description=)
CTMCategory(offset=0, name=DRY CONV, description=)
CTMCategory(offset=0, name=PROD-AVG, description=)
CTMCategory(offset=0, name=LOSS-AVG, description=)
In [16]:
dinfo.categories.select_item(name='IJ-AVG-$')
Out[16]:
CTMCategory(offset=0, name=IJ-AVG-$, description=Tracer concentration)
In [17]:
print dinfo.diagnostics.select(hydrocarbon=True)
List of 61 CTMDiagnostic (selection):
CTMDiagnostic(number=5, name=ALK4, full_name=Alkanes(>C4), unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=6, name=ISOP, full_name=Isoprene, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=9, name=ACET, full_name=Acetone, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=10, name=MEK, full_name=Ketones(>C3), unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=11, name=ALD2, full_name=Acetaldehyde, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=18, name=PRPE, full_name=Propene, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=19, name=C3H8, full_name=Propane, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=21, name=C2H6, full_name=Ethane, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=105, name=ALK4, full_name=Alkanes(>C4), unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=106, name=ISOP, full_name=Isoprene, unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=109, name=ACET, full_name=Acetone, unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=110, name=MEK, full_name=Ketones(>C3), unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=111, name=ALD2, full_name=Acetaldehyde, unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=118, name=PRPE, full_name=Propene, unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=119, name=C3H8, full_name=Propane, unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=121, name=C2H6, full_name=Ethane, unit=atoms C/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=205, name=ALK4, full_name=Alkanes(>C4), unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=206, name=ISOP, full_name=Isoprene, unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=209, name=ACET, full_name=Acetone, unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=210, name=MEK, full_name=Ketones(>C3), unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=211, name=ALD2, full_name=Acetaldehyde, unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=218, name=PRPE, full_name=Propene, unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=219, name=C3H8, full_name=Propane, unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=221, name=C2H6, full_name=Ethane, unit=kgC/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=305, name=ALK4, full_name=Alkanes(>C4), unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=306, name=ISOP, full_name=Isoprene, unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=309, name=ACET, full_name=Acetone, unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=310, name=MEK, full_name=Ketones(>C3), unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=311, name=ALD2, full_name=Acetaldehyde, unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=318, name=PRPE, full_name=Propene, unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=319, name=C3H8, full_name=Propane, unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=321, name=C2H6, full_name=Ethane, unit=atoms C/cm2, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=405, name=ALK4, full_name=Alkanes(>C4), unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=406, name=ISOP, full_name=Isoprene, unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=409, name=ACET, full_name=Acetone, unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=410, name=MEK, full_name=Ketones(>C3), unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=411, name=ALD2, full_name=Acetaldehyde, unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=418, name=PRPE, full_name=Propene, unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=419, name=C3H8, full_name=Propane, unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=421, name=C2H6, full_name=Ethane, unit=kgC, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=4701, name=ISOP, full_name=Isoprene, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=4702, name=ACET, full_name=Acetone, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4703, name=PRPE, full_name=Propene, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4704, name=MONOT, full_name=Monoterpenes, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4801, name=ACETmo, full_name=Acetone from MONOTERPENES, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4802, name=ACETmb, full_name=Acetone from METHYL BUTENOL, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4803, name=ACETbg, full_name=Acetone from DIRECT EMISSION, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4804, name=ACETdl, full_name=Acetone from DRY LEAF MATTER, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4805, name=ACETgr, full_name=Acetone from GRASSLANDS, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4806, name=ACETop, full_name=Acetone source from OCEANS, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=4807, name=ACETol, full_name=Acetone sink from OCEANS, unit=molC/cm2/s, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=5809, name=ALK4, full_name=Alkanes(>C4), unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=5810, name=C2H6, full_name=Ethane, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
CTMDiagnostic(number=5811, name=C3H8, full_name=Propane, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=5815, name=ISOP, full_name=Isoprene, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=5)
CTMDiagnostic(number=5819, name=PRPE, full_name=Propene, unit=ppbC, scale=1000000000.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=7305, name=ALK4, full_name=Alkanes(>C4), unit=unitless, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=4)
CTMDiagnostic(number=7309, name=ACET, full_name=Acetone, unit=unitless, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=7318, name=PRPE, full_name=Propene (>C3 alkenes), unit=unitless, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=7319, name=C3H8, full_name=Propane, unit=unitless, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=3)
CTMDiagnostic(number=7321, name=C2H6, full_name=Ethane, unit=unitless, scale=1.0, chemical=True, molecular_weight=0.012, hydrocarbon=True, carbon_weight=2)
In [18]:
print dinfo.categories.select(offset=0)
List of 12 CTMCategory (selection):
CTMCategory(offset=0, name=IJ-AVG-$, description=Tracer concentration)
CTMCategory(offset=0, name=IJ-24H-$, description=24-hr avg tracer conc.)
CTMCategory(offset=0, name=IJ-INS-$, description=Instantaneous tracer)
CTMCategory(offset=0, name=INST-MAP, description=Instantaneous tracer)
CTMCategory(offset=0, name=500-AVRG, description=500 hPa Tracer)
CTMCategory(offset=0, name=SRF-AVRG, description=)
CTMCategory(offset=0, name=HZ$-AVRG, description=)
CTMCategory(offset=0, name=NRTH-SLP, description=)
CTMCategory(offset=0, name=WET CONV, description=)
CTMCategory(offset=0, name=DRY CONV, description=)
CTMCategory(offset=0, name=PROD-AVG, description=)
CTMCategory(offset=0, name=LOSS-AVG, description=)
In [19]:
lastcat = dinfo.categories.pop()
print lastcat
len(dinfo.categories) == ncat - 1
CTMCategory(offset=9900, name=IJ-EMS-$, description=Emissions and scaliings)
Out[19]:
True
In [20]:
dinfo.categories * 2,
---------------------------------------------------------------------------
NotPermittedError Traceback (most recent call last)
<ipython-input-20-0fe08577d012> in <module>()
----> 1 dinfo.categories * 2,
/mnt/hgfs/Altair/GitRepos/PyGChem/pygchem/utils/data_structures.py in __mul__(self, other)
383
384 def __mul__(self, other):
--> 385 raise exceptions.NotPermittedError('duplicating items is not allowed')
386
387 def __imul__(self, other):
NotPermittedError: duplicating items is not allowed
In [21]:
[cat.name for cat in dinfo.categories.select(offset=0, description='')]
Out[21]:
['SRF-AVRG',
'HZ$-AVRG',
'NRTH-SLP',
'WET CONV',
'DRY CONV',
'PROD-AVG',
'LOSS-AVG']
In [22]:
c0 = dinfo.categories[0]
In [ ]:
Content source: benbovy/PyGChem_examples
Similar notebooks: