ISKEmission

class ISKEmission(name)

A class used to represent thermal and photo-chemical emissions in the atmosphere. The ISKEmission class was originally created in early 2015 to model photochemical emissions in the upper mesosphere. It is intended that the class could also be used to describe thermal and auroral emissions in the atmosphere. The class only considers isotropic emissions:

import sasktranif.sasktranif as skif

o  = skif.ISKEmission('OH')
Parameters:

name (str) – The name of the emission to be created. The name must correspond to an installed sasktranif emission object.

IsValidObject

ISKEmission.IsValidObject() ok

Used to identify if the underlying C++ optical property is properly created. The function is primarily intended for internal usage:

ok = climate.IsValidObject();
Parameters:

ok (boolean) – The return value, true if the underlying C++ object is properly constructed otherwise false.

Returns:

returns true if successful

UpdateLocation

ISKEmission.UpdateLocation(location, isgorund) ok

Sets the location that will be used to determine the isotropic radiance of the object at the next call to IsotropicRadiance. The interface provides the option to inform the emission object if this new location is a ground point. This can be used by the emission object to provide one isotropic radiance for the ground and another value for the air just above the ground. This is useful for modelling the ground discontinuity in thermal emissions:

ok = emission.UpdateLocation( location, isground )
Parameters:
  • location (GEODETIC_INSTANT) – The location for which the emission is required. The GEODETIC_INSTANT is a 4 element array [latitude, longitude, height_meters, mjd]. Latitude and longitude are geodetic coordinates in degrees, height_meters is height above sea-level in meters and mjd is Modified Julian Date expressed in days.

  • isground (boolean) – True if this location is a ground point. False if it is a point in the atmosphere.

  • ok (boolean) – The return value, true if successful.

Returns:

returns true if successful

UpdateCache

ISKEmission.UpdateCache(location) ok

Provides the emission object an opportunity to update the caches on any climatologies it uses internally:

ok = emission.UpdateCache( location, isground )
Parameters:
  • location (GEODETIC_INSTANT) – The location for which the cache is required. The GEODETIC_INSTANT is a 4 element array [latitude, longitude, height_meters, mjd]. Latitude and longitude are geodetic coordinates in degrees, height_meters is height above sea-level in meters and mjd is Modified Julian Date expressed in days.

  • ok (boolean) – The return value, true if successful otherwise false.

Returns:

returns true if successful

IsotropicRadiance

ISKEmission.IsotropicRadiance(wavenumber) ok, isotropicradiance

Calculates the isotropic radiance emitted at the requested wavenumber at the location specified by the last call to SetAtmosphericState. The radiance is returned as photons/sec/nm/ster/cm2. The incoming wavenumber can refer to either vacuum or air STP and this depends upon the context of the optical property object. UV-VIS optical property objects normally report cross-sections at STP while HITRAN /IR optical property object normally report cross-section in vacuum:

ok,isotropicradiance= emission.IsotropicRadiance( wavenumber )
Parameters:
  • wavenumber (float/array) – The wavenumber (cm-1) at which the cross-sections are required. If wavenumber is a scalar double then it will call the C++ scalar version. If wavenumber is an array then the code will call the C++ array version. The array version may be significantly more efficient for thermal emissions involving Voigt function lineshapes.

  • isotropicradiance (float/array) – Returns the isotropic radiance emitted at the given location in photons/sec/nm/ster/cm2. May be NaN if there were errors. isotropicradiance type and size will match parameter wavenumber.

  • ok (boolean) – The return value, true if successful otherwise false.

Returns:

returns true if successful

SetProperty

ISKEmission.SetProperty(propertyname, value) ok

Set custom properties of the emission. The user must refer to documentation about the specific emission object to see what properties it supports:

ok = emission.SetProperty(propertyname, value)
Parameters:
  • propertyname (string) – The name of the custom property to be modified.

  • value (double/array/object/string) – The new value of the property.

  • ok (boolean) – returns true if successful

Returns:

returns true if successful