Skip to content

Kernel flows

source module isofit.atmosphere.engines.kernel_flows

Classes

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

Functions

source bounds_check(grid: dict, emulator_file: str = None, modify: bool = False)

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

source 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(full_config: AtmosphereConfig, **kwargs)

Bases : BaseAtmosphere, Writer

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.

Methods

source method KernelFlowsRT.assign_bounds()

Raises

  • ValueError

source method KernelFlowsRT.h5_to_dict(file)

source method KernelFlowsRT.preSim()

source method KernelFlowsRT.makeSim(point: np.array, template_only: bool = False)

source method KernelFlowsRT.readSim(in_point)

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

  • dict Dictionary of output values

Raises

  • ValueError

source method KernelFlowsRT.predict(points)

Raises

  • ValueError

source method KernelFlowsRT.predict_single_MVM(MVM, points, transfs)