isofit.radiative_transfer.engines.kernel_flows ============================================== .. py:module:: isofit.radiative_transfer.engines.kernel_flows Attributes ---------- .. autoapisummary:: isofit.radiative_transfer.engines.kernel_flows.Logger isofit.radiative_transfer.engines.kernel_flows.KEYMAPPING Classes ------- .. autoapisummary:: isofit.radiative_transfer.engines.kernel_flows.KernelFlowsRT Functions --------- .. autoapisummary:: isofit.radiative_transfer.engines.kernel_flows.bounds_check isofit.radiative_transfer.engines.kernel_flows.predict_M isofit.radiative_transfer.engines.kernel_flows.reduce_points Module Contents --------------- .. py:data:: Logger .. py:data:: KEYMAPPING .. py:function:: bounds_check(grid: dict, emulator_file: str = None, modify: bool = False) Check if the grid points are within the bounds of the emulator :param grid: Dictionary of grid points :type grid: dict :param emulator_file: Path to the emulator file. Defaults to None. :type emulator_file: str, optional :param emulator: Emulator file. Defaults to None. :type emulator: h5py.File, optional :param modify: If True, adjust the grid points to be within the bounds of the emulator. Defaults to False. :type modify: bool, optional :raises ValueError: If grid points are out of bounds and modify == False .. py:function:: predict_M(M_Z, M_lambda, M_theta, M_h, points, G_Xproj_vectors, G_Xproj_values, G_Xmean, G_Xstd) .. py:function:: reduce_points(points, Xproj_vectors, Xproj_values, Xmu, Xsigma) .. py:class:: KernelFlowsRT(engine_config: RadiativeTransferEngineConfig, **kwargs) Bases: :py:obj:`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. .. py:attribute:: f .. py:attribute:: emulator_wl .. py:attribute:: emulator_internal_idx .. py:attribute:: emulator_names .. py:attribute:: points_bound_min .. py:attribute:: points_bound_max .. py:attribute:: input_transfs .. py:attribute:: output_transfs .. py:attribute:: rt_mode :value: 'rdn' .. py:method:: assign_bounds() .. py:method:: h5_to_dict(file) .. py:method:: preSim() 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 .. py:method:: makeSim(point: numpy.array, template_only: bool = False) Prepares and executes a radiative transfer engine's simulations :param point: conditions to alter in simulation :type point: np.array :param template_only: only write template file and then stop :type template_only: bool .. py:method:: readSim(in_point) Since KF doesn't need to run simulations, readSim is where we actually do the work :param in_point: Input point - organized based on lut_grid, not emulator :type in_point: np.array :returns: Dictionary of output values :rtype: dict .. py:method:: predict(points) .. py:method:: predict_single_MVM(MVM, points, transfs)