sasktran2.constituent.LambertianSurface

sasktran2.constituent.LambertianSurface#

class sasktran2.constituent.LambertianSurface(albedo: array, wavelengths_nm: array = None, wavenumbers_cminv: array = None, out_of_bounds_mode='zero')[source]#

Bases: Constituent, WavelengthInterpolatorMixin

A Lambertian surface that is defined by albedo at discrete grid points.

This can either operate in a “scalar” mode where the albedo is constant in wavelength, a “native” mode where the albedo is defined on the same grid as the atmosphere, or an “interpolated” mode where the albedo is interpolated either in wavenumber or wavelength

Parameters:
  • albedo (np.array) – Surface albedo. Can be a scalar to indicate it is constant in wavelength. If set to an array it must either match the atmosphere wavelength grid dimension, or one of wavelengths_nm or wavenumbers_cminv must be set.

  • wavelengths_nm (np.array, optional) – Wavelengths in [nm] that the albedo is specified at, by default None

  • wavenumbers_cminv (np.array, optional) – Wavenumbers in inverse cm that the albedo is specified at, by default None

  • out_of_bounds_mode (str, optional) – One of [“extend” or “zero”], “extend” will extend the last/first value if we are interpolating outside the grid. “zero” will set the albedo to 0 outside of the grid boundaries, by default “zero”

__init__(albedo: array, wavelengths_nm: array = None, wavenumbers_cminv: array = None, out_of_bounds_mode='zero') None[source]#

A Lambertian surface that is defined by albedo at discrete grid points.

This can either operate in a “scalar” mode where the albedo is constant in wavelength, a “native” mode where the albedo is defined on the same grid as the atmosphere, or an “interpolated” mode where the albedo is interpolated either in wavenumber or wavelength

Parameters:
  • albedo (np.array) – Surface albedo. Can be a scalar to indicate it is constant in wavelength. If set to an array it must either match the atmosphere wavelength grid dimension, or one of wavelengths_nm or wavenumbers_cminv must be set.

  • wavelengths_nm (np.array, optional) – Wavelengths in [nm] that the albedo is specified at, by default None

  • wavenumbers_cminv (np.array, optional) – Wavenumbers in inverse cm that the albedo is specified at, by default None

  • out_of_bounds_mode (str, optional) – One of [“extend” or “zero”], “extend” will extend the last/first value if we are interpolating outside the grid. “zero” will set the albedo to 0 outside of the grid boundaries, by default “zero”

Methods

__init__(albedo[, wavelengths_nm, ...])

A Lambertian surface that is defined by albedo at discrete grid points.

add_to_atmosphere(atmo)

register_derivative(atmo, name)

Attributes

albedo