Source code for GUIBRUSHR.Retrieval.ModelCalculation.Classes.Bestpars

"""
Best parameters class for atmospheric retrieval calculations.

This module contains the Bestpars class which manages the best-fit parameters
for atmospheric retrieval using Differential Evolution algorithms.
"""

from numpy import sqrt


[docs] class Bestpars: """ Manages best-fit parameters for atmospheric retrieval calculations. This class handles the storage and configuration of best-fit parameters used in atmospheric retrieval algorithms, particularly for Differential Evolution Retrieval methods. Attributes: list_bestpars: List of best-fit parameter values list_bestpars_initial_value: List of initial parameter values nfit: Number of fitted parameters nchains: Number of chains for the retrieval algorithm ncores: Number of cores for the retrieval algorithm gamma_coeff: Gamma coefficient for Differential Evolution multiplier_chains: Multiplier for the number of chains multiplier_cores: Multiplier for the number of cores use_pool: Flag indicating whether to use multiprocessing pool use_parallel_init: Flag indicating whether to use parallel initialization """
[docs] def __init__( self, list_bestpars, list_bestpars_initial_value, multiplier_chains=2, multiplier_cores=1, use_pool=False, use_parallel_init=False ): """ Initialize the Bestpars object. Args: list_bestpars: List containing the best-fit parameter values list_bestpars_initial_value: List containing initial parameter values multiplier_chains: Multiplier for the number of chains multiplier_cores: Multiplier for the number of cores use_pool: Flag indicating whether to use multiprocessing pool use_parallel_init: Flag indicating whether to use parallel initialization """ # Store the parameter lists self.list_bestpars = list_bestpars self.list_bestpars_initial_value = list_bestpars_initial_value self.multiplier_chains = multiplier_chains self.multiplier_cores = multiplier_cores self.use_pool = use_pool self.use_parallel_init = use_parallel_init # Calculate number of fitted parameters self.nfit = len(list_bestpars) # Set number of chains (standard: 2 times the number of parameters) self.nchains = int(self.multiplier_chains * self.nfit) self.ncores = int(self.nchains / self.multiplier_cores) # Calculate gamma coefficient for Differential Evolution Retrieval # Standard formula: 2.38 / sqrt(2 * number_of_parameters) self.gamma_coeff = 2.38 / sqrt(2 * self.nfit)