Skip to content

Six s

source module isofit.radiative_transfer.engines.six_s

Classes

  • SixSRT A model of photon transport including the atmosphere.

source class SixSRT(engine_config: RadiativeTransferEngineConfig, modtran_emulation=False, **kwargs)

Bases : RadiativeTransferEngine

A model of photon transport including the atmosphere.

Methods

  • preSim Add the 6S executable in the LUT attributes

  • makeSim Perform 6S simulations

  • readSim Parses a 6S output simulation file for a given point

  • postSim Update solar_irr after simulations

  • rebuild_cmd Build the simulation command file.

  • load_esd Loads the earth-sun distance file

  • parse_file Parses a 6S sim file

source method SixSRT.preSim()

Add the 6S executable in the LUT attributes

source method SixSRT.makeSim(point: np.array)

Perform 6S simulations

Parameters

  • point : np.array Point to process

source method SixSRT.readSim(point: np.array)

Parses a 6S output simulation file for a given point

Parameters

  • point : np.array Point to process

Returns

  • data : dict Simulated data results. These keys correspond with the expected keys of ISOFIT's LUT files

source method SixSRT.postSim()

Update solar_irr after simulations

Raises

  • FileNotFoundError

source method SixSRT.rebuild_cmd(point, wlinf, wlsup)str

Build the simulation command file.

Parameters

  • point : np.array conditions to alter in simulation

  • wlinf : float shortest wavelength to run simulation for

  • wlsup: : float longest wavelength to run simulation for

Returns

  • str execution command

Raises

  • AttributeError

source method SixSRT.load_esd()

Loads the earth-sun distance file

source staticmethod SixSRT.parse_file(file, wl, multipart_transmittance=False, wl_size=0)dict

Parses a 6S sim file

Parameters

  • file : str Path to simulation file to parse

  • wl : np.array Simulation wavelengths

  • multipart_transmittance : bool Flag to tell program to parse up-down split transmittances

  • wl_size : int, default=0 Size of the wavelengths dim, will trim data to this size. If zero, does no trimming

Returns

  • data : dict Simulated data results. These keys correspond with the expected keys of ISOFIT's LUT files

Examples

from isofit.data import env
from isofit.radiative_transfer.engines import SixSRT
SixSRT.parse_file(f'{env.examples}/20151026_SantaMonica/lut/AOT550-0.0000_H2OSTR-0.5000', wl_size=3)
{'sphalb': array([0.3116, 0.3057, 0.2999]),
 'rhoatm': array([0.2009, 0.1963, 0.1916]),
 'transm_down_dif': array([0.53211358, 0.53993346, 0.54736113]),
 'solzen': 55.21,
 'coszen': 0.5705702414191993}