# =============================================================================
# BOAR Configuration File
# =============================================================================
# -----------------------------------------------------------------------------
# General Options
# -----------------------------------------------------------------------------
general_options:
'clear_start': True # [bool] Re-create output directory on start
'silent': True # [bool] Suppress log messages
'log_dev': False # [bool] Print all logs including simulation logs
# -----------------------------------------------------------------------------
# BASEMENT Options
# -----------------------------------------------------------------------------
basement_options:
'cleanup': False # [bool] Remove previous results before running
'backend': omp # [str] Backend: seq, omp, cuda, cudaC, cudaO
'nthreads': -1 # [int] Number of cores (-1 = all available)
# -----------------------------------------------------------------------------
# Simulation Options
# -----------------------------------------------------------------------------
simulation_options:
'discharge_file': True # [bool] Define the model setup discharge using a TXT file. (Default: False)
'discharge_file_directory': /path/to/discharge_files # [str] Directory containing discharge files. Only required if 'discharge_file' is True.
'discharge_file_list': ['Q001.txt', 'Q002.txt'] # [list] List of discharge files to use. Only required if 'discharge_file' is True.
# -----------------------------------------------------------------------------
# Optimization Options
# -----------------------------------------------------------------------------
optimization_variable_options:
'initial_vector': file # [str] file, float, or list. (Default: file)
'regions': ['main_channel', 'floodplain'] # [list] Regions to optimize. (Default: all friction regions)
'constraints': # [dict] Parameter constraints. (Default: None)
'expression': "x > y or np.isclose(x, y)"
'variables': ['x', 'y']
'bounds': [!!python/tuple [10, 60]] # [list of tuples] Optimization bounds. (Default: None)
'precision': 1e-1 # [float] Decimal precision. (Default: 1)
'save_errors': True # [bool] Save error points to CSV. (Default: False)
'save_tried_vectors': False # [bool] Save all results files. (Default: False)
'opt_engine': "boar" # [str] Optimization engine ("boar" or "optuna"). Default: "boar"
# -----------------------------------------------------------------------------
# Sampling Options
# -----------------------------------------------------------------------------
sampling_options:
'seed': 42 # [int] Random seed (None = random)
# -----------------------------------------------------------------------------
# Surrogate Model Options
# -----------------------------------------------------------------------------
surrogate_model_options:
'tolerance': 1e-4 # [float] Stop criterion
'test_population': 67956 # [int] Surrogate model samples
'opt_mem_override': False # [bool] Override memory check. (Default: False)
'n_initial': 5 # [int] Min samples before optimization. (Default: 5)
'max_tested_vectors': 100 # [int] Max vectors to try. (Default: 100)
'max_no_improvement': 10 # [int] Max iterations without progress (Default: 100)
'GPR_iterations': 500 # [int] The number of restarts of the optimizer for finding the kernel’s parameters which maximize the log-marginal likelihood. (Default: 500)
'GPR_alpha': 1e-6 # [float] Value added to the diagonal of the kernel matrix during fitting. This can prevent a potential numerical issue during fitting, by ensuring that the calculated values form a positive definite matrix. (Default: 1e-6)
'EI_exploration-exploitation': 0.01 # [float] Exploration-exploitation parameter for Expected Improvement acquisition function. (Default: 0.01)