isofit.radiative_transfer.engines.six_s ======================================= .. py:module:: isofit.radiative_transfer.engines.six_s Attributes ---------- .. autoapisummary:: isofit.radiative_transfer.engines.six_s.Logger isofit.radiative_transfer.engines.six_s.eps isofit.radiative_transfer.engines.six_s.SIXS_TEMPLATE Classes ------- .. autoapisummary:: isofit.radiative_transfer.engines.six_s.SixSRT Functions --------- .. autoapisummary:: isofit.radiative_transfer.engines.six_s.get_exe Module Contents --------------- .. py:data:: Logger .. py:data:: eps :value: 1e-05 .. py:data:: SIXS_TEMPLATE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """0 (User defined) {solzen} {solaz} {viewzen} {viewaz} {month} {day} 8 (User defined H2O, O3) {H2OSTR}, {O3}{CO2} {aermodel} 0 {AOT550} -{elev:.2f} (target level) -{alt:.2f} (sensor level) -{H2OSTR}, -{O3} {AOT550} -2 {wlinf} {wlsup} 0 Homogeneous surface 0 (no directional effects) 0 0 0 -1 No atm. corrections selected """ .. raw:: html
.. py:class:: SixSRT(engine_config: RadiativeTransferEngineConfig, modtran_emulation=False, **kwargs) Bases: :py:obj:`isofit.radiative_transfer.radiative_transfer_engine.RadiativeTransferEngine` A model of photon transport including the atmosphere. .. py:attribute:: modtran_emulation :value: False .. py:attribute:: wl .. py:attribute:: fwhm .. py:attribute:: engine_base_dir .. py:attribute:: exe .. py:attribute:: co2_mode :value: False .. py:method:: preSim() Add the 6S executable in the LUT attributes .. py:method:: makeSim(point: numpy.array) Perform 6S simulations :param point: Point to process :type point: np.array .. py:method:: readSim(point: numpy.array) Parses a 6S output simulation file for a given point :param point: Point to process :type point: np.array :returns: **data** -- Simulated data results. These keys correspond with the expected keys of ISOFIT's LUT files :rtype: dict .. py:method:: postSim() Update solar_irr after simulations .. py:method:: rebuild_cmd(point, wlinf, wlsup) -> str Build the simulation command file. :param point: conditions to alter in simulation :type point: np.array :param wlinf: shortest wavelength to run simulation for :type wlinf: float :param wlsup: (float): longest wavelength to run simulation for :returns: execution command :rtype: str .. py:method:: load_esd() Loads the earth-sun distance file .. py:method:: parse_file(file, wl, multipart_transmittance=False, wl_size=0) -> dict :staticmethod: Parses a 6S sim file :param file: Path to simulation file to parse :type file: str :param wl: Simulation wavelengths :type wl: np.array :param multipart_transmittance: Flag to tell program to parse up-down split transmittances :type multipart_transmittance: bool :param wl_size: Size of the wavelengths dim, will trim data to this size. If zero, does no trimming :type wl_size: int, default=0 :returns: **data** -- Simulated data results. These keys correspond with the expected keys of ISOFIT's LUT files :rtype: dict .. rubric:: 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} .. py:function:: get_exe(path: str = None, version: bool = False) -> str Retrieves the 6S executable from a given path :param path: 6S directory path. If None, defaults to the ini sixs path :type path: str, default=None :param version: Returns the 6S version instead :type version: bool, default=False :returns: Either the 6S executable as a pathlib object or the string 6S version :rtype: pathlib.Path | str