isofit.radiative_transfer.engines.modtran ========================================= .. py:module:: isofit.radiative_transfer.engines.modtran Attributes ---------- .. autoapisummary:: isofit.radiative_transfer.engines.modtran.Logger isofit.radiative_transfer.engines.modtran.eps isofit.radiative_transfer.engines.modtran.tropopause_altitude_km Classes ------- .. autoapisummary:: isofit.radiative_transfer.engines.modtran.ModtranRT Module Contents --------------- .. py:data:: Logger .. py:data:: eps :value: 1e-05 .. py:data:: tropopause_altitude_km :value: 17.0 .. py:class:: ModtranRT(engine_config: RadiativeTransferEngineConfig, lut_path: str = '', lut_grid: dict = None, wavelength_file: str = None, interpolator_style: str = 'mlg', build_interpolators: bool = True, overwrite_interpolator: bool = False, wl: numpy.array = [], fwhm: numpy.array = []) Bases: :py:obj:`isofit.radiative_transfer.radiative_transfer_engine.RadiativeTransferEngine` A model of photon transport including the atmosphere. .. py:attribute:: max_buffer_time :value: 0.5 .. py:method:: parseTokens(tokens: list, coszen: float) -> dict :staticmethod: Processes tokens returned by parseLine() :param tokens: List of floats returned by parseLine() :type tokens: list :param coszen: cos(zenith(filename)) :type coszen: float :returns: Dictionary of calculated values using the tokens list :rtype: dict .. py:method:: parseLine(line: str) -> list :staticmethod: Parses a single line of a .chn file into a list of token values :param line: Singular data line of a MODTRAN .chn file :type line: str :returns: List of floats parsed from the line :rtype: list .. py:method:: load_chn(file: str, coszen: float, header: int = 5) -> dict Parses a MODTRAN channel file and extracts relevant data :param file: Path to a .chn file :type file: str :param coszen: ... :type coszen: float :param header: Number of lines to skip for the header :type header: int, defaults=5 :returns: **chn** -- Channel data :rtype: dict .. py:method:: load_tp6(file) :staticmethod: Parses relevant information from a tp6 file. Specifically, seeking a table in the unstructured text and extracting a column from it. :param tp6: tp6 file path :type tp6: str .. py:method:: preSim() Post-initialized, pre-simulation setup .. py:method:: readSim(point) For a given point, parses the tp6 and chn file and returns the data .. py:method:: makeSim(point, file=None, timeout=None) Prepares the command to execute MODTRAN .. py:method:: modtran_driver(overrides) Write a MODTRAN 6.0 input file. .. py:method:: check_modtran_water_upperbound() -> float Check to see what the max water vapor values is at the first point in the LUT :returns: max water vapor value, or None if test fails :rtype: float .. py:method:: modtran_water_upperbound_polynomials() -> dict :staticmethod: Polynomials as a function of ground altitude (km) to estimate upperbound of water column vapor (g/cm2). :returns: 3rd degree polynomials to estimate upperbound of water column vapor :rtype: dict .. py:method:: modtran_aot_lowerbound_polynomials() -> dict :staticmethod: Polynomials as a function of ground altitude (km) to estimate lowerbound of AOT at 550nm. :returns: 3rd degree polynomials to estimate lowerbound of AOT :rtype: dict .. py:method:: required_results_exist(filename_base) .. py:method:: wl2flt(wavelengths: numpy.array, fwhms: numpy.array, outfile: str) -> None Helper function to generate Gaussian distributions around the center wavelengths. :param wavelengths: wavelength centers :param fwhms: full width at half max :param outfile: file to write to