WeatherTable

class WeatherTable(container)[source]

Bases: object

The WeatherTable class is an Alma table.

Weather station information.

Shown here are the fields found in each row.

The key fields are shown first and used (together) to index a unique row. Key fields are all required and indicated by “Key.” following the description.

Other fields are required unless “optional” is shown for that field.

The field description text here is as found in the model used to generate the code.

Types may be an enumeration or extended pyasdm type. Fields that are python lists are indicated that by “[]” in the type and having the word “Array” at the start of description followed by the expected number of elements in that list in parentheses. Lists (arrays) may be multi-dimensional (lists of lists) and are indicated by [][] … etc as needed to indicate the expected number of dimensions. Multi-dimenstional lists will show the expected number of elements for each dimension also in the parenthese after “Array”.

The use of “auto-incrementable” indicates that that field is auto-generated when the table is created and that field is set, as necessary, to create a unique key for the specific row being added, by incrementing that value from the previous highest value needed for the rest of the elements of the key on that row. Such a field can not be set independently, it is only set when the row is added to the table by that auto-increment mechanism.

stationId

refers to a unique row in StationTable. key.

Type

Tag

timeInterval

the time interval for which the row’s content is valid. key.

Type

ArrayTimeInterval

pressure

the ambient pressure. Optional.

Type

Pressure

relHumidity

the relative humidity. Optional.

Type

Humidity

temperature

the ambient temperature. Optional.

Type

Temperature

windDirection

the wind direction. Optional.

Type

Angle

windSpeed

the wind speed. Optional.

Type

Speed

windMax

the maximum wind speed Optional.

Type

Speed

dewPoint

the dew point’s value. Optional.

Type

Temperature

numLayer

NLayer the number of layers in the temperature profile. Optional.

Type

int

layerHeight

Array(numLayer) the height of each layer for the temperature profile. Optional.

Type

Length []

temperatureProfile

Array(numLayer) the temperature on the atmosphere at each height. Optional.

Type

Temperature []

cloudMonitor

the temperature of the cloud monitor. Optional.

Type

Temperature

numWVR

the number of WVR channels. Optional.

Type

int

wvrTemp

Array(numWVR) the observed temperature in each WVR channel. Optional.

Type

Temperature []

water

the water precipitable content. Optional.

Type

float

Methods Summary

Key(stationId)

Returns a string built by concatenating the ascii representation of the parameters values suffixed with a “_” character.

MIMEXMLPart(byteOrder)

Used in both the small XML file as well as the bin file when writing out as binary.

add(x)

Add a row.

checkAndAdd(x)

A method to append a row to its table, used by input conversion methods.

checkPresenceInMemory()

Check if the table is present in memory.

fromXML(xmlstr)

Populate this table from the content of a XML document that is required to conform to the XML schema defined for a Weather (WeatherTable.xsd).

get()

Get all rows.

getByContext(stationId)

Returns all the rows sorted by ascending startTime for a given context.

getCloudMonitorEqTolerance()

A getter for the tolerance on cloudMonitor Returns the tolerance as a Temperature

getContainer()

Return the container to which this table belongs.

getDewPointEqTolerance()

A getter for the tolerance on dewPoint Returns the tolerance as a Temperature

getEntity()

Returns the table’s entity.

getKeyName()

Return the list of field names that make up key key as a list of strings.

getLayerHeightEqTolerance()

A getter for the tolerance on layerHeight Returns the tolerance as a Length

getName()

Return the name of this table.

getPressureEqTolerance()

A getter for the tolerance on pressure Returns the tolerance as a Pressure

getRelHumidityEqTolerance()

A getter for the tolerance on relHumidity Returns the tolerance as a Humidity

getRowByKey(stationId, timeInterval)

Returns a WeatherRow given a key.

getRows()

get the rows, synonymous with the get method.

getTemperatureEqTolerance()

A getter for the tolerance on temperature Returns the tolerance as a Temperature

getTemperatureProfileEqTolerance()

A getter for the tolerance on temperatureProfile Returns the tolerance as a Temperature

getVersion()

getWindDirectionEqTolerance()

A getter for the tolerance on windDirection Returns the tolerance as a Angle

getWindMaxEqTolerance()

A getter for the tolerance on windMax Returns the tolerance as a Speed

getWindSpeedEqTolerance()

A getter for the tolerance on windSpeed Returns the tolerance as a Speed

getWvrTempEqTolerance()

A getter for the tolerance on wvrTemp Returns the tolerance as a Temperature

insertByStartTime(x, rowlist)

Insert a WeatherRow in a list of WeatherRow so that it’s ordered by ascending start time.

newRow(stationId, timeInterval)

Create a new WeatherRow initialized to the specified values.

newRowCopy(row)

Create a new row using a copy constructor mechanism.

newRowDefault()

Create a new row with default values.

setCloudMonitorEqTolerance(tolerance)

