Radiation Classes

The following classes are used to configure and compute radiative transfer.

class RadiationOptions
bands(*args, **kwargs)

Overloaded function.

  1. bands(self: pyharp.RadiationOptions) -> dict[str, pyharp.RadiationBandOptions]

Set radiation band options

Parameters:

bands (dict[str,RadiationBandOptions]) – radiation band options

Returns:

class object if argument is not empty, otherwise the radiation band options

Return type:

RadiationOptions | dict[str,RadiationBandOptions]

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().bands({'band1': 'outdir1', 'band2': 'outdir2'})
>>> print(op)
  1. bands(self: pyharp.RadiationOptions, arg0: dict[str, pyharp.RadiationBandOptions]) -> pyharp.RadiationOptions

Set radiation band options

Parameters:

bands (dict[str,RadiationBandOptions]) – radiation band options

Returns:

class object if argument is not empty, otherwise the radiation band options

Return type:

RadiationOptions | dict[str,RadiationBandOptions]

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().bands({'band1': 'outdir1', 'band2': 'outdir2'})
>>> print(op)
static from_yaml(filename: str) pyharp.RadiationOptions

Create a pyharp.RadiationOptions object from a YAML file

Parameters:

filename (str) – YAML file name

Returns:

class object

Return type:

RadiationOptions

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions.from_yaml('radiation.yaml')
outdirs(*args, **kwargs)

Overloaded function.

  1. outdirs(self: pyharp.RadiationOptions) -> str

Set outgoing ray directions

Parameters:

outdirs (str) – outgoing ray directions

Returns:

class object if argument is not empty, otherwise the outgoing ray directions

Return type:

RadiationOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().outdirs('(0, 10), (0, 20)')
>>> print(op)
  1. outdirs(self: pyharp.RadiationOptions, arg0: str) -> pyharp.RadiationOptions

Set outgoing ray directions

Parameters:

outdirs (str) – outgoing ray directions

Returns:

class object if argument is not empty, otherwise the outgoing ray directions

Return type:

RadiationOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().outdirs('(0, 10), (0, 20)')
>>> print(op)
class RadiationBandOptions
disort(*args, **kwargs)

Overloaded function.

  1. disort(self: pyharp.RadiationBandOptions) -> disort::DisortOptions

Set or get disort options

Parameters:

disort (pydisort.DisortOptions) – disort options

Returns:

class object if argument is not empty, otherwise the disort options

Return type:

RadiationBandOptions | pydisort.DisortOptions

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> from pydisort import DisortOptions
>>> op = RadiationBandOptions().disort(DisortOptions().nwave(10))
>>> print(op)
  1. disort(self: pyharp.RadiationBandOptions, arg0: disort::DisortOptions) -> pyharp.RadiationBandOptions

Set or get disort options

Parameters:

disort (pydisort.DisortOptions) – disort options

Returns:

class object if argument is not empty, otherwise the disort options

Return type:

RadiationBandOptions | pydisort.DisortOptions

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> from pydisort import DisortOptions
>>> op = RadiationBandOptions().disort(DisortOptions().nwave(10))
>>> print(op)
integration(*args, **kwargs)

Overloaded function.

  1. integration(self: pyharp.RadiationBandOptions) -> str

Set or get integration method

Parameters:

integration (str) – integration method

Returns:

class object if argument is not empty, otherwise the integration method

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().integration('simpson')
>>> print(op)
  1. integration(self: pyharp.RadiationBandOptions, arg0: str) -> pyharp.RadiationBandOptions

Set or get integration method

Parameters:

integration (str) – integration method

Returns:

class object if argument is not empty, otherwise the integration method

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().integration('simpson')
>>> print(op)
name(*args, **kwargs)

Overloaded function.

  1. name(self: pyharp.RadiationBandOptions) -> str

Set or get radiation band name

Parameters:

name (str) – radiation band name

Returns:

class object if argument is not empty, otherwise the band name

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().name('band1')
>>> print(op)
  1. name(self: pyharp.RadiationBandOptions, arg0: str) -> pyharp.RadiationBandOptions

Set or get radiation band name

Parameters:

name (str) – radiation band name

Returns:

class object if argument is not empty, otherwise the band name

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().name('band1')
>>> print(op)
opacities(*args, **kwargs)

Overloaded function.

  1. opacities(self: pyharp.RadiationBandOptions) -> dict[str, pyharp.opacity.AttenuatorOptions]

Set or get opacities

Parameters:

opacities (dict[str,AttenuatorOptions]) – opacities

Returns:

class object if argument is not empty, otherwise the attenuator options

Return type:

RadiationBandOptions | dict[str,AttenuatorOptions]

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().opacities({'band1': 'opacity1', 'band2': 'opacity2'})
>>> print(op)
  1. opacities(self: pyharp.RadiationBandOptions, arg0: dict[str, pyharp.opacity.AttenuatorOptions]) -> pyharp.RadiationBandOptions

Set or get opacities

Parameters:

opacities (dict[str,AttenuatorOptions]) – opacities

