isofit.radiative_transfer.six_s

class SixSRT(engine_config, modtran_emulation=False, **kwargs)[source]

Bases: RadiativeTransferEngine

A model of photon transport including the atmosphere.

preSim()[source]

Check that 6S is installed

makeSim(point, template_only=False)[source]

Perform 6S simulations

Parameters:
  • point (np.array) – Point to process

  • template_only (bool, default=False) – Only write the simulation template then exit. If False, subprocess call 6S

readSim(point)[source]

Parses a 6S output simulation file for a given point

Parameters:

point (np.array) – Point to process

Returns:

data – Simulated data results. These keys correspond with the expected keys of ISOFIT’s LUT files

Return type:

dict

postSim()[source]

Update solar_irr after simulations

rebuild_cmd(point, wlinf, wlsup)[source]

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:

execution command

Return type:

str

load_esd()[source]

Loads the earth-sun distance file

static parse_file(file, wl, wl_size=0)[source]

Parses a 6S sim file

Parameters:
  • file (str) – Path to simulation file to parse

  • wl (np.array) – Simulation wavelengths

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

Returns:

data – Simulated data results. These keys correspond with the expected keys of ISOFIT’s LUT files

Return type:

dict

Examples

>>> from isofit.radiative_transfer.six_s import SixSRT
>>> SixSRT.parse_file('isofit/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}