A setter for the tolerance on cloudMonitor

setDewPointEqTolerance(tolerance)

A setter for the tolerance on dewPoint

setEntity(e)

Set the table’s entity The parameter, e, must be an Entity

setFromFile(directory)

Reads and parses a file containing a representation of a WeatherTable as those produced by the toFile method.

setFromMIME(byteStream)

Extracts the binary part of a MIME message and deserialize its content to fill this with the result of the deserialization.

setFromMIMEFile(directory)

Set this table from a MIME file.

setFromXMLFile(directory)

This is the function used by setFromFile when the file is an XML file Not intended for external use.

setLayerHeightEqTolerance(tolerance)

A setter for the tolerance on layerHeight

setNotPresentInMemory()

Set the state to indicate it is not present in memory and needs to be loaded before being used.

setPressureEqTolerance(tolerance)

A setter for the tolerance on pressure

setRelHumidityEqTolerance(tolerance)

A setter for the tolerance on relHumidity

setTemperatureEqTolerance(tolerance)

A setter for the tolerance on temperature

setTemperatureProfileEqTolerance(tolerance)

A setter for the tolerance on temperatureProfile

setVersion(version)

setWindDirectionEqTolerance(tolerance)

A setter for the tolerance on windDirection

setWindMaxEqTolerance(tolerance)

A setter for the tolerance on windMax

setWindSpeedEqTolerance(tolerance)

A setter for the tolerance on windSpeed

setWvrTempEqTolerance(tolerance)

A setter for the tolerance on wvrTemp

size()

Return the number of rows in the table.

toFile(directory)

Stores a representation (binary or XML) of this table into a file.

toMIME(mimeFilePath, mimeXMLpart, byteOrder)

Write this out to mimeFilePath as a serialized MIME file with a leading XML part and a following binary part.

toXML()

Translate this table to an XML representation conforming to the schema defined for Weather (WeatherTable.xsd).

Methods Documentation

Key(stationId)[source]

Returns a string built by concatenating the ascii representation of the parameters values suffixed with a “_” character.

MIMEXMLPart(byteOrder)[source]

Used in both the small XML file as well as the bin file when writing out as binary. The byte order is set by byteOrder.

add(x)[source]

Add a row. x the WeatherRow to be added.

return a WeatherRow. If the table contains a WeatherRow whose attributes (key and mandatory values) are equal to this in x then this returns that previously added WeatherRow, otherwise x is returned.

raises DuplicateKey when the table contains a WeatherRow with a key equal to the key in x but having

a value section different from the values in x.

note The row is inserted in the table in such a way that all the rows having the same value of ( stationId ) are stored by ascending time.

checkAndAdd(x)[source]

A method to append a row to its table, used by input conversion methods. Not indended for external use.

If this table has an autoincrementable attribute then check if x verifies the rule of uniqueness and throw exception if not.

This method is appropriate for the case with a ArrayTimeInterval temporal key, no auto incrementable attribute, with other values in the key.

Append x to its table. x The row to be appended. returns x.

checkPresenceInMemory()[source]

Check if the table is present in memory. If not, load the table from the file using the directory of the container.

fromXML(xmlstr)[source]

Populate this table from the content of a XML document that is required to conform to the XML schema defined for a Weather (WeatherTable.xsd).

get()[source]

Get all rows. return all rows as a list of WeatherRow

getByContext(stationId)[source]

Returns all the rows sorted by ascending startTime for a given context. The context is defined by a value of ( stationId ).

return a list of WeatherRow. A None value is returned if the table contains no WeatherRow for the given ( stationId ).

getCloudMonitorEqTolerance()[source]

A getter for the tolerance on cloudMonitor Returns the tolerance as a Temperature

getContainer()[source]

Return the container to which this table belongs. return a ASDM.

getDewPointEqTolerance()[source]

A getter for the tolerance on dewPoint Returns the tolerance as a Temperature

getEntity()[source]

Returns the table’s entity.

getKeyName()[source]

Return the list of field names that make up key key as a list of strings.

getLayerHeightEqTolerance()[source]

A getter for the tolerance on layerHeight Returns the tolerance as a Length

getName()[source]

Return the name of this table.

getPressureEqTolerance()[source]

A getter for the tolerance on pressure Returns the tolerance as a Pressure

getRelHumidityEqTolerance()[source]

A getter for the tolerance on relHumidity Returns the tolerance as a Humidity

getRowByKey(stationId, timeInterval)[source]

Returns a WeatherRow given a key. return the row having the key whose values are passed as parameters, or None if no row exists for that key.

getRows()[source]

get the rows, synonymous with the get method.

getTemperatureEqTolerance()[source]

A getter for the tolerance on temperature Returns the tolerance as a Temperature

getTemperatureProfileEqTolerance()[source]

A getter for the tolerance on temperatureProfile Returns the tolerance as a Temperature

