From d8739b2811927bc3f4bdaee0be29378350ea846d Mon Sep 17 00:00:00 2001
From: Giovanni La Mura <giovanni.lamura@inaf.it>
Date: Wed, 5 Mar 2025 17:34:36 +0100
Subject: [PATCH] Provide a YAML configuration example

---
 test_data/config_example.yml | 123 +++++++++++++++++++++++++++++++++++
 1 file changed, 123 insertions(+)
 create mode 100644 test_data/config_example.yml

diff --git a/test_data/config_example.yml b/test_data/config_example.yml
new file mode 100644
index 00000000..4a01e2d0
--- /dev/null
+++ b/test_data/config_example.yml
@@ -0,0 +1,123 @@
+system_settings:
+  # Limit on host RAM use in Gb (0 for no configuration limit)
+  max_host_ram : 0
+  # Limit on GPU RAM use in Gb ( 0 for no configuration limit)
+  max_gpu_ram  : 0
+
+input_settings:
+  # Folder to write the code input configuration files
+  input_folder : "test_subdir"
+  # Name of the scatterer description file
+  spheres_file : "DEDFB"
+  # Name of the geometry description file
+  geometry_file: "DSPH"
+  
+output_settings:
+  # Folder for the code output storage
+  output_folder: "test_subdir"
+  # Name of the main output file
+  output_name  : "c_OSPH"
+  # Requested output formats
+  formats      : [ "LEGACY", "HDF5" ]
+  # Index of the scale for transition matrix output
+  jwtm         : 1
+
+particle_settings:
+  # What application to use (SPHERE | CLUSTER | INCLUSION)
+  application : "SPHERE"
+  # Number of spheres
+  n_spheres   : 1
+  # Number of sphere types
+  n_types     : 1
+  # Vector of sphere type identifiers (what type is each sphere)
+  sph_types   : [ 1 ]
+  # Vector of layers in types (how many layers in each type)
+  n_layers    : [ 2 ]
+  # Spherical monomer radii in m (one size for each type)
+  radii       : [ 2.5e-7 ]
+  # Layer fractional radii (one per layer in each type)
+  rad_frac    : [ [ 0.5, 1.0 ] ]
+  # Index of the dielectric constants (one per layer in each type)
+  #
+  # 1 is first file in `dielec_file`, 2 is second ...
+  dielec_id   : [ [ 1, 2 ] ]
+
+material_settings:
+  diel_flag   : 0
+  # External medium dielectric constant
+  extern_diel : 1.0e0
+  # Dielectric constant files folder
+  dielec_path : "../"
+  # List of dielectric constant files
+  dielec_file : [ "eps_draine_long_Si", "eps_ashok_long_C" ]
+  # Dielectric constant files format (same for all files)
+  dielec_fmt  : [ "CSV" ]
+  # Matching method between optical constants and radiation wavelengths
+  #
+  # interpolate: the constants are interpolated on wavelengths
+  # grid: only the wavelengths with defined constants are computed
+  #
+  match_mode  : "GRID"
+
+radiation_settings:
+  # Radiation field polarization (LINEAR | CIRCULAR)
+  polarization: "LINEAR"
+  # First scale to be used
+  scale_start : 1.0e-7
+  # Last scale to be used
+  scale_end   : 1.0e-6
+  # Calculation step (overridden if `match_mode` is GRID)
+  scale_step  : 5.0e-9
+  # Peak Omega
+  wp          : 3.0e8
+  # Peak scale
+  xip         : 1.0e0
+  # Define scale explicitly (0) or in equal steps (1)
+  step_flag   : 0
+  # Type of scaling variable (only wavelength supported, for now)
+  scale_name  : "WAVELENGTH"
+
+geometry_settings:
+  # Maximum internal field expansion
+  li          : 20
+  # Maximum external field expansion (not used by SPHERE)
+  le          : 20
+  # Number of transition layer integration points
+  npnt        : 149
+  # Number of non transition layer integration points
+  npntts      : 300
+  # Averaging mode
+  iavm        : 0
+  # Meridional plane flag
+  isam        : 0
+  # Starting incidence azimuth angle
+  in_th_start : 0.0
+  # Incidence azimuth angle incremental step
+  in_th_step  : 0.0
+  # Ending incidence azimuth angle
+  in_th_end   : 0.0
+  # Starting incidence elevation angle
+  in_ph_start : 0.0
+  # Incidence elevation angle incremental step
+  in_ph_step  : 0.0
+  # Ending incidence elevation angle
+  in_ph_end   : 0.0
+  # Starting scattered azimuth angle
+  sc_th_start : 0.0
+  # Scattered azimuth angle incremental step
+  sc_th_step  : 0.0
+  # Ending scattered azimuth angle
+  sc_th_end   : 0.0
+  # Starting scattered elevation angle
+  sc_ph_start : 0.0
+  # Scattered elevation angle incremental step
+  sc_ph_step  : 0.0
+  # Ending scattered elevation angle
+  sc_ph_end   : 0.0
+  # Vector of sphere X coordinates (one per sphere or empty for random)
+  x_coords    : []
+  # Vector of sphere Y coordinates (one per sphere or empty for random)
+  y_coords    : []
+  # Vector of sphere Z coordinates (one per sphere or empty for random)
+  z_coords    : []
+  
\ No newline at end of file
-- 
GitLab