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,WavelengthInterpolatorMixinA 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