Ejemplo n.º 1
0
 def __getitem__(self, key):
     if not isinstance(key, QuantumIdentifier):
         key = QuantumIdentifier(key)
     return ErrorCorrectedSuddenData(
         c.c_void_p(
             lib.getMapOfErrorCorrectedSuddenData(self.__data__,
                                                  key.__data__)))
Ejemplo n.º 2
0
    def __init__(self,
                 selfbroadening=False,
                 bathbroadening=False,
                 nlines=0,
                 cutoff="None",
                 mirroring="None",
                 population="LTE",
                 normalization="None",
                 lineshapetype="VP",
                 t0=296,
                 cutofffreq=-1,
                 linemixinglimit=-1,
                 quantumidentity=QuantumIdentifier(),
                 localquantumnumbers=[],
                 broadeningspecies=ArrayOfSpecies(),
                 lsm=LineShapeModel()):
        if isinstance(selfbroadening, c.c_void_p):
            self.__delete__ = False
            self.__data__ = selfbroadening
        else:
            self.__delete__ = True
            self.__data__ = c.c_void_p(lib.createAbsorptionLines())
            self.selfbroadening = selfbroadening
            self.bathbroadening = bathbroadening
            self.cutoff = cutoff
            self.mirroring = mirroring
            self.population = population
            self.normalization = normalization
            self.lineshapetype = lineshapetype
            self.t0 = t0
            self.cutofffreq = cutofffreq
            self.linemixinglimit = linemixinglimit
            self.quantumidentity = quantumidentity
            self.localquantumnumbers = localquantumnumbers
            self.broadeningspecies = broadeningspecies

            n = len(self.localquantumnumbers)
            x = AbsorptionSingleLine(lsm=lsm,
                                     qupp=[Rational()] * n,
                                     qlow=[Rational()] * n)
            self.sizelines = nlines
            y = self.lines
            for line in y:
                line.set(x)

            if not self.OK:
                raise ValueError("Bad initialization of class")
Ejemplo n.º 3
0
 def quantumidentity(self):
     """ (QuantumIdentifier) """
     return QuantumIdentifier(
         c.c_void_p(lib.getQuantumIdentityRetrievalQuantity(self.__data__)))
Ejemplo n.º 4
0
rq.subsubtag = ""
rq.mode = ""
rq.analytical = 1
rq.target.type = "Atm"
rq.target.subtype = "Temperature"
rq.target.perturbation = 0.1
rq.grids = ArrayOfVector([p, lat, lon])

assert rq == arq[0]
arq.size = 2
arq[1].set(rq)
assert arq[1] == arq[0]
arq.append(rq)
assert arq[1] == arq[2]

qn = QuantumIdentifier("H2O TR UP LO")
aost = [SpeciesTag(), SpeciesTag()]
aost[0].setFromString("H2O-161")
aost[1].setFromString("H2O-MPM89")

rq2 = RetrievalQuantity()
rq2.maintag = ""
rq2.subtag = ""
rq2.subsubtag = ""
rq2.mode = ""
rq2.analytical = 1
rq2.target.type = "Special"
rq2.target.subtype = "SurfaceString"
rq2.target.perturbation = 0.0
rq2.grids = ArrayOfVector([p, lat, lon])
rq2.target.string_key = "I am a string"
Ejemplo n.º 5
0
 def quantumidentity(self):
     """ Quantum identity (QuantumIdentifier) """
     return QuantumIdentifier(
         c.c_void_p(lib.getQuantumIdentityAbsorptionLines(self.__data__)))
Ejemplo n.º 6
0
 def quantumidentity(self):
     """ Identifier of the Jacobian line parameter (QuantumIdentifier) """
     return QuantumIdentifier(
         c.c_void_p(lib.getQuantumIdentityJacobianTarget(self.__data__)))
Ejemplo n.º 7
0
from pyarts.workspace import Workspace
from pyarts.classes.QuantumIdentifier import QuantumIdentifier, ArrayOfQuantumIdentifier
from pyarts.classes.SpeciesTag import SpeciesTag
from pyarts.classes import from_workspace


# Get a workspace
ws = Workspace()

aqi = from_workspace(ws.band_identifiers)
qi = QuantumIdentifier()

qi.spec_ind = 0
qi.type = "None"
qi.type = "All"
qi.type = "EnergyLevel"
qi.type = "Transition"
qi.upp["J"] = 3
qi.low["J"] = 2

aqi.data = [qi]
assert qi == aqi[0]

aqi.size = 2
aqi[1].set(aqi[0])
assert aqi[0] == aqi[1]
aqi.append(qi)
assert aqi[0] == aqi[2]
for x in aqi:
    x.upp["J"] = 3
    x.low["J"] = 2
Ejemplo n.º 8
0
from pyarts.workspace import Workspace
from pyarts.classes.QuantumIdentifier import QuantumIdentifier, ArrayOfQuantumIdentifier
from pyarts.classes.SpeciesTag import SpeciesTag
from pyarts.classes import from_workspace


# Get a workspace
ws = Workspace()

aqi = from_workspace(ws.band_identifiers)
qi = QuantumIdentifier()

qi.spec = 0
qi.isot = 0
qi.type = 3
qi.type = 2
qi.type = 1
qi.type = 0
qi.upperqn["J"] = 3
qi.lowerqn["J"] = 2

aqi.data = [qi]
assert qi == aqi[0]

aqi.size = 2
aqi[1].set(aqi[0])
assert aqi[0] == aqi[1]
aqi.append(qi)
assert aqi[0] == aqi[2]

aqi2 = ArrayOfQuantumIdentifier()
Ejemplo n.º 9
0
 def id(self):
     return QuantumIdentifier(
         c.c_void_p(lib.getidErrorCorrectedSuddenData(self.__data__)))