getVersion()[source]
getWindDirectionEqTolerance()[source]

A getter for the tolerance on windDirection Returns the tolerance as a Angle

getWindMaxEqTolerance()[source]

A getter for the tolerance on windMax Returns the tolerance as a Speed

getWindSpeedEqTolerance()[source]

A getter for the tolerance on windSpeed Returns the tolerance as a Speed

getWvrTempEqTolerance()[source]

A getter for the tolerance on wvrTemp Returns the tolerance as a Temperature

insertByStartTime(x, rowlist)[source]

Insert a WeatherRow in a list of WeatherRow so that it’s ordered by ascending start time.

x The WeatherRow to be inserted. rowlist The list where x is to be inserted.

The inserted row is returned. If x already exists in rowlist then it is not added and the row in rowlist is returned.

If a row matching the value of the start time of timeInterval is found in rowlist but the other required parameters do not have the same value then a DuplicateKey exception is raised.

newRow(stationId, timeInterval)[source]

Create a new WeatherRow initialized to the specified values.

The new row is not added to this table, but it does know about it. (the autoincrementable attribute, if any, is not in the parameter list)

newRowCopy(row)[source]

Create a new row using a copy constructor mechanism.

The method creates a new WeatherRow which knows about this table. Each attribute of the created row is a (deep) copy of the corresponding attribute of row. The method does not add the created row to this, it simply parents it to this, a call to the add method has to be done in order to get the row added (very likely after having modified some of its attributes. If row is None then the method returns a new WeatherRow with default values for its attributes.

newRowDefault()[source]

Create a new row with default values. The new row is not added to this table but it knows about it.

setCloudMonitorEqTolerance(tolerance)[source]

A setter for the tolerance on cloudMonitor

setDewPointEqTolerance(tolerance)[source]

A setter for the tolerance on dewPoint

setEntity(e)[source]

Set the table’s entity The parameter, e, must be an Entity

setFromFile(directory)[source]

Reads and parses a file containing a representation of a WeatherTable as those produced by the toFile method. This table is populated with the result of the parsing. param directory The name of the directory containing the file te be read and parsed. raises ConversionException If any error occurs while reading the files in the directory or parsing them.

setFromMIME(byteStream)[source]

Extracts the binary part of a MIME message and deserialize its content to fill this with the result of the deserialization. param byteStream the previously opened io.BufferedReader instance containing the data to be extracted.

It is the responsibility of this method to close byteStream.

setFromMIMEFile(directory)[source]

Set this table from a MIME file. Used internally by setFromFile. Not intended for external use.

setFromXMLFile(directory)[source]

This is the function used by setFromFile when the file is an XML file Not intended for external use.

setLayerHeightEqTolerance(tolerance)[source]

A setter for the tolerance on layerHeight

setNotPresentInMemory()[source]

Set the state to indicate it is not present in memory and needs to be loaded before being used. This is used by the container class when loaded from a file and this table is present with non-zero rows. Tables are loaded on demand when the get function in the container for that table is used.

setPressureEqTolerance(tolerance)[source]

A setter for the tolerance on pressure

setRelHumidityEqTolerance(tolerance)[source]

A setter for the tolerance on relHumidity

setTemperatureEqTolerance(tolerance)[source]

A setter for the tolerance on temperature

setTemperatureProfileEqTolerance(tolerance)[source]

A setter for the tolerance on temperatureProfile

setVersion(version)[source]
setWindDirectionEqTolerance(tolerance)[source]

A setter for the tolerance on windDirection

setWindMaxEqTolerance(tolerance)[source]

A setter for the tolerance on windMax

setWindSpeedEqTolerance(tolerance)[source]

A setter for the tolerance on windSpeed

setWvrTempEqTolerance(tolerance)[source]

A setter for the tolerance on wvrTemp

size()[source]

Return the number of rows in the table.

toFile(directory)[source]

Stores a representation (binary or XML) of this table into a file.

Depending on the boolean value of its _fileAsBin data member a binary serialization of this (_fileAsBin==True) will be saved in a file “Weather.bin” or an XML representation (_fileAsBin==False) will be saved in a file “Weather.xml”. The file is always written in a directory whose name is passed as a parameter. param directory The name of directory where the file containing the table’s representation will be saved. raises ConversionException for any errors while writing that file.

toMIME(mimeFilePath, mimeXMLpart, byteOrder)[source]

Write this out to mimeFilePath as a serialized MIME file with a leading XML part and a following binary part.

The mimeXMLpart is a string that should have already been written to the corresponding small XML file (and is returned by the MIMEXMLPart method here). The byteOrder is a ByteOrder instance that gives the byte order to use when writing the binary data. That instance should have also been used to generate mimeXMLpart.

toXML()[source]

Translate this table to an XML representation conforming to the schema defined for Weather (WeatherTable.xsd).

returns a string containing the XML representation.