Returns:

class object if argument is not empty, otherwise the attenuator options

Return type:

RadiationBandOptions | dict[str,AttenuatorOptions]

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().opacities({'band1': 'opacity1', 'band2': 'opacity2'})
>>> print(op)
outdirs(*args, **kwargs)

Overloaded function.

  1. outdirs(self: pyharp.RadiationBandOptions) -> str

Set or get outgoing ray directions

Parameters:

outdirs (str) – outgoing ray directions

Returns:

class object if argument is not empty, otherwise the outgoing ray directions

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().outdirs('(0, 10), (0, 20)')
>>> print(op)
  1. outdirs(self: pyharp.RadiationBandOptions, arg0: str) -> pyharp.RadiationBandOptions

Set or get outgoing ray directions

Parameters:

outdirs (str) – outgoing ray directions

Returns:

class object if argument is not empty, otherwise the outgoing ray directions

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().outdirs('(0, 10), (0, 20)')
>>> print(op)
query_waves(self: pyharp.RadiationBandOptions, op_name: str = '') list[float]

Query the spectral grids

Parameters:

op_name (str) – opacity name

Returns:

spectral grids

Return type:

list[float]

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().query_waves()
query_weights(self: pyharp.RadiationBandOptions, op_name: str = '') list[float]

Query the weights

Parameters:

op_name (str) – opacity name

Returns:

weights

Return type:

list[float]

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().query_weights()
solver_name(*args, **kwargs)

Overloaded function.

  1. solver_name(self: pyharp.RadiationBandOptions) -> str

Set or get solver name

Parameters:

solver_name (str) – solver name

Returns:

class object if argument is not empty, otherwise the solver name

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().solver_name('disort')
>>> print(op)
  1. solver_name(self: pyharp.RadiationBandOptions, arg0: str) -> pyharp.RadiationBandOptions

Set or get solver name

Parameters:

solver_name (str) – solver name

Returns:

class object if argument is not empty, otherwise the solver name

Return type:

RadiationBandOptions | str

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().solver_name('disort')
>>> print(op)
ww(*args, **kwargs)

Overloaded function.

  1. ww(self: pyharp.RadiationBandOptions) -> list[float]

Set or get wavelength, wavenumber or weights for a wave grid

Parameters:

ww (list[float]) – wavenumbers/wavelengths/weights

Returns:

class object if argument is not empty, otherwise the wavenumbers/wavelengths/weights

Return type:

pyharp.RadiationBandOptions | list[float]

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().ww([1.0, 2.0, 3.0])
>>> print(op)
  1. ww(self: pyharp.RadiationBandOptions, arg0: list[float]) -> pyharp.RadiationBandOptions

Set or get wavelength, wavenumber or weights for a wave grid

Parameters:

ww (list[float]) – wavenumbers/wavelengths/weights

Returns:

class object if argument is not empty, otherwise the wavenumbers/wavelengths/weights

Return type:

pyharp.RadiationBandOptions | list[float]

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().ww([1.0, 2.0, 3.0])
>>> print(op)
class RadiationBand
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: pyharp.cpp.RadiationBand) -> None

Construct a new default module.

  1. __init__(self: pyharp.cpp.RadiationBand, options: pyharp.RadiationBandOptions) -> None

Construct a RadiationBand module

forward(*args, **kwargs)

Overloaded function.

  1. forward(self: pyharp.cpp.RadiationBand, arg0: torch.Tensor, arg1: torch.Tensor, arg2: dict[str, torch.Tensor], arg3: dict[str, torch.Tensor]) -> torch.Tensor

  2. forward(self: pyharp.cpp.RadiationBand, conc: torch.Tensor, dz: torch.Tensor, bc: dict[str, torch.Tensor], kwargs: dict[str, torch.Tensor]) -> torch.Tensor

Calculate the net radiation flux for a band

Parameters:
Returns:

[W/m^2] (ncol, nlyr+1)

Return type:

torch.Tensor

Examples

>>> import torch
>>> from pyharp import RadiationBandOptions
>>> op = RadiationBandOptions().band_options(['band1', 'band2'])
class Radiation
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: pyharp.cpp.Radiation) -> None

Construct a new default module.

  1. __init__(self: pyharp.cpp.Radiation, options: pyharp.RadiationOptions) -> None

Construct a Radiation module

forward(*args, **kwargs)

Overloaded function.

  1. forward(self: pyharp.cpp.Radiation, arg0: torch.Tensor, arg1: torch.Tensor, arg2: dict[str, torch.Tensor], arg3: dict[str, torch.Tensor]) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]

  2. forward(self: pyharp.cpp.Radiation, conc: torch.Tensor, dz: torch.Tensor, bc: dict[str, torch.Tensor], kwargs: dict[str, torch.Tensor]) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]

Calculate the net radiation flux

Parameters:
Returns:

net flux [w/m^2]

Return type:

torch.Tensor

Examples

>>> import torch
>>> from pyharp import RadiationOptions
>>> op = RadiationOptions().band_options(['band1', 'band2'])