Radiation Classes
The following classes are used to configure and compute radiative transfer.
- class RadiationOptions
- bands(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions().bands({'band1': 'outdir1', 'band2': 'outdir2'}) >>> print(op)
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:
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.RadiationOptionsobject from a YAML file- Parameters:
filename (str) – YAML file name
- Returns:
class object
- Return type:
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions.from_yaml('radiation.yaml')
- outdirs(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions().outdirs('(0, 10), (0, 20)') >>> print(op)
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:
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions().outdirs('(0, 10), (0, 20)') >>> print(op)
- class RadiationBandOptions
- disort(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> from pydisort import DisortOptions >>> op = RadiationBandOptions().disort(DisortOptions().nwave(10)) >>> print(op)
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> from pydisort import DisortOptions >>> op = RadiationBandOptions().disort(DisortOptions().nwave(10)) >>> print(op)
- integration(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().integration('simpson') >>> print(op)
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().integration('simpson') >>> print(op)
- name(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().name('band1') >>> print(op)
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().name('band1') >>> print(op)
- opacities(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().opacities({'band1': 'opacity1', 'band2': 'opacity2'}) >>> print(op)
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().opacities({'band1': 'opacity1', 'band2': 'opacity2'}) >>> print(op)
- outdirs(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().outdirs('(0, 10), (0, 20)') >>> print(op)
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:
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
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions().query_waves()
- query_weights(self: pyharp.RadiationBandOptions, op_name: str = '') list[float]
Query the weights
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions().query_weights()
- solver_name(*args, **kwargs)
Overloaded function.
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().solver_name('disort') >>> print(op)
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:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().solver_name('disort') >>> print(op)
- ww(*args, **kwargs)
Overloaded function.
ww(self: pyharp.RadiationBandOptions) -> list[float]
Set or get wavelength, wavenumber or weights for a wave grid
- Parameters:
- Returns:
class object if argument is not empty, otherwise the wavenumbers/wavelengths/weights
- Return type:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().ww([1.0, 2.0, 3.0]) >>> print(op)
ww(self: pyharp.RadiationBandOptions, arg0: list[float]) -> pyharp.RadiationBandOptions
Set or get wavelength, wavenumber or weights for a wave grid
- Parameters:
- Returns:
class object if argument is not empty, otherwise the wavenumbers/wavelengths/weights
- Return type:
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.
__init__(self: pyharp.cpp.RadiationBand) -> None
Construct a new default module.
__init__(self: pyharp.cpp.RadiationBand, options: pyharp.RadiationBandOptions) -> None
Construct a RadiationBand module
- forward(*args, **kwargs)
Overloaded function.
forward(self: pyharp.cpp.RadiationBand, arg0: torch.Tensor, arg1: torch.Tensor, arg2: dict[str, torch.Tensor], arg3: dict[str, torch.Tensor]) -> torch.Tensor
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:
conc (torch.Tensor) – concentration [mol/m^3]
dz (torch.Tensor) – height [m]
bc (dict[str, torch.Tensor]) – boundary conditions
kwargs (dict[str, torch.Tensor]) – additional arguments
- Returns:
[W/m^2] (ncol, nlyr+1)
- Return type:
Examples
>>> import torch >>> from pyharp import RadiationBandOptions >>> op = RadiationBandOptions().band_options(['band1', 'band2'])
- class Radiation
- __init__(*args, **kwargs)
Overloaded function.
__init__(self: pyharp.cpp.Radiation) -> None
Construct a new default module.
__init__(self: pyharp.cpp.Radiation, options: pyharp.RadiationOptions) -> None
Construct a Radiation module
- forward(*args, **kwargs)
Overloaded function.
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]
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:
conc (torch.Tensor) – concentration [mol/m^3]
dz (torch.Tensor) – height [m]
bc (dict[str, torch.Tensor]) – boundary conditions
kwargs (dict[str, torch.Tensor]) – additional arguments
- Returns:
net flux [w/m^2]
- Return type:
Examples
>>> import torch >>> from pyharp import RadiationOptions >>> op = RadiationOptions().band_options(['band1', 'band2'])