isofit.radiative_transfer.engines.kernel_flows

Attributes

Logger

KEYMAPPING

Classes

KernelFlowsRT

Radiative transfer emulation based on KernelFlows.jl and VSWIREmulator.jl. A description of

Functions

bounds_check(grid[, emulator_file, modify])

Check if the grid points are within the bounds of the emulator

predict_M(M_Z, M_lambda, M_theta, M_h, points, ...)

reduce_points(points, Xproj_vectors, Xproj_values, ...)

Module Contents

Logger[source]
KEYMAPPING[source]
bounds_check(grid: dict, emulator_file: str = None, modify: bool = False)[source]

Check if the grid points are within the bounds of the emulator

Parameters:
  • grid (dict) – Dictionary of grid points

  • emulator_file (str, optional) – Path to the emulator file. Defaults to None.

  • emulator (h5py.File, optional) – Emulator file. Defaults to None.

  • modify (bool, optional) – If True, adjust the grid points to be within the bounds of the emulator. Defaults to False.

Raises:

ValueError – If grid points are out of bounds and modify == False

predict_M(M_Z, M_lambda, M_theta, M_h, points, G_Xproj_vectors, G_Xproj_values, G_Xmean, G_Xstd)[source]
reduce_points(points, Xproj_vectors, Xproj_values, Xmu, Xsigma)[source]
class KernelFlowsRT(engine_config: RadiativeTransferEngineConfig, **kwargs)[source]

Bases: isofit.radiative_transfer.radiative_transfer_engine.RadiativeTransferEngine

Radiative transfer emulation based on KernelFlows.jl and VSWIREmulator.jl. A description of the model can be found in:

O. Lamminpää, J. Susiluoto, J. Hobbs, J. McDuffie, A. Braverman, and H. Owhadi. Forward model emulator for atmospheric radiative transfer using Gaussian processes and cross validation (2024). Submitted to Atmospheric Measurement Techniques.

f[source]
emulator_wl[source]
emulator_internal_idx[source]
emulator_names[source]
points_bound_min[source]
points_bound_max[source]
input_transfs[source]
output_transfs[source]
rt_mode = 'rdn'[source]
assign_bounds()[source]
h5_to_dict(file)[source]
preSim()[source]

This is an optional function that can be defined by a subclass RTE to be called directly before runSim() is executed. A subclass may return a dict containing any single or non-dimensional variables to be saved to the LUT file

makeSim(point: numpy.array, template_only: bool = False)[source]

Prepares and executes a radiative transfer engine’s simulations

Parameters:
  • point (np.array) – conditions to alter in simulation

  • template_only (bool) – only write template file and then stop

readSim(in_point)[source]

Since KF doesn’t need to run simulations, readSim is where we actually do the work

Parameters:

in_point (np.array) – Input point - organized based on lut_grid, not emulator

Returns:

Dictionary of output values

Return type:

dict

predict(points)[source]
predict_single_MVM(MVM, points, transfs)[source]