diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 18649ede698c6695a8dfe7342fe74da469a99d94..8d53dc112cb2bbfaab7f5864beea4613c5d76304 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -217,8 +217,11 @@ running_stage:
    artifacts:
       paths:
          - build/cluster/c_*
+         - build/cluster/D*
          - build/inclusion/c_*
+         - build/inclusion/D*
          - build/sphere/c_*
+         - build/sphere/D*
          #- build/trapping/*
       exclude:
          - ".git*"
@@ -233,17 +236,23 @@ running_stage:
       - cd build/libnptm
       - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH;$PWD"
       - cd ../sphere
+      - echo "Testing configurator for sphere"
+      - ../../src/scripts/model_maker.py ../../test_data/sphere/config_dev.yml
       - echo "Running np_sphere"
       - chmod +x np_sphere
-      - OMP_NUM_THREADS=1 ./np_sphere
+      - OMP_NUM_THREADS=1 ./np_sphere DEDFB DSPH .
       - cd ../cluster
+      - echo "Testing configurator for cluster"
+      - ../../src/scripts/model_maker.py ../../test_data/cluster/config_dev.yml
       - echo "Running np_cluster"
       - chmod +x np_cluster
-      - OMP_NUM_THREADS=1 ./np_cluster
+      - OMP_NUM_THREADS=1 ./np_cluster DEDFB DCLU .
       - cd ../inclusion
+      - echo "Testing configurator for inclusion"
+      - ../../src/scripts/model_maker.py ../../test_data/inclusion/config_dev.yml
       - echo "Running np_inclusion"
       - chmod +x np_inclusion
-      - OMP_NUM_THREADS=1 ./np_inclusion
+      - OMP_NUM_THREADS=1 ./np_inclusion DEDFB DINCLU .
       
 testing_stage:
    stage: test
diff --git a/ref_data/.gitkeep b/ref_data/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ref_data/README.md b/ref_data/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d58e3fe9a15f8c0c4b096a3e3d9bf2d8462e7fef
--- /dev/null
+++ b/ref_data/README.md
@@ -0,0 +1,26 @@
+# Folder instructions
+
+This directory contains reference data for model configuration, including, in particular, the dielectric constant files.
+
+## Instructions
+
+Dielectric constant files must be formatted as comma separated values, following the scheme provided by the available example files. `NPtm_code` can extract the necessary dielectric constants from these files, either by interpolating them on an arbitrary set of wavelengths, or just computing the scattering process exactly on the grid of available constants.
+
+If the calculation uses the exact grid matching, then all the dielectric constants *must* be provided on the same set of wavelengths. This constraint does not apply to the interpolation mode, because the dielectric constants will be internally interpolated on the same grid of wavelengths. In this second case, however, it is user's responsibility that the requested wavelength range is covered by all the necessary dielectric constant data.
+
+# License
+
+   Copyright (C) 2024   INAF - Osservatorio Astronomico di Cagliari
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   A copy of the GNU General Public License is distributed along with
+   this program in the COPYING file. If not, see: <https://www.gnu.org/licenses/>.
diff --git a/ref_data/eps_ashok_C.csv b/ref_data/eps_ashok_C.csv
new file mode 100644
index 0000000000000000000000000000000000000000..26c3c80ddc99c1ef31d76fd45d3e291f21385e65
--- /dev/null
+++ b/ref_data/eps_ashok_C.csv
@@ -0,0 +1,611 @@
+# Amorphous Carbon according to Ashok.
+#
+# Wavelengths are in meters.
+#
+#Wavelength,Re(EPS),Im(EPS)
+1.0000000e-07,1.5683097e+00,1.8744532e+00
+1.5000000e-07,3.7955391e+00,1.5729585e+00
+2.0000000e-07,2.7695161e+00,5.3086868e-03
+2.5000000e-07,2.5437261e+00,5.2554546e-04
+3.0000000e-07,2.4278250e+00,3.3578290e-05
+3.5000000e-07,2.3716000e+00,3.0800000e-05
+4.0000000e-07,2.3416340e+00,3.0604803e-05
+4.5000000e-07,2.3319059e+00,3.0541161e-05
+5.0000000e-07,2.3104000e+00,3.0400000e-05
+5.5000000e-07,2.3104000e+00,3.0400000e-05
+6.0000000e-07,2.3090710e+00,3.0391245e-05
+6.5000000e-07,2.2991470e+00,3.0325895e-05
+7.0000000e-07,2.2897616e+00,3.0263899e-05
+7.5000000e-07,2.2801593e+00,3.0200373e-05
+8.0000000e-07,2.2801000e+00,6.5354887e-05
+8.5000000e-07,2.2801000e+00,1.0152197e-04
+9.0000000e-07,2.2801000e+00,1.3722221e-04
+9.5000000e-07,2.2789059e+00,2.0424019e-04
+1.0000000e-06,2.2770519e+00,2.8846141e-04
+1.0500000e-06,2.2751650e+00,3.7259863e-04
+1.1000000e-06,2.2733119e+00,4.5666621e-04
+1.1500000e-06,2.2714250e+00,5.4066202e-04
+1.2000000e-06,2.2695521e+00,6.2459321e-04
+1.2500000e-06,2.2676854e+00,7.0845135e-04
+1.3000000e-06,2.2658089e+00,7.9224154e-04
+1.3500000e-06,2.2639550e+00,8.7596469e-04
+1.4000000e-06,2.2620805e+00,9.5961442e-04
+1.4500000e-06,2.2602239e+00,1.0431948e-03
+1.5000000e-06,2.2583500e+00,1.1267134e-03
+1.5500000e-06,2.2564943e+00,1.2101577e-03
+1.6000000e-06,2.2546200e+00,1.2935307e-03
+1.6500000e-06,2.2527442e+00,1.3768314e-03
+1.7000000e-06,2.2508822e+00,1.4572058e-03
+1.7500000e-06,2.2500000e+00,1.2355982e-03
+1.8000000e-06,2.2500000e+00,1.2153950e-03
+1.8500000e-06,2.2500000e+00,1.1429249e-03
+1.9000000e-06,2.2500000e+00,1.1100000e-03
+1.9500000e-06,2.2500000e+00,1.1315766e-03
+2.0000000e-06,2.2500000e+00,1.1400000e-03
+2.0500000e-06,2.2500000e+00,1.1400000e-03
+2.1000000e-06,2.2500000e+00,1.1400000e-03
+2.1500000e-06,2.2500000e+00,1.1543157e-03
+2.2000000e-06,2.2500000e+00,1.1853554e-03
+2.2500000e-06,2.2500000e+00,1.3651302e-03
+2.3000000e-06,2.2500000e+00,4.4912421e-03
+2.3500000e-06,2.2500000e+00,5.1139291e-03
+2.4000000e-06,2.2500000e+00,4.2000000e-03
+2.4500000e-06,2.2500000e+00,3.0376632e-03
+2.5000000e-06,2.2500000e+00,2.3110263e-03
+2.5500000e-06,2.2500000e+00,2.3649848e-03
+2.6000000e-06,2.2500000e+00,2.2916650e-03
+2.6500000e-06,2.2500000e+00,2.1648119e-03
+2.7000000e-06,2.2500000e+00,2.2943963e-03
+2.7500000e-06,2.2500000e+00,2.4143207e-03
+2.8000000e-06,2.2500000e+00,1.8427601e-03
+2.8500000e-06,2.2500000e+00,1.6500000e-03
+2.9000000e-06,2.2500000e+00,1.9228332e-03
+2.9500000e-06,2.2500000e+00,2.0482428e-03
+3.0000000e-06,2.2500000e+00,2.0448375e-03
+3.0500000e-06,2.2500000e+00,2.0498348e-03
+3.1000000e-06,2.2500000e+00,2.2484018e-03
+3.1500000e-06,2.2500000e+00,2.4264712e-03
+3.2000000e-06,2.2500000e+00,4.4164360e-03
+3.2500000e-06,2.2499901e+00,7.0408898e-03
+3.3000000e-06,2.2499900e+00,1.0292448e-02
+3.3500000e-06,2.2499709e+00,1.6983474e-02
+3.4000000e-06,2.2485424e+00,1.0715451e-01
+3.4500000e-06,2.2471303e+00,1.5966601e-01
+3.5000000e-06,2.2426676e+00,2.1004810e-01
+3.5500000e-06,2.2498845e+00,3.1756047e-02
+3.6000000e-06,2.2499863e+00,1.1414635e-02
+3.6500000e-06,2.2499900e+00,7.8049636e-03
+3.7000000e-06,2.2500000e+00,6.4048636e-03
+3.7500000e-06,2.2499901e+00,8.8559545e-03
+3.8000000e-06,2.2499900e+00,7.9993105e-03
+3.8500000e-06,2.2500000e+00,5.2957690e-03
+3.9000000e-06,2.2500000e+00,4.1373280e-03
+3.9500000e-06,2.2500000e+00,2.6382355e-03
+4.0000000e-06,2.2500000e+00,2.0217172e-03
+4.0500000e-06,2.2500000e+00,1.7236251e-03
+4.1000000e-06,2.2500000e+00,1.5465007e-03
+4.1500000e-06,2.2500000e+00,1.8694238e-03
+4.2000000e-06,2.2500000e+00,1.6236404e-03
+4.2500000e-06,2.2500000e+00,2.9944091e-03
+4.3000000e-06,2.2500000e+00,3.1649244e-03
+4.3500000e-06,2.2500000e+00,2.0348174e-03
+4.4000000e-06,2.2500000e+00,1.9624828e-03
+4.4500000e-06,2.2500000e+00,1.6249240e-03
+4.5000000e-06,2.2500000e+00,1.4557262e-03
+4.5500000e-06,2.2500000e+00,1.4042995e-03
+4.6000000e-06,2.2500000e+00,1.4748847e-03
+4.6500000e-06,2.2500000e+00,1.7084094e-03
+4.7000000e-06,2.2500000e+00,1.3304055e-03
+4.7500000e-06,2.2500000e+00,1.2819582e-03
+4.8000000e-06,2.2500000e+00,1.3170712e-03
+4.8500000e-06,2.2500000e+00,1.4823985e-03
+4.9000000e-06,2.2500000e+00,2.0612324e-03
+4.9500000e-06,2.2500000e+00,2.9430803e-03
+5.0000000e-06,2.2500000e+00,1.5388998e-03
+5.0500000e-06,2.2500000e+00,1.3513179e-03
+5.1000000e-06,2.2500000e+00,1.5691359e-03
+5.1500000e-06,2.2500000e+00,1.5388694e-03
+5.2000000e-06,2.2500000e+00,1.6367519e-03
+5.2500000e-06,2.2500000e+00,2.1932951e-03
+5.3000000e-06,2.2500000e+00,1.9429452e-03
+5.3500000e-06,2.2500000e+00,1.2030109e-03
+5.4000000e-06,2.2500000e+00,1.1125115e-03
+5.4500000e-06,2.2500000e+00,1.2942179e-03
+5.5000000e-06,2.2500000e+00,1.6920362e-03
+5.5500000e-06,2.2500000e+00,1.3968975e-03
+5.6000000e-06,2.2500000e+00,1.3056313e-03
+5.6500000e-06,2.2500000e+00,1.2929890e-03
+5.7000000e-06,2.2500000e+00,1.5065241e-03
+5.7500000e-06,2.2500000e+00,2.0705538e-03
+5.8000000e-06,2.2500000e+00,1.9644254e-03
+5.8500000e-06,2.2500000e+00,1.6461164e-03
+5.9000000e-06,2.2500000e+00,1.5600000e-03
+5.9500000e-06,2.2500000e+00,1.5600000e-03
+6.0000000e-06,2.2500000e+00,1.5748874e-03
+6.0500000e-06,2.2500000e+00,1.8888257e-03
+6.1000000e-06,2.2500000e+00,3.2969456e-03
+6.1500000e-06,2.2500000e+00,2.5825536e-03
+6.2000000e-06,2.2500000e+00,2.5736579e-03
+6.2500000e-06,2.2500000e+00,2.7610973e-03
+6.3000000e-06,2.2500000e+00,2.9580247e-03
+6.3500000e-06,2.2500000e+00,2.7995697e-03
+6.4000000e-06,2.2500000e+00,2.7012336e-03
+6.4500000e-06,2.2500000e+00,2.8984862e-03
+6.5000000e-06,2.2500000e+00,3.3421272e-03
+6.5500000e-06,2.2500000e+00,3.6976953e-03
+6.6000000e-06,2.2500000e+00,4.3032842e-03
+6.6500000e-06,2.2499901e+00,7.1836140e-03
+6.7000000e-06,2.2499766e+00,1.4109929e-02
+6.7500000e-06,2.2485780e+00,1.1298002e-01
+6.8000000e-06,2.2488196e+00,1.0299329e-01
+6.8500000e-06,2.2492212e+00,8.3861308e-02
+6.9000000e-06,2.2499147e+00,2.7355348e-02
+6.9500000e-06,2.2499694e+00,1.7058691e-02
+7.0000000e-06,2.2499841e+00,1.1825070e-02
+7.0500000e-06,2.2499900e+00,8.7209709e-03
+7.1000000e-06,2.2499900e+00,7.0497775e-03
+7.1500000e-06,2.2500000e+00,5.9133082e-03
+7.2000000e-06,2.2500000e+00,3.8155528e-03
+7.2500000e-06,2.2500000e+00,5.0933448e-03
+7.3000000e-06,2.2499900e+00,8.3771536e-03
+7.3500000e-06,2.2499900e+00,7.5853337e-03
+7.4000000e-06,2.2499900e+00,7.1733741e-03
+7.4500000e-06,2.2499999e+00,6.5117509e-03
+7.5000000e-06,2.2500000e+00,5.0799834e-03
+7.5500000e-06,2.2500000e+00,4.5000000e-03
+7.6000000e-06,2.2500000e+00,4.9888334e-03
+7.6500000e-06,2.2500000e+00,5.7817517e-03
+7.7000000e-06,2.2500000e+00,5.9396532e-03
+7.7500000e-06,2.2500000e+00,5.4198860e-03
+7.8000000e-06,2.2500000e+00,4.9317947e-03
+7.8500000e-06,2.2500000e+00,4.2540523e-03
+7.9000000e-06,2.2500000e+00,3.7744866e-03
+7.9500000e-06,2.2500000e+00,3.5380774e-03
+8.0000000e-06,2.2500000e+00,3.3005280e-03
+8.0500000e-06,2.2500000e+00,3.0683222e-03
+8.1000000e-06,2.2500000e+00,3.0000000e-03
+8.1500000e-06,2.2500000e+00,2.9642970e-03
+8.2000000e-06,2.2500000e+00,2.8746292e-03
+8.2500000e-06,2.2500000e+00,2.7849817e-03
+8.3000000e-06,2.2500000e+00,2.7130399e-03
+8.3500000e-06,2.2500000e+00,2.6992396e-03
+8.4000000e-06,2.2500000e+00,2.7739820e-03
+8.4500000e-06,2.2500000e+00,2.7589534e-03
+8.5000000e-06,2.2500000e+00,3.3995031e-03
+8.5500000e-06,2.2500000e+00,2.9681961e-03
+8.6000000e-06,2.2500000e+00,2.9349763e-03
+8.6500000e-06,2.2500000e+00,2.9237130e-03
+8.7000000e-06,2.2500000e+00,2.8565441e-03
+8.7500000e-06,2.2500000e+00,2.8713124e-03
+8.8000000e-06,2.2500000e+00,2.9122675e-03
+8.8500000e-06,2.2500000e+00,2.9726999e-03
+8.9000000e-06,2.2500000e+00,3.1794068e-03
+8.9500000e-06,2.2500000e+00,3.3000000e-03
+9.0000000e-06,2.2500000e+00,3.2972231e-03
+9.0500000e-06,2.2500000e+00,3.0600017e-03
+9.1000000e-06,2.2500000e+00,2.8560584e-03
+9.1500000e-06,2.2500000e+00,3.1612143e-03
+9.2000000e-06,2.2500000e+00,3.4832904e-03
+9.2500000e-06,2.2500000e+00,3.8398293e-03
+9.3000000e-06,2.2500000e+00,3.8835910e-03
+9.3500000e-06,2.2500000e+00,3.6006739e-03
+9.4000000e-06,2.2500000e+00,3.5484959e-03
+9.4500000e-06,2.2500000e+00,3.3000880e-03
+9.5000000e-06,2.2500000e+00,3.3000000e-03
+9.5500000e-06,2.2500000e+00,3.0050469e-03
+9.6000000e-06,2.2500000e+00,2.7706443e-03
+9.6500000e-06,2.2500000e+00,2.6483139e-03
+9.7000000e-06,2.2500000e+00,2.4861399e-03
+9.7500000e-06,2.2500000e+00,2.4470484e-03
+9.8000000e-06,2.2500000e+00,2.4341199e-03
+9.8500000e-06,2.2500000e+00,2.4584529e-03
+9.9000000e-06,2.2500000e+00,2.5026649e-03
+9.9500000e-06,2.2500000e+00,2.7424122e-03
+1.0000000e-05,2.2500000e+00,3.0444090e-03
+1.0050000e-05,2.2500000e+00,3.8972894e-03
+1.0100000e-05,2.2500000e+00,4.3884067e-03
+1.0150000e-05,2.2500000e+00,3.8994899e-03
+1.0200000e-05,2.2500000e+00,3.2884793e-03
+1.0250000e-05,2.2500000e+00,2.5416338e-03
+1.0300000e-05,2.2500000e+00,2.4955677e-03
+1.0350000e-05,2.2500000e+00,2.6923442e-03
+1.0400000e-05,2.2500000e+00,2.6085402e-03
+1.0450000e-05,2.2500000e+00,2.5138962e-03
+1.0500000e-05,2.2500000e+00,2.4749731e-03
+1.0550000e-05,2.2500000e+00,2.4654238e-03
+1.0600000e-05,2.2500000e+00,2.4790749e-03
+1.0650000e-05,2.2500000e+00,2.5011366e-03
+1.0700000e-05,2.2500000e+00,2.5554010e-03
+1.0750000e-05,2.2500000e+00,2.6118498e-03
+1.0800000e-05,2.2500000e+00,2.7723592e-03
+1.0850000e-05,2.2500000e+00,2.9341050e-03
+1.0900000e-05,2.2500000e+00,3.8961829e-03
+1.0950000e-05,2.2500000e+00,6.1818964e-03
+1.1000000e-05,2.2499900e+00,1.0644241e-02
+1.1050000e-05,2.2499900e+00,8.1256275e-03
+1.1100000e-05,2.2500000e+00,5.5708045e-03
+1.1150000e-05,2.2500000e+00,4.3621806e-03
+1.1200000e-05,2.2500000e+00,3.4390806e-03
+1.1250000e-05,2.2500000e+00,2.6800534e-03
+1.1300000e-05,2.2500000e+00,2.5650708e-03
+1.1350000e-05,2.2500000e+00,2.4528446e-03
+1.1400000e-05,2.2500000e+00,2.3008645e-03
+1.1450000e-05,2.2500000e+00,2.1393203e-03
+1.1500000e-05,2.2500000e+00,2.0177062e-03
+1.1550000e-05,2.2500000e+00,2.0742571e-03
+1.1600000e-05,2.2500000e+00,2.1278423e-03
+1.1650000e-05,2.2500000e+00,2.1784452e-03
+1.1700000e-05,2.2500000e+00,2.2245943e-03
+1.1750000e-05,2.2500000e+00,2.2709369e-03
+1.1800000e-05,2.2500000e+00,2.2971386e-03
+1.1850000e-05,2.2500000e+00,2.3185629e-03
+1.1900000e-05,2.2500000e+00,2.3413127e-03
+1.1950000e-05,2.2500000e+00,2.3799900e-03
+1.2000000e-05,2.2500000e+00,2.4199900e-03
+1.2050000e-05,2.2500000e+00,2.4601373e-03
+1.2100000e-05,2.2500000e+00,2.5099900e-03
+1.2150000e-05,2.2500000e+00,2.5599900e-03
+1.2200000e-05,2.2500000e+00,2.6121422e-03
+1.2250000e-05,2.2500000e+00,2.6899896e-03
+1.2300000e-05,2.2500000e+00,2.7699853e-03
+1.2350000e-05,2.2500000e+00,2.8496509e-03
+1.2400000e-05,2.2500000e+00,2.8999900e-03
+1.2450000e-05,2.2500000e+00,2.9499897e-03
+1.2500000e-05,2.2500000e+00,3.0031147e-03
+1.2550000e-05,2.2500000e+00,3.0937425e-03
+1.2600000e-05,2.2500000e+00,3.1874925e-03
+1.2650000e-05,2.2500000e+00,3.2820811e-03
+1.2700000e-05,2.2500000e+00,3.3000000e-03
+1.2750000e-05,2.2500000e+00,3.3000000e-03
+1.2800000e-05,2.2500000e+00,3.3000000e-03
+1.2850000e-05,2.2500000e+00,3.4058242e-03
+1.2900000e-05,2.2500000e+00,3.5823767e-03
+1.2950000e-05,2.2500000e+00,3.7588517e-03
+1.3000000e-05,2.2500000e+00,3.9502705e-03
+1.3050000e-05,2.2500000e+00,4.2176877e-03
+1.3100000e-05,2.2500000e+00,4.4824060e-03
+1.3150000e-05,2.2500000e+00,4.7454792e-03
+1.3200000e-05,2.2500000e+00,5.2942693e-03
+1.3250000e-05,2.2500000e+00,5.9119406e-03
+1.3300000e-05,2.2500000e+00,6.5261725e-03
+1.3350000e-05,2.2499900e+00,8.2643783e-03
+1.3400000e-05,2.2499860e+00,1.1684522e-02
+1.3450000e-05,2.2499701e+00,1.5101164e-02
+1.3500000e-05,2.2499600e+00,1.8545952e-02
+1.3550000e-05,2.2498737e+00,3.4327488e-02
+1.3600000e-05,2.2496803e+00,5.3378364e-02
+1.3650000e-05,2.2478330e+00,1.3971329e-01
+1.3700000e-05,2.2443881e+00,2.2473016e-01
+1.3750000e-05,2.2472829e+00,1.5629035e-01
+1.3800000e-05,2.2489738e+00,9.5915648e-02
+1.3850000e-05,2.2471272e+00,1.6083296e-01
+1.3900000e-05,2.2455895e+00,1.9890691e-01
+1.3950000e-05,2.2484489e+00,1.1815505e-01
+1.4000000e-05,2.2496731e+00,5.4191722e-02
+1.4050000e-05,2.2497971e+00,4.2992730e-02
+1.4100000e-05,2.2498747e+00,3.3511366e-02
+1.4150000e-05,2.2499191e+00,2.7495863e-02
+1.4200000e-05,2.2499485e+00,2.1424317e-02
+1.4250000e-05,2.2499700e+00,1.5352759e-02
+1.4300000e-05,2.2499900e+00,1.0215476e-02
+1.4350000e-05,2.2499900e+00,9.0590712e-03
+1.4400000e-05,2.2499900e+00,7.8590379e-03
+1.4450000e-05,2.2499999e+00,6.6590112e-03
+1.4500000e-05,2.2500000e+00,5.6359415e-03
+1.4550000e-05,2.2500000e+00,5.3725010e-03
+1.4600000e-05,2.2500000e+00,5.0997576e-03
+1.4650000e-05,2.2500000e+00,4.8270114e-03
+1.4700000e-05,2.2500000e+00,4.5534243e-03
+1.4750000e-05,2.2500000e+00,4.3361785e-03
+1.4800000e-05,2.2500000e+00,4.1316243e-03
+1.4850000e-05,2.2500000e+00,3.9270560e-03
+1.4900000e-05,2.2500000e+00,3.7226405e-03
+1.4950000e-05,2.2501111e+00,3.5943523e-03
+1.5000000e-05,2.2503900e+00,3.5802700e-03
+1.5050000e-05,2.2506544e+00,3.5661569e-03
+1.5100000e-05,2.2509600e+00,3.5520700e-03
+1.5150000e-05,2.2512450e+00,3.5379663e-03
+1.5200000e-05,2.2515300e+00,3.5238600e-03
+1.5250000e-05,2.2518150e+00,3.5097506e-03
+1.5300000e-05,2.2521000e+00,3.4956400e-03
+1.5350000e-05,2.2523850e+00,3.4815312e-03
+1.5400000e-05,2.2526700e+00,3.4674200e-03
+1.5450000e-05,2.2529550e+00,3.4533006e-03
+1.5500000e-05,2.2532400e+00,3.4391800e-03
+1.5550000e-05,2.2535250e+00,3.4250656e-03
+1.5600000e-05,2.2538100e+00,3.4109500e-03
+1.5650000e-05,2.2540950e+00,3.3968263e-03
+1.5700000e-05,2.2543800e+00,3.3827000e-03
+1.5750000e-05,2.2546650e+00,3.3685756e-03
+1.5800000e-05,2.2549500e+00,3.3544500e-03
+1.5850000e-05,2.2552350e+00,3.3403213e-03
+1.5900000e-05,2.2555200e+00,3.3261900e-03
+1.5950000e-05,2.2558050e+00,3.3120563e-03
+1.6000000e-05,2.2560900e+00,3.2979200e-03
+1.6050000e-05,2.2563750e+00,3.2837806e-03
+1.6100000e-05,2.2566600e+00,3.2696400e-03
+1.6150000e-05,2.2569444e+00,3.2555006e-03
+1.6200000e-05,2.2572300e+00,3.2413600e-03
+1.6250000e-05,2.2575200e+00,3.2272163e-03
+1.6300000e-05,2.2578100e+00,3.2130700e-03
+1.6350000e-05,2.2580956e+00,3.1989206e-03
+1.6400000e-05,2.2583800e+00,3.1847700e-03
+1.6450000e-05,2.2586650e+00,3.1706206e-03
+1.6500000e-05,2.2589500e+00,3.1564700e-03
+1.6550000e-05,2.2592350e+00,3.1423163e-03
+1.6600000e-05,2.2595200e+00,3.1281600e-03
+1.6650000e-05,2.2598050e+00,3.1140013e-03
+1.6700000e-05,2.2600900e+00,3.0998400e-03
+1.6750000e-05,2.2603750e+00,3.0856756e-03
+1.6800000e-05,2.2606600e+00,3.0715100e-03
+1.6850000e-05,2.2609450e+00,3.0573456e-03
+1.6900000e-05,2.2612300e+00,3.0431800e-03
+1.6950000e-05,2.2615163e+00,3.0290125e-03
+1.7000000e-05,2.2618000e+00,3.0148400e-03
+1.7050000e-05,2.2620750e+00,3.0006563e-03
+1.7100000e-05,2.2623500e+00,2.9864700e-03
+1.7150000e-05,2.2626337e+00,2.9722894e-03
+1.7200000e-05,2.2629200e+00,2.9581100e-03
+1.7250000e-05,2.2632050e+00,2.9439306e-03
+1.7300000e-05,2.2634900e+00,2.9297500e-03
+1.7350000e-05,2.2637750e+00,2.9155663e-03
+1.7400000e-05,2.2640600e+00,2.9013800e-03
+1.7450000e-05,2.2643450e+00,2.8871906e-03
+1.7500000e-05,2.2646300e+00,2.8730000e-03
+1.7550000e-05,2.2649144e+00,2.8588106e-03
+1.7600000e-05,2.2652000e+00,2.8446200e-03
+1.7650000e-05,2.2654900e+00,2.8304263e-03
+1.7700000e-05,2.2657800e+00,2.8162300e-03
+1.7750000e-05,2.2660656e+00,2.8020306e-03
+1.7800000e-05,2.2663500e+00,2.7878300e-03
+1.7850000e-05,2.2666350e+00,2.7736306e-03
+1.7900000e-05,2.2669200e+00,2.7594300e-03
+1.7950000e-05,2.2672044e+00,2.7452263e-03
+1.8000000e-05,2.2674900e+00,2.7310200e-03
+1.8050000e-05,2.2677800e+00,2.7168113e-03
+1.8100000e-05,2.2680700e+00,2.7026000e-03
+1.8150000e-05,2.2683556e+00,2.6883856e-03
+1.8200000e-05,2.2686400e+00,2.6741700e-03
+1.8250000e-05,2.2689250e+00,2.6599562e-03
+1.8300000e-05,2.2692100e+00,2.6457400e-03
+1.8350000e-05,2.2694944e+00,2.6315163e-03
+1.8400000e-05,2.2697800e+00,2.6172900e-03
+1.8450000e-05,2.2700700e+00,2.6030650e-03
+1.8500000e-05,2.2703600e+00,2.5888400e-03
+1.8550000e-05,2.2706456e+00,2.5746162e-03
+1.8600000e-05,2.2709300e+00,2.5603900e-03
+1.8650000e-05,2.2712150e+00,2.5461556e-03
+1.8700000e-05,2.2715000e+00,2.5319200e-03
+1.8750000e-05,2.2717844e+00,2.5176906e-03
+1.8800000e-05,2.2720700e+00,2.5034600e-03
+1.8850000e-05,2.2723600e+00,2.4892219e-03
+1.8900000e-05,2.2726500e+00,2.4749800e-03
+1.8950000e-05,2.2729356e+00,2.4607356e-03
+1.9000000e-05,2.2732200e+00,2.4464900e-03
+1.9050000e-05,2.2735044e+00,2.4322456e-03
+1.9100000e-05,2.2737900e+00,2.4180000e-03
+1.9150000e-05,2.2740800e+00,2.4037513e-03
+1.9200000e-05,2.2743700e+00,2.3895000e-03
+1.9250000e-05,2.2746556e+00,2.3752456e-03
+1.9300000e-05,2.2749400e+00,2.3609900e-03
+1.9350000e-05,2.2752250e+00,2.3467356e-03
+1.9400000e-05,2.2755100e+00,2.3324800e-03
+1.9450000e-05,2.2757944e+00,2.3182213e-03
+1.9500000e-05,2.2760800e+00,2.3039600e-03
+1.9550000e-05,2.2763700e+00,2.2896963e-03
+1.9600000e-05,2.2766600e+00,2.2754300e-03
+1.9650000e-05,2.2769456e+00,2.2611606e-03
+1.9700000e-05,2.2772300e+00,2.2468900e-03
+1.9750000e-05,2.2775163e+00,2.2326212e-03
+1.9800000e-05,2.2778000e+00,2.2183500e-03
+1.9850000e-05,2.2780750e+00,2.2040713e-03
+1.9900000e-05,2.2783500e+00,2.1897900e-03
+1.9950000e-05,2.2786498e+00,2.1749359e-03
+2.0000000e-05,2.2789200e+00,2.1612300e-03
+2.0050000e-05,2.2791410e+00,2.1492439e-03
+2.0100000e-05,2.2793624e+00,2.1372552e-03
+2.0150000e-05,2.2795842e+00,2.1252667e-03
+2.0200000e-05,2.2798062e+00,2.1132812e-03
+2.0250000e-05,2.2800284e+00,2.1013017e-03
+2.0300000e-05,2.2802507e+00,2.0893310e-03
+2.0350000e-05,2.2804730e+00,2.0773720e-03
+2.0400000e-05,2.2806952e+00,2.0654275e-03
+2.0450000e-05,2.2809173e+00,2.0535004e-03
+2.0500000e-05,2.2811392e+00,2.0415935e-03
+2.0550000e-05,2.2813607e+00,2.0297098e-03
+2.0600000e-05,2.2815818e+00,2.0178522e-03
+2.0650000e-05,2.2818025e+00,2.0060233e-03
+2.0700000e-05,2.2820226e+00,1.9942263e-03
+2.0750000e-05,2.2822421e+00,1.9824638e-03
+2.0800000e-05,2.2824609e+00,1.9707388e-03
+2.0850000e-05,2.2826788e+00,1.9590541e-03
+2.0900000e-05,2.2828959e+00,1.9474127e-03
+2.0950000e-05,2.2831120e+00,1.9358173e-03
+2.1000000e-05,2.2833270e+00,1.9242708e-03
+2.1050000e-05,2.2835409e+00,1.9127762e-03
+2.1100000e-05,2.2837537e+00,1.9013362e-03
+2.1150000e-05,2.2839651e+00,1.8899538e-03
+2.1200000e-05,2.2841751e+00,1.8786318e-03
+2.1250000e-05,2.2843837e+00,1.8673730e-03
+2.1300000e-05,2.2845908e+00,1.8561804e-03
+2.1350000e-05,2.2847962e+00,1.8450568e-03
+2.1400000e-05,2.2850000e+00,1.8340050e-03
+2.1450000e-05,2.2852019e+00,1.8230280e-03
+2.1500000e-05,2.2854020e+00,1.8121286e-03
+2.1550000e-05,2.2856002e+00,1.8013097e-03
+2.1600000e-05,2.2857963e+00,1.7905741e-03
+2.1650000e-05,2.2859903e+00,1.7799247e-03
+2.1700000e-05,2.2861822e+00,1.7693644e-03
+2.1750000e-05,2.2863717e+00,1.7588961e-03
+2.1800000e-05,2.2865589e+00,1.7485225e-03
+2.1850000e-05,2.2867437e+00,1.7382466e-03
+2.1900000e-05,2.2869260e+00,1.7280712e-03
+2.1950000e-05,2.2871056e+00,1.7179993e-03
+2.2000000e-05,2.2872826e+00,1.7080336e-03
+2.2050000e-05,2.2874569e+00,1.6981771e-03
+2.2100000e-05,2.2876282e+00,1.6884326e-03
+2.2150000e-05,2.2877967e+00,1.6788029e-03
+2.2200000e-05,2.2879622e+00,1.6692910e-03
+2.2250000e-05,2.2881245e+00,1.6598997e-03
+2.2300000e-05,2.2882838e+00,1.6506318e-03
+2.2350000e-05,2.2884397e+00,1.6414903e-03
+2.2400000e-05,2.2885923e+00,1.6324780e-03
+2.2450000e-05,2.2887416e+00,1.6235978e-03
+2.2500000e-05,2.2888873e+00,1.6148525e-03
+2.2550000e-05,2.2890294e+00,1.6062451e-03
+2.2600000e-05,2.2891679e+00,1.5977783e-03
+2.2650000e-05,2.2893027e+00,1.5894550e-03
+2.2700000e-05,2.2894336e+00,1.5812782e-03
+2.2750000e-05,2.2895606e+00,1.5732506e-03
+2.2800000e-05,2.2896837e+00,1.5653751e-03
+2.2850000e-05,2.2898027e+00,1.5576547e-03
+2.2900000e-05,2.2899175e+00,1.5500921e-03
+2.2950000e-05,2.2900281e+00,1.5426903e-03
+2.3000000e-05,2.2901344e+00,1.5354521e-03
+2.3050000e-05,2.2902363e+00,1.5283804e-03
+2.3100000e-05,2.2903338e+00,1.5214780e-03
+2.3150000e-05,2.2904267e+00,1.5147478e-03
+2.3200000e-05,2.2905149e+00,1.5081926e-03
+2.3250000e-05,2.2905984e+00,1.5018155e-03
+2.3300000e-05,2.2906772e+00,1.4956191e-03
+2.3350000e-05,2.2907510e+00,1.4896064e-03
+2.3400000e-05,2.2908199e+00,1.4837802e-03
+2.3450000e-05,2.2908838e+00,1.4781435e-03
+2.3500000e-05,2.2909425e+00,1.4726990e-03
+2.3550000e-05,2.2909960e+00,1.4674497e-03
+2.3600000e-05,2.2910443e+00,1.4623983e-03
+2.3650000e-05,2.2910871e+00,1.4575479e-03
+2.3700000e-05,2.2911245e+00,1.4529012e-03
+2.3750000e-05,2.2911564e+00,1.4484611e-03
+2.3800000e-05,2.2911827e+00,1.4442304e-03
+2.3850000e-05,2.2912033e+00,1.4402122e-03
+2.3900000e-05,2.2912181e+00,1.4364091e-03
+2.3950000e-05,2.2912270e+00,1.4328241e-03
+2.4000000e-05,2.2912300e+00,1.4294600e-03
+2.4050000e-05,2.2912297e+00,1.4262146e-03
+2.4100000e-05,2.2912286e+00,1.4229842e-03
+2.4150000e-05,2.2912269e+00,1.4197693e-03
+2.4200000e-05,2.2912246e+00,1.4165707e-03
+2.4250000e-05,2.2912216e+00,1.4133891e-03
+2.4300000e-05,2.2912180e+00,1.4102250e-03
+2.4350000e-05,2.2912138e+00,1.4070791e-03
+2.4400000e-05,2.2912089e+00,1.4039522e-03
+2.4450000e-05,2.2912035e+00,1.4008448e-03
+2.4500000e-05,2.2911976e+00,1.3977576e-03
+2.4550000e-05,2.2911911e+00,1.3946913e-03
+2.4600000e-05,2.2911840e+00,1.3916465e-03
+2.4650000e-05,2.2911765e+00,1.3886240e-03
+2.4700000e-05,2.2911684e+00,1.3856242e-03
+2.4750000e-05,2.2911598e+00,1.3826480e-03
+2.4800000e-05,2.2911508e+00,1.3796960e-03
+2.4850000e-05,2.2911413e+00,1.3767688e-03
+2.4900000e-05,2.2911313e+00,1.3738671e-03
+2.4950000e-05,2.2911210e+00,1.3709915e-03
+2.5000000e-05,2.2911102e+00,1.3681428e-03
+2.5050000e-05,2.2910990e+00,1.3653215e-03
+2.5100000e-05,2.2910874e+00,1.3625284e-03
+2.5150000e-05,2.2910754e+00,1.3597640e-03
+2.5200000e-05,2.2910631e+00,1.3570291e-03
+2.5250000e-05,2.2910505e+00,1.3543243e-03
+2.5300000e-05,2.2910375e+00,1.3516503e-03
+2.5350000e-05,2.2910242e+00,1.3490077e-03
+2.5400000e-05,2.2910106e+00,1.3463971e-03
+2.5450000e-05,2.2909967e+00,1.3438194e-03
+2.5500000e-05,2.2909826e+00,1.3412750e-03
+2.5550000e-05,2.2909682e+00,1.3387647e-03
+2.5600000e-05,2.2909536e+00,1.3362891e-03
+2.5650000e-05,2.2909387e+00,1.3338489e-03
+2.5700000e-05,2.2909236e+00,1.3314447e-03
+2.5750000e-05,2.2909084e+00,1.3290773e-03
+2.5800000e-05,2.2908929e+00,1.3267472e-03
+2.5850000e-05,2.2908773e+00,1.3244551e-03
+2.5900000e-05,2.2908615e+00,1.3222017e-03
+2.5950000e-05,2.2908456e+00,1.3199877e-03
+2.6000000e-05,2.2908296e+00,1.3178136e-03
+2.6050000e-05,2.2908135e+00,1.3156802e-03
+2.6100000e-05,2.2907973e+00,1.3135881e-03
+2.6150000e-05,2.2907810e+00,1.3115380e-03
+2.6200000e-05,2.2907647e+00,1.3095305e-03
+2.6250000e-05,2.2907483e+00,1.3075664e-03
+2.6300000e-05,2.2907318e+00,1.3056461e-03
+2.6350000e-05,2.2907154e+00,1.3037705e-03
+2.6400000e-05,2.2906989e+00,1.3019402e-03
+2.6450000e-05,2.2906825e+00,1.3001558e-03
+2.6500000e-05,2.2906661e+00,1.2984180e-03
+2.6550000e-05,2.2906497e+00,1.2967274e-03
+2.6600000e-05,2.2906334e+00,1.2950848e-03
+2.6650000e-05,2.2906172e+00,1.2934907e-03
+2.6700000e-05,2.2906010e+00,1.2919459e-03
+2.6750000e-05,2.2905850e+00,1.2904509e-03
+2.6800000e-05,2.2905690e+00,1.2890065e-03
+2.6850000e-05,2.2905532e+00,1.2876133e-03
+2.6900000e-05,2.2905376e+00,1.2862720e-03
+2.6950000e-05,2.2905221e+00,1.2849832e-03
+2.7000000e-05,2.2905068e+00,1.2837476e-03
+2.7050000e-05,2.2904916e+00,1.2825658e-03
+2.7100000e-05,2.2904767e+00,1.2814386e-03
+2.7150000e-05,2.2904620e+00,1.2803665e-03
+2.7200000e-05,2.2904475e+00,1.2793502e-03
+2.7250000e-05,2.2904333e+00,1.2783904e-03
+2.7300000e-05,2.2904194e+00,1.2774878e-03
+2.7350000e-05,2.2904057e+00,1.2766429e-03
+2.7400000e-05,2.2903923e+00,1.2758565e-03
+2.7450000e-05,2.2903792e+00,1.2751293e-03
+2.7500000e-05,2.2903665e+00,1.2744618e-03
+2.7550000e-05,2.2903541e+00,1.2738548e-03
+2.7600000e-05,2.2903420e+00,1.2733088e-03
+2.7650000e-05,2.2903303e+00,1.2728246e-03
+2.7700000e-05,2.2903190e+00,1.2724029e-03
+2.7750000e-05,2.2903081e+00,1.2720442e-03
+2.7800000e-05,2.2902976e+00,1.2717492e-03
+2.7850000e-05,2.2902875e+00,1.2715187e-03
+2.7900000e-05,2.2902779e+00,1.2713532e-03
+2.7950000e-05,2.2902687e+00,1.2712534e-03
+2.8000000e-05,2.2902600e+00,1.2712200e-03
+2.8050000e-05,2.2902515e+00,1.2712575e-03
+2.8100000e-05,2.2902431e+00,1.2713692e-03
+2.8150000e-05,2.2902347e+00,1.2715536e-03
+2.8200000e-05,2.2902263e+00,1.2718093e-03
+2.8250000e-05,2.2902179e+00,1.2721349e-03
+2.8300000e-05,2.2902096e+00,1.2725290e-03
+2.8350000e-05,2.2902013e+00,1.2729901e-03
+2.8400000e-05,2.2901930e+00,1.2735169e-03
+2.8450000e-05,2.2901847e+00,1.2741079e-03
+2.8500000e-05,2.2901765e+00,1.2747617e-03
+2.8550000e-05,2.2901683e+00,1.2754769e-03
+2.8600000e-05,2.2901601e+00,1.2762520e-03
+2.8650000e-05,2.2901520e+00,1.2770857e-03
+2.8700000e-05,2.2901439e+00,1.2779766e-03
+2.8750000e-05,2.2901358e+00,1.2789232e-03
+2.8800000e-05,2.2901278e+00,1.2799241e-03
+2.8850000e-05,2.2901198e+00,1.2809779e-03
+2.8900000e-05,2.2901119e+00,1.2820831e-03
+2.8950000e-05,2.2901040e+00,1.2832385e-03
+2.9000000e-05,2.2900961e+00,1.2844424e-03
+2.9050000e-05,2.2900882e+00,1.2856936e-03
+2.9100000e-05,2.2900805e+00,1.2869906e-03
+2.9150000e-05,2.2900727e+00,1.2883320e-03
+2.9200000e-05,2.2900650e+00,1.2897164e-03
+2.9250000e-05,2.2900573e+00,1.2911423e-03
+2.9300000e-05,2.2900497e+00,1.2926084e-03
+2.9350000e-05,2.2900422e+00,1.2941132e-03
+2.9400000e-05,2.2900347e+00,1.2956554e-03
+2.9450000e-05,2.2900272e+00,1.2972334e-03
+2.9500000e-05,2.2900198e+00,1.2988459e-03
+2.9550000e-05,2.2900124e+00,1.3004914e-03
+2.9600000e-05,2.2900051e+00,1.3021686e-03
+2.9650000e-05,2.2899979e+00,1.3038761e-03
+2.9700000e-05,2.2899907e+00,1.3056123e-03
+2.9750000e-05,2.2899836e+00,1.3073760e-03
+2.9800000e-05,2.2899765e+00,1.3091656e-03
+2.9850000e-05,2.2899695e+00,1.3109798e-03
+2.9900000e-05,2.2899625e+00,1.3128172e-03
+2.9950000e-05,2.2899556e+00,1.3146762e-03
+3.0000000e-05,2.2899488e+00,1.3165556e-03
+4.0000000e-05,2.2897000e+00,1.5000000e-03
+5.0000000e-05,2.2897000e+00,1.5000000e-03
+6.0000000e-05,2.2897000e+00,1.5000000e-03
+7.0000000e-05,2.2897000e+00,1.5000000e-03
+8.0000000e-05,2.2897000e+00,1.5000000e-03
+9.0000000e-05,2.2897000e+00,1.5000000e-03
+1.0000000e-04,2.2897000e+00,1.5000000e-03
diff --git a/ref_data/eps_draine_Si.csv b/ref_data/eps_draine_Si.csv
new file mode 100644
index 0000000000000000000000000000000000000000..a6420161de32851db8de4bf41b7cb7f65188a87f
--- /dev/null
+++ b/ref_data/eps_draine_Si.csv
@@ -0,0 +1,611 @@
+# Astronomical Silicates according to Draine.
+#
+# Wavelengths are in meters.
+#
+#Wavelength,Re(EPS),Im(EPS)
+1.0000000e-07,1.6899252e+00,2.9554728e+00
+1.5000000e-07,4.8226048e+00,2.3927328e+00
+2.0000000e-07,3.7027990e+00,2.0466600e-01
+2.5000000e-07,3.2500400e+00,9.9994380e-02
+3.0000000e-07,3.1038352e+00,1.0022256e-01
+3.5000000e-07,3.0378469e+00,1.0039906e-01
+4.0000000e-07,2.9989807e+00,1.0059456e-01
+4.5000000e-07,2.9783268e+00,1.0062117e-01
+5.0000000e-07,2.9642848e+00,1.0073441e-01
+5.5000000e-07,2.9540990e+00,1.0093968e-01
+6.0000000e-07,2.9484256e+00,1.0120464e-01
+6.5000000e-07,2.9442925e+00,1.0148434e-01
+7.0000000e-07,2.9403447e+00,1.0176810e-01
+7.5000000e-07,2.9379126e+00,1.0210314e-01
+8.0000000e-07,2.9369026e+00,1.0246292e-01
+8.5000000e-07,2.9367866e+00,1.0282273e-01
+9.0000000e-07,2.9368900e+00,1.0318280e-01
+9.5000000e-07,2.9368756e+00,1.0353395e-01
+1.0000000e-06,2.9368785e+00,1.0383412e-01
+1.0500000e-06,2.9369603e+00,1.0409397e-01
+1.1000000e-06,2.9370473e+00,1.0435525e-01
+1.1500000e-06,2.9370909e+00,1.0463746e-01
+1.2000000e-06,2.9370420e+00,1.0496003e-01
+1.2500000e-06,2.9368517e+00,1.0534244e-01
+1.3000000e-06,2.9364814e+00,1.0579680e-01
+1.3500000e-06,2.9359349e+00,1.0630602e-01
+1.4000000e-06,2.9352261e+00,1.0684572e-01
+1.4500000e-06,2.9343684e+00,1.0739149e-01
+1.5000000e-06,2.9333768e+00,1.0791900e-01
+1.5500000e-06,2.9322714e+00,1.0841181e-01
+1.6000000e-06,2.9311019e+00,1.0888525e-01
+1.6500000e-06,2.9299238e+00,1.0936256e-01
+1.7000000e-06,2.9287839e+00,1.0986283e-01
+1.7500000e-06,2.9276923e+00,1.1038853e-01
+1.8000000e-06,2.9266508e+00,1.1093794e-01
+1.8500000e-06,2.9256595e+00,1.1150937e-01
+1.9000000e-06,2.9247204e+00,1.1210112e-01
+1.9500000e-06,2.9238340e+00,1.1271149e-01
+2.0000000e-06,2.9230017e+00,1.1333880e-01
+2.0500000e-06,2.9222137e+00,1.1398065e-01
+2.1000000e-06,2.9214159e+00,1.1463185e-01
+2.1500000e-06,2.9205432e+00,1.1528647e-01
+2.2000000e-06,2.9195304e+00,1.1593856e-01
+2.2500000e-06,2.9183254e+00,1.1658342e-01
+2.3000000e-06,2.9169241e+00,1.1722143e-01
+2.3500000e-06,2.9153366e+00,1.1785425e-01
+2.4000000e-06,2.9135712e+00,1.1848354e-01
+2.4500000e-06,2.9116369e+00,1.1911094e-01
+2.5000000e-06,2.9095431e+00,1.1973814e-01
+2.5500000e-06,2.9072990e+00,1.2036680e-01
+2.6000000e-06,2.9049131e+00,1.2099857e-01
+2.6500000e-06,2.9023950e+00,1.2163514e-01
+2.7000000e-06,2.8997537e+00,1.2227816e-01
+2.7500000e-06,2.8969978e+00,1.2292929e-01
+2.8000000e-06,2.8941367e+00,1.2359022e-01
+2.8500000e-06,2.8911792e+00,1.2426260e-01
+2.9000000e-06,2.8881345e+00,1.2494811e-01
+2.9500000e-06,2.8850117e+00,1.2564841e-01
+3.0000000e-06,2.8818194e+00,1.2636516e-01
+3.0500000e-06,2.8785662e+00,1.2709867e-01
+3.1000000e-06,2.8752582e+00,1.2784374e-01
+3.1500000e-06,2.8719008e+00,1.2859383e-01
+3.2000000e-06,2.8685002e+00,1.2934242e-01
+3.2500000e-06,2.8650610e+00,1.3008298e-01
+3.3000000e-06,2.8615895e+00,1.3080905e-01
+3.3500000e-06,2.8580907e+00,1.3151414e-01
+3.4000000e-06,2.8545704e+00,1.3219180e-01
+3.4500000e-06,2.8510310e+00,1.3283664e-01
+3.5000000e-06,2.8474623e+00,1.3344742e-01
+3.5500000e-06,2.8438513e+00,1.3402392e-01
+3.6000000e-06,2.8401847e+00,1.3456592e-01
+3.6500000e-06,2.8364496e+00,1.3507321e-01
+3.7000000e-06,2.8326328e+00,1.3554557e-01
+3.7500000e-06,2.8287210e+00,1.3598274e-01
+3.8000000e-06,2.8247017e+00,1.3638453e-01
+3.8500000e-06,2.8205620e+00,1.3675069e-01
+3.9000000e-06,2.8162887e+00,1.3708100e-01
+3.9500000e-06,2.8118691e+00,1.3737522e-01
+4.0000000e-06,2.8072901e+00,1.3763312e-01
+4.0500000e-06,2.8025407e+00,1.3785564e-01
+4.1000000e-06,2.7976155e+00,1.3804835e-01
+4.1500000e-06,2.7925109e+00,1.3821798e-01
+4.2000000e-06,2.7872221e+00,1.3837120e-01
+4.2500000e-06,2.7817459e+00,1.3851471e-01
+4.3000000e-06,2.7760780e+00,1.3865513e-01
+4.3500000e-06,2.7702148e+00,1.3879910e-01
+4.4000000e-06,2.7641528e+00,1.3895319e-01
+4.4500000e-06,2.7578878e+00,1.3912396e-01
+4.5000000e-06,2.7514161e+00,1.3931793e-01
+4.5500000e-06,2.7447346e+00,1.3954157e-01
+4.6000000e-06,2.7378393e+00,1.3980132e-01
+4.6500000e-06,2.7307265e+00,1.4010357e-01
+4.7000000e-06,2.7233927e+00,1.4045466e-01
+4.7500000e-06,2.7158348e+00,1.4086089e-01
+4.8000000e-06,2.7080488e+00,1.4132849e-01
+4.8500000e-06,2.7000319e+00,1.4186365e-01
+4.9000000e-06,2.6917802e+00,1.4247247e-01
+4.9500000e-06,2.6832912e+00,1.4316102e-01
+5.0000000e-06,2.6745609e+00,1.4393528e-01
+5.0500000e-06,2.6655899e+00,1.4479762e-01
+5.1000000e-06,2.6563923e+00,1.4573622e-01
+5.1500000e-06,2.6469863e+00,1.4673582e-01
+5.2000000e-06,2.6373885e+00,1.4778123e-01
+5.2500000e-06,2.6276172e+00,1.4885739e-01
+5.3000000e-06,2.6176893e+00,1.4994934e-01
+5.3500000e-06,2.6076222e+00,1.5104228e-01
+5.4000000e-06,2.5974333e+00,1.5212150e-01
+5.4500000e-06,2.5871394e+00,1.5317244e-01
+5.5000000e-06,2.5767579e+00,1.5418068e-01
+5.5500000e-06,2.5663057e+00,1.5513195e-01
+5.6000000e-06,2.5557993e+00,1.5601208e-01
+5.6500000e-06,2.5452555e+00,1.5680708e-01
+5.7000000e-06,2.5346907e+00,1.5750308e-01
+5.7500000e-06,2.5241220e+00,1.5808638e-01
+5.8000000e-06,2.5135652e+00,1.5854339e-01
+5.8500000e-06,2.5030366e+00,1.5886067e-01
+5.9000000e-06,2.4925521e+00,1.5902488e-01
+5.9500000e-06,2.4821278e+00,1.5902286e-01
+6.0000000e-06,2.4717798e+00,1.5884154e-01
+6.0500000e-06,2.4615026e+00,1.5847685e-01
+6.1000000e-06,2.4512081e+00,1.5796022e-01
+6.1500000e-06,2.4407886e+00,1.5733166e-01
+6.2000000e-06,2.4301369e+00,1.5663086e-01
+6.2500000e-06,2.4191473e+00,1.5589722e-01
+6.3000000e-06,2.4077144e+00,1.5516974e-01
+6.3500000e-06,2.3957344e+00,1.5448711e-01
+6.4000000e-06,2.3831048e+00,1.5388755e-01
+6.4500000e-06,2.3697244e+00,1.5340882e-01
+6.5000000e-06,2.3554932e+00,1.5308803e-01
+6.5500000e-06,2.3403134e+00,1.5296164e-01
+6.6000000e-06,2.3240885e+00,1.5306524e-01
+6.6500000e-06,2.3067252e+00,1.5343350e-01
+6.7000000e-06,2.2881309e+00,1.5409986e-01
+6.7500000e-06,2.2682172e+00,1.5509652e-01
+6.8000000e-06,2.2468976e+00,1.5645407e-01
+6.8500000e-06,2.2240887e+00,1.5820139e-01
+6.9000000e-06,2.1997108e+00,1.6036535e-01
+6.9500000e-06,2.1736884e+00,1.6297058e-01
+7.0000000e-06,2.1459490e+00,1.6603916e-01
+7.0500000e-06,2.1164680e+00,1.6960082e-01
+7.1000000e-06,2.0853922e+00,1.7372390e-01
+7.1500000e-06,2.0529075e+00,1.7848361e-01
+7.2000000e-06,2.0191970e+00,1.8395143e-01
+7.2500000e-06,1.9844388e+00,1.9019508e-01
+7.3000000e-06,1.9488056e+00,1.9727862e-01
+7.3500000e-06,1.9124647e+00,2.0526250e-01
+7.4000000e-06,1.8755762e+00,2.1420374e-01
+7.4500000e-06,1.8382937e+00,2.2415625e-01
+7.5000000e-06,1.8007624e+00,2.3517107e-01
+7.5500000e-06,1.7631197e+00,2.4729678e-01
+7.6000000e-06,1.7254941e+00,2.6057999e-01
+7.6500000e-06,1.6880047e+00,2.7506579e-01
+7.7000000e-06,1.6507614e+00,2.9079837e-01
+7.7500000e-06,1.6138638e+00,3.0782172e-01
+7.8000000e-06,1.5774014e+00,3.2618035e-01
+7.8500000e-06,1.5414528e+00,3.4591991e-01
+7.9000000e-06,1.5060861e+00,3.6708836e-01
+7.9500000e-06,1.4713580e+00,3.8973664e-01
+8.0000000e-06,1.4373142e+00,4.1391980e-01
+8.0500000e-06,1.4039869e+00,4.3968035e-01
+8.1000000e-06,1.3713907e+00,4.6699731e-01
+8.1500000e-06,1.3395332e+00,4.9584190e-01
+8.2000000e-06,1.3084158e+00,5.2619576e-01
+8.2500000e-06,1.2780351e+00,5.5805161e-01
+8.3000000e-06,1.2483849e+00,5.9141399e-01
+8.3500000e-06,1.2194547e+00,6.2629954e-01
+8.4000000e-06,1.1912320e+00,6.6273784e-01
+8.4500000e-06,1.1637024e+00,7.0077160e-01
+8.5000000e-06,1.1368501e+00,7.4045723e-01
+8.5500000e-06,1.1106597e+00,7.8186557e-01
+8.6000000e-06,1.0851162e+00,8.2508197e-01
+8.6500000e-06,1.0602063e+00,8.7020705e-01
+8.7000000e-06,1.0359188e+00,9.1735680e-01
+8.7500000e-06,1.0122465e+00,9.6666327e-01
+8.8000000e-06,9.8918628e-01,1.0182748e+00
+8.8500000e-06,9.6674056e-01,1.0723563e+00
+8.9000000e-06,9.4491839e-01,1.1290899e+00
+8.9500000e-06,9.2373617e-01,1.1886749e+00
+9.0000000e-06,9.0321951e-01,1.2513284e+00
+9.0500000e-06,8.8345423e-01,1.3171751e+00
+9.1000000e-06,8.6476139e-01,1.3859113e+00
+9.1500000e-06,8.4758352e-01,1.4571211e+00
+9.2000000e-06,8.3243983e-01,1.5303773e+00
+9.2500000e-06,8.1992682e-01,1.6052340e+00
+9.3000000e-06,8.1071623e-01,1.6812179e+00
+9.3500000e-06,8.0555122e-01,1.7578194e+00
+9.4000000e-06,8.0524171e-01,1.8344845e+00
+9.4500000e-06,8.1065602e-01,1.9106044e+00
+9.5000000e-06,8.2271364e-01,1.9855072e+00
+9.5500000e-06,8.4187636e-01,2.0584850e+00
+9.6000000e-06,8.6658255e-01,2.1289024e+00
+9.6500000e-06,8.9461129e-01,2.1960977e+00
+9.7000000e-06,9.2356800e-01,2.2593740e+00
+9.7500000e-06,9.5143376e-01,2.3182705e+00
+9.8000000e-06,9.7824239e-01,2.3733443e+00
+9.8500000e-06,1.0045852e+00,2.4254584e+00
+9.9000000e-06,1.0310876e+00,2.4755289e+00
+9.9500000e-06,1.0584057e+00,2.5245176e+00
+1.0000000e-05,1.0872273e+00,2.5734282e+00
+1.0050000e-05,1.1181426e+00,2.6230987e+00
+1.0100000e-05,1.1512431e+00,2.6735735e+00
+1.0150000e-05,1.1864891e+00,2.7246892e+00
+1.0200000e-05,1.2238367e+00,2.7762753e+00
+1.0250000e-05,1.2632379e+00,2.8281543e+00
+1.0300000e-05,1.3046380e+00,2.8801412e+00
+1.0350000e-05,1.3479780e+00,2.9320446e+00
+1.0400000e-05,1.3931915e+00,2.9836658e+00
+1.0450000e-05,1.4402062e+00,3.0347998e+00
+1.0500000e-05,1.4889424e+00,3.0852353e+00
+1.0550000e-05,1.5393133e+00,3.1347550e+00
+1.0600000e-05,1.5912245e+00,3.1831360e+00
+1.0650000e-05,1.6445742e+00,3.2301505e+00
+1.0700000e-05,1.6992520e+00,3.2755656e+00
+1.0750000e-05,1.7551398e+00,3.3191446e+00
+1.0800000e-05,1.8121109e+00,3.3606468e+00
+1.0850000e-05,1.8700303e+00,3.3998288e+00
+1.0900000e-05,1.9287552e+00,3.4364445e+00
+1.0950000e-05,1.9881334e+00,3.4702472e+00
+1.1000000e-05,2.0480050e+00,3.5009880e+00
+1.1050000e-05,2.1082180e+00,3.5284665e+00
+1.1100000e-05,2.1686800e+00,3.5526756e+00
+1.1150000e-05,2.2293147e+00,3.5736617e+00
+1.1200000e-05,2.2900458e+00,3.5914778e+00
+1.1250000e-05,2.3507973e+00,3.6061826e+00
+1.1300000e-05,2.4114940e+00,3.6178405e+00
+1.1350000e-05,2.4720613e+00,3.6265213e+00
+1.1400000e-05,2.5324258e+00,3.6322999e+00
+1.1450000e-05,2.5925149e+00,3.6352557e+00
+1.1500000e-05,2.6522581e+00,3.6354731e+00
+1.1550000e-05,2.7115863e+00,3.6330407e+00
+1.1600000e-05,2.7704318e+00,3.6280509e+00
+1.1650000e-05,2.8287289e+00,3.6206001e+00
+1.1700000e-05,2.8864146e+00,3.6107884e+00
+1.1750000e-05,2.9434274e+00,3.5987191e+00
+1.1800000e-05,2.9997084e+00,3.5844984e+00
+1.1850000e-05,3.0552010e+00,3.5682358e+00
+1.1900000e-05,3.1098514e+00,3.5500434e+00
+1.1950000e-05,3.1636081e+00,3.5300357e+00
+1.2000000e-05,3.2164224e+00,3.5083296e+00
+1.2050000e-05,3.2682400e+00,3.4850264e+00
+1.2100000e-05,3.3189733e+00,3.4601583e+00
+1.2150000e-05,3.3685273e+00,3.4337426e+00
+1.2200000e-05,3.4168072e+00,3.4057987e+00
+1.2250000e-05,3.4637176e+00,3.3763476e+00
+1.2300000e-05,3.5091648e+00,3.3454134e+00
+1.2350000e-05,3.5530548e+00,3.3130217e+00
+1.2400000e-05,3.5952949e+00,3.2792008e+00
+1.2450000e-05,3.6357926e+00,3.2439807e+00
+1.2500000e-05,3.6744567e+00,3.2073937e+00
+1.2550000e-05,3.7111976e+00,3.1694744e+00
+1.2600000e-05,3.7459270e+00,3.1302593e+00
+1.2650000e-05,3.7785566e+00,3.0897866e+00
+1.2700000e-05,3.8090008e+00,3.0480968e+00
+1.2750000e-05,3.8371761e+00,3.0052324e+00
+1.2800000e-05,3.8630004e+00,2.9612377e+00
+1.2850000e-05,3.8863926e+00,2.9161583e+00
+1.2900000e-05,3.9072756e+00,2.8700423e+00
+1.2950000e-05,3.9255732e+00,2.8229390e+00
+1.3000000e-05,3.9412126e+00,2.7748994e+00
+1.3050000e-05,3.9541398e+00,2.7260041e+00
+1.3100000e-05,3.9643727e+00,2.6764463e+00
+1.3150000e-05,3.9719501e+00,2.6264450e+00
+1.3200000e-05,3.9769174e+00,2.5762172e+00
+1.3250000e-05,3.9793228e+00,2.5259764e+00
+1.3300000e-05,3.9792208e+00,2.4759335e+00
+1.3350000e-05,3.9766692e+00,2.4262952e+00
+1.3400000e-05,3.9717294e+00,2.3772648e+00
+1.3450000e-05,3.9644674e+00,2.3290411e+00
+1.3500000e-05,3.9549512e+00,2.2818189e+00
+1.3550000e-05,3.9432519e+00,2.2357879e+00
+1.3600000e-05,3.9294432e+00,2.1911336e+00
+1.3650000e-05,3.9136011e+00,2.1480363e+00
+1.3700000e-05,3.8958021e+00,2.1066713e+00
+1.3750000e-05,3.8761248e+00,2.0672088e+00
+1.3800000e-05,3.8546480e+00,2.0298140e+00
+1.3850000e-05,3.8314497e+00,1.9946465e+00
+1.3900000e-05,3.8066084e+00,1.9618608e+00
+1.3950000e-05,3.7802017e+00,1.9316066e+00
+1.4000000e-05,3.7523052e+00,1.9040280e+00
+1.4050000e-05,3.7230073e+00,1.8792206e+00
+1.4100000e-05,3.6924530e+00,1.8571017e+00
+1.4150000e-05,3.6607982e+00,1.8375446e+00
+1.4200000e-05,3.6281920e+00,1.8204223e+00
+1.4250000e-05,3.5947803e+00,1.8056090e+00
+1.4300000e-05,3.5607044e+00,1.7929796e+00
+1.4350000e-05,3.5261008e+00,1.7824104e+00
+1.4400000e-05,3.4911026e+00,1.7737794e+00
+1.4450000e-05,3.4558398e+00,1.7669667e+00
+1.4500000e-05,3.4204383e+00,1.7618545e+00
+1.4550000e-05,3.3850221e+00,1.7583277e+00
+1.4600000e-05,3.3497115e+00,1.7562736e+00
+1.4650000e-05,3.3146254e+00,1.7555825e+00
+1.4700000e-05,3.2798806e+00,1.7561478e+00
+1.4750000e-05,3.2455909e+00,1.7578658e+00
+1.4800000e-05,3.2118698e+00,1.7606360e+00
+1.4850000e-05,3.1788292e+00,1.7643612e+00
+1.4900000e-05,3.1465793e+00,1.7689472e+00
+1.4950000e-05,3.1152304e+00,1.7743034e+00
+1.5000000e-05,3.0848921e+00,1.7803418e+00
+1.5050000e-05,3.0556455e+00,1.7869899e+00
+1.5100000e-05,3.0274614e+00,1.7942253e+00
+1.5150000e-05,3.0002844e+00,1.8020379e+00
+1.5200000e-05,2.9740604e+00,1.8104181e+00
+1.5250000e-05,2.9487354e+00,1.8193559e+00
+1.5300000e-05,2.9242571e+00,1.8288412e+00
+1.5350000e-05,2.9005736e+00,1.8388642e+00
+1.5400000e-05,2.8776344e+00,1.8494150e+00
+1.5450000e-05,2.8553888e+00,1.8604832e+00
+1.5500000e-05,2.8337876e+00,1.8720588e+00
+1.5550000e-05,2.8127821e+00,1.8841314e+00
+1.5600000e-05,2.7923241e+00,1.8966904e+00
+1.5650000e-05,2.7723662e+00,1.9097252e+00
+1.5700000e-05,2.7528607e+00,1.9232248e+00
+1.5750000e-05,2.7337616e+00,1.9371779e+00
+1.5800000e-05,2.7150224e+00,1.9515733e+00
+1.5850000e-05,2.6965972e+00,1.9663990e+00
+1.5900000e-05,2.6784413e+00,1.9816431e+00
+1.5950000e-05,2.6605095e+00,1.9972933e+00
+1.6000000e-05,2.6427566e+00,2.0133366e+00
+1.6050000e-05,2.6251486e+00,2.0297611e+00
+1.6100000e-05,2.6076902e+00,2.0465591e+00
+1.6150000e-05,2.5903969e+00,2.0637244e+00
+1.6200000e-05,2.5732834e+00,2.0812512e+00
+1.6250000e-05,2.5563646e+00,2.0991340e+00
+1.6300000e-05,2.5396563e+00,2.1173680e+00
+1.6350000e-05,2.5231735e+00,2.1359483e+00
+1.6400000e-05,2.5069316e+00,2.1548710e+00
+1.6450000e-05,2.4909466e+00,2.1741323e+00
+1.6500000e-05,2.4752342e+00,2.1937289e+00
+1.6550000e-05,2.4598103e+00,2.2136579e+00
+1.6600000e-05,2.4446913e+00,2.2339167e+00
+1.6650000e-05,2.4298935e+00,2.2545030e+00
+1.6700000e-05,2.4154341e+00,2.2754156e+00
+1.6750000e-05,2.4013294e+00,2.2966527e+00
+1.6800000e-05,2.3875966e+00,2.3182132e+00
+1.6850000e-05,2.3742541e+00,2.3400972e+00
+1.6900000e-05,2.3613187e+00,2.3623037e+00
+1.6950000e-05,2.3488092e+00,2.3848333e+00
+1.7000000e-05,2.3367440e+00,2.4076864e+00
+1.7050000e-05,2.3251376e+00,2.4308619e+00
+1.7100000e-05,2.3139886e+00,2.4543527e+00
+1.7150000e-05,2.3032905e+00,2.4781490e+00
+1.7200000e-05,2.2930388e+00,2.5022416e+00
+1.7250000e-05,2.2832286e+00,2.5266210e+00
+1.7300000e-05,2.2738548e+00,2.5512773e+00
+1.7350000e-05,2.2649137e+00,2.5762008e+00
+1.7400000e-05,2.2564015e+00,2.6013814e+00
+1.7450000e-05,2.2483145e+00,2.6268088e+00
+1.7500000e-05,2.2406496e+00,2.6524725e+00
+1.7550000e-05,2.2334041e+00,2.6783621e+00
+1.7600000e-05,2.2265755e+00,2.7044665e+00
+1.7650000e-05,2.2201618e+00,2.7307748e+00
+1.7700000e-05,2.2141607e+00,2.7572755e+00
+1.7750000e-05,2.2085708e+00,2.7839571e+00
+1.7800000e-05,2.2033907e+00,2.8108077e+00
+1.7850000e-05,2.1986194e+00,2.8378153e+00
+1.7900000e-05,2.1942563e+00,2.8649676e+00
+1.7950000e-05,2.1903008e+00,2.8922520e+00
+1.8000000e-05,2.1867519e+00,2.9196552e+00
+1.8050000e-05,2.1836122e+00,2.9471649e+00
+1.8100000e-05,2.1808919e+00,2.9747708e+00
+1.8150000e-05,2.1786041e+00,3.0024634e+00
+1.8200000e-05,2.1767614e+00,3.0302325e+00
+1.8250000e-05,2.1753772e+00,3.0580681e+00
+1.8300000e-05,2.1744651e+00,3.0859601e+00
+1.8350000e-05,2.1740396e+00,3.1138983e+00
+1.8400000e-05,2.1741144e+00,3.1418718e+00
+1.8450000e-05,2.1747037e+00,3.1698698e+00
+1.8500000e-05,2.1758232e+00,3.1978816e+00
+1.8550000e-05,2.1774873e+00,3.2258959e+00
+1.8600000e-05,2.1797112e+00,3.2539010e+00
+1.8650000e-05,2.1825109e+00,3.2818855e+00
+1.8700000e-05,2.1859019e+00,3.3098372e+00
+1.8750000e-05,2.1899002e+00,3.3377440e+00
+1.8800000e-05,2.1945221e+00,3.3655933e+00
+1.8850000e-05,2.1997843e+00,3.3933724e+00
+1.8900000e-05,2.2057036e+00,3.4210683e+00
+1.8950000e-05,2.2122964e+00,3.4486672e+00
+1.9000000e-05,2.2195802e+00,3.4761558e+00
+1.9050000e-05,2.2275642e+00,3.5035210e+00
+1.9100000e-05,2.2362245e+00,3.5307543e+00
+1.9150000e-05,2.2455299e+00,3.5578484e+00
+1.9200000e-05,2.2554473e+00,3.5847952e+00
+1.9250000e-05,2.2659442e+00,3.6115865e+00
+1.9300000e-05,2.2769864e+00,3.6382135e+00
+1.9350000e-05,2.2885407e+00,3.6646674e+00
+1.9400000e-05,2.3005715e+00,3.6909390e+00
+1.9450000e-05,2.3130439e+00,3.7170183e+00
+1.9500000e-05,2.3259223e+00,3.7428963e+00
+1.9550000e-05,2.3391700e+00,3.7685631e+00
+1.9600000e-05,2.3527508e+00,3.7940080e+00
+1.9650000e-05,2.3666263e+00,3.8192212e+00
+1.9700000e-05,2.3807587e+00,3.8441923e+00
+1.9750000e-05,2.3951097e+00,3.8689109e+00
+1.9800000e-05,2.4096398e+00,3.8933656e+00
+1.9850000e-05,2.4243090e+00,3.9175464e+00
+1.9900000e-05,2.4390774e+00,3.9414422e+00
+1.9950000e-05,2.4539044e+00,3.9650425e+00
+2.0000000e-05,2.4687480e+00,3.9883360e+00
+2.0050000e-05,2.4835737e+00,4.0113138e+00
+2.0100000e-05,2.4983744e+00,4.0339743e+00
+2.0150000e-05,2.5131500e+00,4.0563186e+00
+2.0200000e-05,2.5279003e+00,4.0783474e+00
+2.0250000e-05,2.5426250e+00,4.1000611e+00
+2.0300000e-05,2.5573238e+00,4.1214616e+00
+2.0350000e-05,2.5719970e+00,4.1425496e+00
+2.0400000e-05,2.5866444e+00,4.1633258e+00
+2.0450000e-05,2.6012649e+00,4.1837919e+00
+2.0500000e-05,2.6158596e+00,4.2039491e+00
+2.0550000e-05,2.6304277e+00,4.2237989e+00
+2.0600000e-05,2.6449689e+00,4.2433424e+00
+2.0650000e-05,2.6594834e+00,4.2625817e+00
+2.0700000e-05,2.6739708e+00,4.2815180e+00
+2.0750000e-05,2.6884308e+00,4.3001534e+00
+2.0800000e-05,2.7028638e+00,4.3184893e+00
+2.0850000e-05,2.7172694e+00,4.3365275e+00
+2.0900000e-05,2.7316471e+00,4.3542703e+00
+2.0950000e-05,2.7459972e+00,4.3717190e+00
+2.1000000e-05,2.7603193e+00,4.3888771e+00
+2.1050000e-05,2.7746134e+00,4.4057448e+00
+2.1100000e-05,2.7888794e+00,4.4223258e+00
+2.1150000e-05,2.8031166e+00,4.4386218e+00
+2.1200000e-05,2.8173255e+00,4.4546348e+00
+2.1250000e-05,2.8315060e+00,4.4703674e+00
+2.1300000e-05,2.8456578e+00,4.4858229e+00
+2.1350000e-05,2.8597805e+00,4.5010022e+00
+2.1400000e-05,2.8738747e+00,4.5159088e+00
+2.1450000e-05,2.8879398e+00,4.5305458e+00
+2.1500000e-05,2.9019757e+00,4.5449145e+00
+2.1550000e-05,2.9159819e+00,4.5590189e+00
+2.1600000e-05,2.9299595e+00,4.5728610e+00
+2.1650000e-05,2.9439077e+00,4.5864438e+00
+2.1700000e-05,2.9578262e+00,4.5997701e+00
+2.1750000e-05,2.9717153e+00,4.6128434e+00
+2.1800000e-05,2.9855751e+00,4.6256662e+00
+2.1850000e-05,2.9994051e+00,4.6382409e+00
+2.1900000e-05,3.0132059e+00,4.6505719e+00
+2.1950000e-05,3.0269766e+00,4.6626614e+00
+2.2000000e-05,3.0407182e+00,4.6745126e+00
+2.2050000e-05,3.0544297e+00,4.6861294e+00
+2.2100000e-05,3.0681119e+00,4.6975138e+00
+2.2150000e-05,3.0817641e+00,4.7086705e+00
+2.2200000e-05,3.0953870e+00,4.7196015e+00
+2.2250000e-05,3.1089806e+00,4.7303114e+00
+2.2300000e-05,3.1225442e+00,4.7408027e+00
+2.2350000e-05,3.1360789e+00,4.7510794e+00
+2.2400000e-05,3.1495838e+00,4.7611445e+00
+2.2450000e-05,3.1630600e+00,4.7710019e+00
+2.2500000e-05,3.1765066e+00,4.7806547e+00
+2.2550000e-05,3.1899241e+00,4.7901073e+00
+2.2600000e-05,3.2033127e+00,4.7993624e+00
+2.2650000e-05,3.2166723e+00,4.8084240e+00
+2.2700000e-05,3.2300030e+00,4.8172961e+00
+2.2750000e-05,3.2433054e+00,4.8259824e+00
+2.2800000e-05,3.2565792e+00,4.8344857e+00
+2.2850000e-05,3.2698248e+00,4.8428113e+00
+2.2900000e-05,3.2830425e+00,4.8509618e+00
+2.2950000e-05,3.2962322e+00,4.8589416e+00
+2.3000000e-05,3.3093940e+00,4.8667540e+00
+2.3050000e-05,3.3225286e+00,4.8744038e+00
+2.3100000e-05,3.3356362e+00,4.8818943e+00
+2.3150000e-05,3.3487163e+00,4.8892294e+00
+2.3200000e-05,3.3617700e+00,4.8964132e+00
+2.3250000e-05,3.3747971e+00,4.9034499e+00
+2.3300000e-05,3.3877979e+00,4.9103431e+00
+2.3350000e-05,3.4007727e+00,4.9170975e+00
+2.3400000e-05,3.4137224e+00,4.9237164e+00
+2.3450000e-05,3.4266463e+00,4.9302045e+00
+2.3500000e-05,3.4395457e+00,4.9365655e+00
+2.3550000e-05,3.4524207e+00,4.9428037e+00
+2.3600000e-05,3.4652708e+00,4.9489233e+00
+2.3650000e-05,3.4780974e+00,4.9549282e+00
+2.3700000e-05,3.4909010e+00,4.9608228e+00
+2.3750000e-05,3.5036811e+00,4.9666115e+00
+2.3800000e-05,3.5164386e+00,4.9722984e+00
+2.3850000e-05,3.5291736e+00,4.9778878e+00
+2.3900000e-05,3.5418876e+00,4.9833834e+00
+2.3950000e-05,3.5545795e+00,4.9887901e+00
+2.4000000e-05,3.5672510e+00,4.9941125e+00
+2.4050000e-05,3.5799021e+00,4.9993541e+00
+2.4100000e-05,3.5925333e+00,5.0045199e+00
+2.4150000e-05,3.6051453e+00,5.0096138e+00
+2.4200000e-05,3.6177385e+00,5.0146403e+00
+2.4250000e-05,3.6303129e+00,5.0196039e+00
+2.4300000e-05,3.6428703e+00,5.0245090e+00
+2.4350000e-05,3.6554101e+00,5.0293596e+00
+2.4400000e-05,3.6679335e+00,5.0341608e+00
+2.4450000e-05,3.6804409e+00,5.0389169e+00
+2.4500000e-05,3.6929330e+00,5.0436325e+00
+2.4550000e-05,3.7054102e+00,5.0483114e+00
+2.4600000e-05,3.7178735e+00,5.0529586e+00
+2.4650000e-05,3.7303236e+00,5.0575784e+00
+2.4700000e-05,3.7427600e+00,5.0621756e+00
+2.4750000e-05,3.7551852e+00,5.0667543e+00
+2.4800000e-05,3.7675985e+00,5.0713200e+00
+2.4850000e-05,3.7800010e+00,5.0758760e+00
+2.4900000e-05,3.7923938e+00,5.0804279e+00
+2.4950000e-05,3.8047773e+00,5.0849794e+00
+2.5000000e-05,3.8171520e+00,5.0895360e+00
+2.5050000e-05,3.8295191e+00,5.0941011e+00
+2.5100000e-05,3.8418778e+00,5.0986750e+00
+2.5150000e-05,3.8542292e+00,5.1032578e+00
+2.5200000e-05,3.8665724e+00,5.1078491e+00
+2.5250000e-05,3.8789076e+00,5.1124484e+00
+2.5300000e-05,3.8912354e+00,5.1170557e+00
+2.5350000e-05,3.9035544e+00,5.1216703e+00
+2.5400000e-05,3.9158658e+00,5.1262923e+00
+2.5450000e-05,3.9281690e+00,5.1309215e+00
+2.5500000e-05,3.9404637e+00,5.1355573e+00
+2.5550000e-05,3.9527502e+00,5.1401992e+00
+2.5600000e-05,3.9650285e+00,5.1448470e+00
+2.5650000e-05,3.9772986e+00,5.1495011e+00
+2.5700000e-05,3.9895602e+00,5.1541603e+00
+2.5750000e-05,4.0018134e+00,5.1588249e+00
+2.5800000e-05,4.0140579e+00,5.1634940e+00
+2.5850000e-05,4.0262938e+00,5.1681674e+00
+2.5900000e-05,4.0385217e+00,5.1728453e+00
+2.5950000e-05,4.0507399e+00,5.1775271e+00
+2.6000000e-05,4.0629500e+00,5.1822124e+00
+2.6050000e-05,4.0751513e+00,5.1869009e+00
+2.6100000e-05,4.0873439e+00,5.1915928e+00
+2.6150000e-05,4.0995271e+00,5.1962866e+00
+2.6200000e-05,4.1117017e+00,5.2009834e+00
+2.6250000e-05,4.1238671e+00,5.2056819e+00
+2.6300000e-05,4.1360235e+00,5.2103815e+00
+2.6350000e-05,4.1481712e+00,5.2150831e+00
+2.6400000e-05,4.1603088e+00,5.2197855e+00
+2.6450000e-05,4.1724374e+00,5.2244887e+00
+2.6500000e-05,4.1845571e+00,5.2291917e+00
+2.6550000e-05,4.1966673e+00,5.2338954e+00
+2.6600000e-05,4.2087674e+00,5.2385985e+00
+2.6650000e-05,4.2208586e+00,5.2433010e+00
+2.6700000e-05,4.2329399e+00,5.2480024e+00
+2.6750000e-05,4.2450115e+00,5.2527023e+00
+2.6800000e-05,4.2570737e+00,5.2574011e+00
+2.6850000e-05,4.2691258e+00,5.2620977e+00
+2.6900000e-05,4.2811680e+00,5.2667918e+00
+2.6950000e-05,4.2932002e+00,5.2714834e+00
+2.7000000e-05,4.3052221e+00,5.2761719e+00
+2.7050000e-05,4.3172344e+00,5.2808569e+00
+2.7100000e-05,4.3292365e+00,5.2855383e+00
+2.7150000e-05,4.3412281e+00,5.2902155e+00
+2.7200000e-05,4.3532096e+00,5.2948887e+00
+2.7250000e-05,4.3651807e+00,5.2995572e+00
+2.7300000e-05,4.3771412e+00,5.3042203e+00
+2.7350000e-05,4.3890909e+00,5.3088781e+00
+2.7400000e-05,4.4010304e+00,5.3135303e+00
+2.7450000e-05,4.4129591e+00,5.3181761e+00
+2.7500000e-05,4.4248768e+00,5.3228154e+00
+2.7550000e-05,4.4367838e+00,5.3274477e+00
+2.7600000e-05,4.4486798e+00,5.3320732e+00
+2.7650000e-05,4.4605649e+00,5.3366907e+00
+2.7700000e-05,4.4724388e+00,5.3413005e+00
+2.7750000e-05,4.4843016e+00,5.3459024e+00
+2.7800000e-05,4.4961532e+00,5.3504951e+00
+2.7850000e-05,4.5079933e+00,5.3550790e+00
+2.7900000e-05,4.5198221e+00,5.3596538e+00
+2.7950000e-05,4.5316394e+00,5.3642187e+00
+2.8000000e-05,4.5434446e+00,5.3687731e+00
+2.8050000e-05,4.5552388e+00,5.3733174e+00
+2.8100000e-05,4.5670212e+00,5.3778506e+00
+2.8150000e-05,4.5787914e+00,5.3823733e+00
+2.8200000e-05,4.5905496e+00,5.3868839e+00
+2.8250000e-05,4.6022961e+00,5.3913824e+00
+2.8300000e-05,4.6140305e+00,5.3958688e+00
+2.8350000e-05,4.6257525e+00,5.4003423e+00
+2.8400000e-05,4.6374623e+00,5.4048031e+00
+2.8450000e-05,4.6491592e+00,5.4092503e+00
+2.8500000e-05,4.6608444e+00,5.4136839e+00
+2.8550000e-05,4.6725170e+00,5.4181030e+00
+2.8600000e-05,4.6841762e+00,5.4225077e+00
+2.8650000e-05,4.6958237e+00,5.4268972e+00
+2.8700000e-05,4.7074578e+00,5.4312718e+00
+2.8750000e-05,4.7190788e+00,5.4356300e+00
+2.8800000e-05,4.7306873e+00,5.4399727e+00
+2.8850000e-05,4.7422824e+00,5.4442988e+00
+2.8900000e-05,4.7538639e+00,5.4486078e+00
+2.8950000e-05,4.7654327e+00,5.4529000e+00
+2.9000000e-05,4.7769881e+00,5.4571740e+00
+2.9050000e-05,4.7885298e+00,5.4614303e+00
+2.9100000e-05,4.8000576e+00,5.4656681e+00
+2.9150000e-05,4.8115722e+00,5.4698868e+00
+2.9200000e-05,4.8230729e+00,5.4740865e+00
+2.9250000e-05,4.8345598e+00,5.4782668e+00
+2.9300000e-05,4.8460326e+00,5.4824269e+00
+2.9350000e-05,4.8574912e+00,5.4865668e+00
+2.9400000e-05,4.8689360e+00,5.4906856e+00
+2.9450000e-05,4.8803661e+00,5.4947834e+00
+2.9500000e-05,4.8917818e+00,5.4988598e+00
+2.9550000e-05,4.9031834e+00,5.5029138e+00
+2.9600000e-05,4.9145701e+00,5.5069455e+00
+2.9650000e-05,4.9259425e+00,5.5109549e+00
+2.9700000e-05,4.9372999e+00,5.5149407e+00
+2.9750000e-05,4.9486422e+00,5.5189027e+00
+2.9800000e-05,4.9599700e+00,5.5228409e+00
+2.9850000e-05,4.9712822e+00,5.5267549e+00
+2.9900000e-05,4.9825797e+00,5.5306439e+00
+2.9950000e-05,4.9938613e+00,5.5345075e+00
+3.0000000e-05,5.0051280e+00,5.5383460e+00
+4.0000000e-05,6.9258732e+00,5.8440932e+00
+5.0000000e-05,8.2522463e+00,5.5415984e+00
+6.0000000e-05,9.2382539e+00,5.0714007e+00
+7.0000000e-05,9.9662240e+00,4.5704080e+00
+8.0000000e-05,1.0465807e+01,4.0896231e+00
+9.0000000e-05,1.0776962e+01,3.6707747e+00
+1.0000000e-04,1.0945516e+01,3.3473384e+00
diff --git a/src/include/outputs.h b/src/include/outputs.h
index abea6a6f891c1e318c7c7c244f196cc469a38b48..b4f9b02ed34cbb91a56cfbe9de2832e6fd28be52 100644
--- a/src/include/outputs.h
+++ b/src/include/outputs.h
@@ -970,6 +970,15 @@ public:
 // >>> END OF OUTPUT FOR INCLUSION <<<
 
 // >>> OUTPUT FOR SPHERE <<<
+/*! \brief Class to collect output information for scattering from a single sphere.
+ *
+ * The results of the calculation can be saved in different formats.
+ * It is therefore convenient to have a proper memory structure that
+ * allows for storing the results and flushing them in any of the
+ * permitted formats with just one operation. The purpose of the
+ * `SphereOutputInfo` class is to provide a wrapper for the output
+ * of the spherical particle scattering solver.
+ */
 class SphereOutputInfo {
 protected:
   //! \brief Number of incident azimuth calculations.
@@ -1104,7 +1113,7 @@ public:
   double *vec_tqsk1;
   //! \brief Vector of sphere average scattering torque along incidence direction (perpendicular polarization).
   double *vec_tqsk2;
-  //| \brief Vector of total forward scattering amplitudes.
+  //! \brief Vector of total forward scattering amplitudes.
   dcomplex *vec_fsat;
   //! \brief Vector of total QSCHU.
   double *vec_qschut;
diff --git a/src/inclusion/inclusion.cpp b/src/inclusion/inclusion.cpp
index 86c73b469a07f4a89e9fac7b3420a62bc1119339..d7aff78d25324f36f466294a3b357b88df9774b4 100644
--- a/src/inclusion/inclusion.cpp
+++ b/src/inclusion/inclusion.cpp
@@ -118,7 +118,7 @@ using namespace std;
  *  \param gconf: `GeometryConfiguration *` Pointer to a `GeometryConfiguration` object.
  *  \param sa: `ScatteringAngles *` Pointer to a `ScatteringAngles` object.
  *  \param cid: `InclusionIterationData *` Pointer to an `InclusionIterationData` object.
- *  \param oi: `InclusionOutputInfo *` Pointer to an `InclusionOutputInfo` object.
+ *  \param output: `InclusionOutputInfo *` Pointer to an `InclusionOutputInfo` object.
  *  \param output_path: `const string &` Path to the output directory.
  *  \param vtppoanp: `VirtualBinaryFile *` Pointer to a `VirtualBinaryFile` object.
  */
@@ -675,7 +675,7 @@ void inclusion(const string& config_file, const string& data_file, const string&
   }
 #endif
 }
-	
+
 int inclusion_jxi488_cycle(int jxi488, ScattererConfiguration *sconf, GeometryConfiguration *gconf, ScatteringAngles *sa, InclusionIterationData *cid, InclusionOutputInfo *output, const string& output_path, VirtualBinaryFile *vtppoanp) {
   const dcomplex cc0 = 0.0 + I * 0.0;
   int nxi = sconf->number_of_scales;
diff --git a/src/scripts/model_maker.py b/src/scripts/model_maker.py
new file mode 100755
index 0000000000000000000000000000000000000000..9705290efc8b30736c79c18bc1a62d4cbea5b304
--- /dev/null
+++ b/src/scripts/model_maker.py
@@ -0,0 +1,607 @@
+#!/bin/python3
+
+#   Copyright (C) 2024   INAF - Osservatorio Astronomico di Cagliari
+#
+#   This program is free software: you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation, either version 3 of the License, or
+#   (at your option) any later version.
+#   
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#   
+#   A copy of the GNU General Public License is distributed along with
+#   this program in the COPYING file. If not, see: <https://www.gnu.org/licenses/>.
+
+## @package model_maker
+#  \brief Script to build models from YAML configuration files.
+#
+#  Script to assist in the creation of model input files starting
+#  from a YAML descriptor.
+#
+#  The script requires python3.
+
+import yaml
+
+from pathlib import PurePath
+from sys import argv
+
+## \brief Main execution code
+#
+# `main()` is the function that handles the creation of the code configuration.
+# It returns an integer value as exit code, using 0 to signal successful execution.
+#
+# \returns result: `int` Number of detected error-level inconsistencies.
+def main():
+    result = 0
+    config = parse_arguments()
+    if (config['help_mode'] or config['yml_file_name'] == ""):
+        print_help()
+    else:
+        sconf, gconf = load_model(config['yml_file_name'])
+        if (sconf is not None) and (gconf is not None):
+            result = write_legacy_sconf(sconf)
+            if (result == 0): result += write_legacy_gconf(gconf)
+        else:
+            print("ERROR: could not create configuration.")
+            result = 1
+    return result
+
+## \brief Populate the dielectric constant data via interpolation
+#
+#  \param sconf: `dict` Scatterer configuration dictionary.
+#  \return result: `int` An exit code (0 if successful).
+def interpolate_constants(sconf):
+    result = 0
+    for i in range(sconf['configurations']):
+        for j in range(sconf['nshl'][i]):
+            file_idx = sconf['dielec_id'][i][j]
+            dielec_path = PurePath(sconf['dielec_path'], sconf['dielec_file'][int(file_idx) - 1])
+            file_name = str(dielec_path)
+            dielec_file = open(file_name, 'r')
+            wavelengths = []
+            rpart = []
+            ipart = []
+            str_line = dielec_file.readline()
+            while (str_line != ""):
+                if (not str_line.startswith('#')):
+                    split_line = str_line.split(',')
+                    if (len(split_line) == 3):
+                        wavelengths.append(float(split_line[0]))
+                        rpart.append(float(split_line[1]))
+                        ipart.append(float(split_line[2]))
+                str_line = dielec_file.readline()
+            dielec_file.close()
+            wi = 0
+            x0 = 0.0
+            x1 = 0.0
+            ry0 = 0.0
+            iy0 = 0.0
+            ry1 = 0.0
+            iy1 = 0.0
+            for dci in range(sconf['nxi']):
+                w = sconf['vec_xi'][dci]
+                while (w > x1):
+                    x0 = wavelengths[wi]
+                    ry0 = rpart[wi]
+                    iy0 = ipart[wi]
+                    if (wi == len(wavelengths)):
+                        print("ERROR: file %s does not cover requested wavelengths!"%file_name)
+                        return 1
+                    wi += 1
+                    x1 = wavelengths[wi]
+                    ry1 = rpart[wi]
+                    iy1 = ipart[wi]
+                if (wi > 0):
+                    x0 = wavelengths[wi - 1]
+                    ry0 = rpart[wi - 1]
+                    iy0 = ipart[wi - 1]
+                    dx = w - x0
+                    dry = (ry1 - ry0) / (x1 - x0) * dx
+                    diy = (iy1 - iy0) / (x1 - x0) * dx
+                    ry = ry0 + dry
+                    iy = iy0 + diy
+                    sconf['rdc0'][j][i][dci] = ry
+                    sconf['idc0'][j][i][dci] = iy
+                else:
+                    if (wavelengths[wi] == w):
+                        sconf['rdc0'][j][i][dci] = rpart[0]
+                        sconf['idc0'][j][i][dci] = ipart[0]
+                    else:
+                        print("ERROR: file %s does not cover requested wavelengths!"%file_name)
+                        return 2
+    return result
+
+## \brief Create tha calculation configuration structure from YAML input.
+#
+#  \param model_file: `str` Full path to the YAML input file.
+#  \return sconf, gconf: `tuple` A dictionary tuple for scatterer and
+#                        geometric configurations.
+def load_model(model_file):
+    sconf = None
+    gconf = None
+    model = None
+    try:
+        with open(model_file, 'r') as stream:
+            model = yaml.safe_load(stream)
+    except yaml.YAMLError:
+        print("ERROR: " + model_file + " is not a valid YAML file!")
+    except FileNotFoundError:
+        print("ERROR: " + model_file + " was not found!")
+    if model is not None:
+        # Create the sconf dict
+        sconf = {
+            'out_file': PurePath(
+                model['input_settings']['input_folder'],
+                model['input_settings']['spheres_file']
+            )
+        }
+        sconf['nsph'] = int(model['particle_settings']['n_spheres'])
+        sconf['application'] = model['particle_settings']['application']
+        sconf['ies'] = 1 if sconf['application'] == "INCLUSION" else 0
+        sconf['exdc'] = float(model['material_settings']['extern_diel'])
+        sconf['wp'] = float(model['radiation_settings']['wp'])
+        sconf['xip'] = float(model['radiation_settings']['xip'])
+        sconf['idfc'] = int(model['material_settings']['diel_flag'])
+        sconf['instpc'] = int(model['radiation_settings']['step_flag'])
+        sconf['xi_start'] = float(model['radiation_settings']['scale_start'])
+        sconf['xi_end'] = float(model['radiation_settings']['scale_end'])
+        sconf['xi_step'] = float(model['radiation_settings']['scale_step'])
+        sconf['configurations'] = int(model['particle_settings']['n_types'])
+        sconf['dielec_path'] = model['material_settings']['dielec_path']
+        sconf['dielec_file'] = model['material_settings']['dielec_file']
+        num_dielec = 0 # len(model['particle_settings']['dielec_id'])
+        if (sconf['idfc'] == -1):
+            num_dielec = len(model['material_settings']['diel_const'])
+        elif (sconf['idfc'] == 0):
+            num_dielec = len(model['particle_settings']['dielec_id'])
+        if (len(model['particle_settings']['n_layers']) != sconf['configurations']):
+            print("ERROR: Declared number of layers does not match number of types!")
+            return (None, None)
+        else:
+            sconf['nshl'] = [0 for i in range(sconf['configurations'])]
+            for i in range(sconf['configurations']):
+                sconf['nshl'][i] = int(model['particle_settings']['n_layers'][i])
+            if (sconf['application'] == "INCLUSION"):
+                sconf['nshl'][0] += 1
+        max_layers = max(sconf['nshl'])
+        if (num_dielec != sconf['configurations']):
+            print("ERROR: declared array of optical constants does not match configurations!")
+            return (None, None)
+        else:
+            if (sconf['idfc'] == 0):
+                sconf['dielec_id'] = [
+                    [ 0 for j in range(max_layers)] for i in range(sconf['configurations'])
+                ]
+                for i in range(sconf['configurations']):
+                    if (len(model['particle_settings']['dielec_id'][i]) != sconf['nshl'][i]):
+                        print("ERROR: Declared materials in type %d do not match number of layers!"%i)
+                        return (None, None)
+                    else:
+                        for j in range(sconf['nshl'][i]):
+                            sconf['dielec_id'][i][j] = float(model['particle_settings']['dielec_id'][i][j])
+        if (model['radiation_settings']['scale_name'] == "XI"):
+            sconf['insn'] = 1
+            sconf['nxi'] = 1 + int((sconf['xi_end'] - sconf['xi_start']) / sconf['xi_step'])
+            sconf['vec_xi'] = [0.0 for i in range(sconf['nxi'])]
+            for i in range(sconf['nxi']):
+                sconf['vec_xi'][i] = sconf['xi_start'] + i * sconf['xi_step']
+            # Set up dielectric constants
+            if (num_dielec != sconf['configurations']):
+                print("ERROR: delcared dielectric constants do not match number of sphere types!")
+                return (None, None)
+            else:
+                if (sconf['idfc'] == -1):
+                    sconf['rdc0'] = [
+                        [
+                            [0.0 for k in range(1)] for j in range(sconf['configurations'])
+                        ] for i in range(max_layers)
+                    ]
+                    sconf['idc0'] = [
+                        [
+                            [0.0 for k in range(1)] for j in range(sconf['configurations'])
+                        ] for i in range(max_layers)
+                    ]
+                    for di in range(max_layers):
+                        for dj in range(sconf['configurations']):
+                            if (len(model['material_settings']['diel_const'][dj]) / 2 != sconf['nshl'][dj]):
+                                print("ERROR: dielectric constants for type %d do not match number of layers!"%(dj + 1))
+                                return (None, None)
+                            else:
+                                sconf['rdc0'][di][dj][0] = float(model['material_settings']['diel_const'][dj][2 * di])
+                                sconf['idc0'][di][dj][0] = float(model['material_settings']['diel_const'][dj][2 * di + 1])
+                else: # sconf[idfc] != -1 and scaling on XI
+                    print("ERROR: for scaling on XI, optical constants must be defined!")
+                    return (None, None)
+        elif (model['radiation_settings']['scale_name'] == "WAVELENGTH"):
+            sconf['insn'] = 3
+            if (model['material_settings']['match_mode'] == "INTERPOLATE"):
+                sconf['nxi'] = 1 + int((sconf['xi_end'] - sconf['xi_start']) / sconf['xi_step'])
+                sconf['vec_xi'] = [0.0 for i in range(sconf['nxi'])]
+                for i in range(sconf['nxi']):
+                    sconf['vec_xi'][i] = sconf['xi_start'] + i * sconf['xi_step']
+                # Set up the dielectric constants
+                if (sconf['idfc'] == 0):
+                    sconf['rdc0'] = [
+                        [
+                            [0.0 for k in range(sconf['nxi'])] for j in range(sconf['configurations'])
+                        ] for i in range(max_layers)
+                    ]
+                    sconf['idc0'] = [
+                        [
+                            [0.0 for k in range(sconf['nxi'])] for j in range(sconf['configurations'])
+                        ] for i in range(max_layers)
+                    ]
+                    interpolate_constants(sconf)
+                else: # sconf[idfc] != 0 and scaling on wavelength
+                    print("ERROR: for wavelength scaling, optical constants must be tabulated!")
+                    return (None, None)
+            elif (model['material_settings']['match_mode'] == "GRID"):
+                match_grid(sconf)
+            else:
+                print("ERROR: %s is not a recognized match mode!"%(model['material_settings']['match_mode']))
+                return (None, None)
+        else:
+            print("ERROR: %s is not a supported scaling mode!"%(model['radiation_settings']['scale_name']))
+            return (None, None)
+        sph_types = model['particle_settings']['sph_types']
+        if (len(sph_types) != sconf['nsph']):
+            print("ERROR: vector of sphere types does not match the declared number of spheres!")
+            return (None, None)
+        else:
+            sconf['vec_types'] = [int(str_typ) for str_typ in sph_types]
+        if (len(model['particle_settings']['radii']) != sconf['configurations']):
+            print("ERROR: Declared number of radii does not match number of types!")
+            return (None, None)
+        else:
+            sconf['ros'] = [0.0 for i in range(sconf['configurations'])]
+            for i in range(sconf['configurations']):
+                sconf['ros'][i] = float(model['particle_settings']['radii'][i])
+        if (len(model['particle_settings']['rad_frac']) != sconf['configurations']):
+            print("ERROR: Declared number of fractional radii does not match number of types!")
+            return (None, None)
+        else:
+            sconf['rcf'] = [
+                [0.0 for j in range(max_layers)] for i in range(sconf['configurations'])
+            ]
+            for i in range(sconf['configurations']):
+                if (len(model['particle_settings']['rad_frac'][i]) != sconf['nshl'][i]):
+                    print("ERROR: Declared transition radii in type %d do not match number of layers!"%i)
+                    return (None, None)
+                else:
+                    for j in range(sconf['nshl'][i]):
+                        sconf['rcf'][i][j] = float(model['particle_settings']['rad_frac'][i][j])
+        # Create the gconf dict
+        str_polar = model['radiation_settings']['polarization']
+        if (str_polar not in ["LINEAR", "CIRCULAR"]):
+            print("ERROR: %s is not a recognized polarization state."%str_polar)
+            return (None, None)
+        gconf = {
+            'out_file': PurePath(
+                model['input_settings']['input_folder'],
+                model['input_settings']['geometry_file']
+            )
+        }
+        gconf['nsph'] = sconf['nsph']
+        gconf['application'] = model['particle_settings']['application']
+        gconf['li'] = int(model['geometry_settings']['li'])
+        gconf['le'] = int(
+            gconf['li'] if gconf['application'] == "SPHERE" else model['geometry_settings']['le']
+        )
+        gconf['inpol'] = 0 if str_polar == "LINEAR" else 1
+        gconf['npnt'] = int(model['geometry_settings']['npnt'])
+        gconf['npntts'] = int(model['geometry_settings']['npntts'])
+        if (gconf['application'] != "SPHERE"):
+            gconf['iavm'] = int(model['geometry_settings']['iavm'])
+        gconf['isam'] = int(model['geometry_settings']['isam'])
+        gconf['jwtm'] = int(model['output_settings']['jwtm'])
+        gconf['th'] = float(model['geometry_settings']['in_th_start'])
+        gconf['thstp'] = float(model['geometry_settings']['in_th_step'])
+        gconf['thlst'] = float(model['geometry_settings']['in_th_end'])
+        gconf['ph'] = float(model['geometry_settings']['in_ph_start'])
+        gconf['phstp'] = float(model['geometry_settings']['in_ph_step'])
+        gconf['phlst'] = float(model['geometry_settings']['in_ph_end'])
+        gconf['ths'] = float(model['geometry_settings']['sc_th_start'])
+        gconf['thsstp'] = float(model['geometry_settings']['sc_th_step'])
+        gconf['thslst'] = float(model['geometry_settings']['sc_th_end'])
+        gconf['phs'] = float(model['geometry_settings']['sc_ph_start'])
+        gconf['phsstp'] = float(model['geometry_settings']['sc_ph_step'])
+        gconf['phslst'] = float(model['geometry_settings']['sc_ph_end'])
+        gconf['vec_sph_x'] = [0.0 for i in range(gconf['nsph'])]
+        gconf['vec_sph_y'] = [0.0 for i in range(gconf['nsph'])]
+        gconf['vec_sph_z'] = [0.0 for i in range(gconf['nsph'])]
+        if (gconf['application'] != "SPHERE" or gconf['nsph'] != 1):
+            # TODO: put here a test to allow for empty vectors in case of random generation
+            if (len(model['geometry_settings']['x_coords']) != gconf['nsph']):
+                print("ERROR: X coordinates do not match the number of spheres!")
+                return (None, None)
+            if (len(model['geometry_settings']['y_coords']) != gconf['nsph']):
+                print("ERROR: Y coordinates do not match the number of spheres!")
+                return (None, None)
+            if (len(model['geometry_settings']['z_coords']) != gconf['nsph']):
+                print("ERROR: Z coordinates do not match the number of spheres!")
+                return (None, None)
+            for si in range(gconf['nsph']):
+                gconf['vec_sph_x'][si] = float(model['geometry_settings']['x_coords'][si])
+                gconf['vec_sph_y'][si] = float(model['geometry_settings']['y_coords'][si])
+                gconf['vec_sph_z'][si] = float(model['geometry_settings']['z_coords'][si])
+    else: # model is None
+        print("ERROR: could not parse " + model_file + "!")
+    return (sconf, gconf)
+
+## \brief Populate the dielectric constant data matching a grid.
+#
+#  Important note: if the configuration requests that more than one
+#  optical constants file should be used, all the files must provide
+#  their constants for the same vector of wavelengths.
+#
+#  \param sconf: `dict` Scatterer configuration dictionary.
+#  \return result: `int` An exit code (0 if successful).
+def match_grid(sconf):
+    result = 0
+    max_layers = 0
+    nxi = 0
+    sconf['vec_xi'] = []
+    for i in range(sconf['configurations']):
+        for j in range(sconf['nshl'][i]):
+            file_idx = sconf['dielec_id'][i][j]
+            dielec_path = PurePath(sconf['dielec_path'], sconf['dielec_file'][int(file_idx) - 1])
+            file_name = str(dielec_path)
+            dielec_file = open(file_name, 'r')
+            wavelengths = []
+            rpart = []
+            ipart = []
+            str_line = dielec_file.readline()
+            while (str_line != ""):
+                if (not str_line.startswith('#')):
+                    split_line = str_line.split(',')
+                    if (len(split_line) == 3):
+                        wavelengths.append(float(split_line[0]))
+                        rpart.append(float(split_line[1]))
+                        ipart.append(float(split_line[2]))
+                str_line = dielec_file.readline()
+            dielec_file.close()
+            if (max_layers == 0):
+                # This is executed only once
+                max_layers = max(sconf['nshl'])
+                w_start = sconf['xi_start']
+                w_end = sconf['xi_end']
+                for wi in range(len(wavelengths)):
+                    w = wavelengths[wi]
+                    if (w >= w_start and w <= w_end):
+                        sconf['vec_xi'].append(w)
+                        nxi += 1
+                sconf['rdc0'] = [
+                    [
+                        [
+                            0.0 for dk in range(nxi)
+                        ] for dj in range(sconf['configurations'])
+                    ] for di in range(max_layers)
+                ]
+                sconf['idc0'] = [
+                    [
+                        [
+                            0.0 for dk in range(nxi)
+                        ] for dj in range(sconf['configurations'])
+                    ] for di in range(max_layers)
+                ]
+                sconf['nxi'] = nxi
+            # This is executed for all layers in all configurations
+            wi = 0
+            x = wavelengths[wi]
+            ry = rpart[wi]
+            iy = ipart[wi]
+            for dci in range(sconf['nxi']):
+                w = sconf['vec_xi'][dci]
+                while (w > x):
+                    x = wavelengths[wi]
+                    ry = rpart[wi]
+                    iy = ipart[wi]
+                    if (wi == len(wavelengths)):
+                        print("ERROR: file %s does not cover requested wavelengths!"%file_name)
+                        return 1
+                    wi += 1
+                sconf['rdc0'][j][i][dci] = ry
+                sconf['idc0'][j][i][dci] = iy
+    return result
+
+## \brief Parse the command line arguments.
+#
+#  The script behaviour can be modified through a set of optional arguments.
+#  The purpose of this function is to parse the command line in search for
+#  such arguments and prepare the execution accordingly.
+#
+#  \returns config: `dict` A dictionary containing the script configuration.
+def parse_arguments():
+    config = {
+        'yml_file_name': "",
+        'help_mode': False,
+    }
+    yml_set = False
+    for arg in argv[1:]:
+        if (arg.startswith("--help")):
+            config['help_mode'] = True
+        elif (not yml_set):
+            if (not arg.startswith("--")):
+                config['yml_file_name'] = arg
+                yml_set = True
+        else:
+            raise Exception("Unrecognized argument \'{0:s}\'".format(arg))
+    return config
+
+## \brief Print a command-line help summary.
+def print_help():
+    print("###############################################")
+    print("#                                             #")
+    print("#           NPtm_code MODEL_MAKER             #")
+    print("#                                             #")
+    print("###############################################")
+    print("                                               ")
+    print("Create input files for FORTRAN and C++ code.   ")
+    print("                                               ")
+    print("Usage: \"./model_maker.py CONFIG [OPTIONS]\"   ")
+    print("                                               ")
+    print("CONFIG must be a valid YAML configuration file.")
+    print("                                               ")
+    print("Valid options are:                             ")
+    print("--help                Print this help and exit.")
+    print("                                               ")
+
+## \brief Write the geometry configuration dictionary to legacy format.
+#
+#  \param conf: `dict` Geometry configuration dictionary.
+#  \return result: `int` An exit code (0 if successful).
+def write_legacy_gconf(conf):
+    result = 0
+    out_file = str(conf['out_file'])
+    nsph = conf['nsph']
+    str_line = "INIT"
+    # Write legacy output
+    output = open(out_file, 'w')
+    if (conf['application'] == "SPHERE"):
+        str_line = " {0:4d} {1:4d} {2:4d} {3:4d} {4:4d} {5:4d}\n".format(
+            nsph, conf['li'], conf['inpol'], conf['npnt'], conf['npntts'], conf['isam']
+        )
+        output.write(str_line)
+    else:
+        mxndm = 2 * nsph * conf['li'] * (conf['li'] + 2)
+        str_line = " {0:4d} {1:4d} {2:4d} {3:4d} {4:4d} {5:4d} {6:4d} {7:4d} {8:4d}\n".format(
+            nsph, conf['li'], conf['le'], mxndm, conf['inpol'],
+            conf['npnt'], conf['npntts'], conf['iavm'], conf['isam']
+        )
+        output.write(str_line)
+        for si in range(nsph):
+            str_line = " {0:15.8E} {1:15.8E} {2:15.8E}\n".format(
+                conf['vec_sph_x'][si], conf['vec_sph_y'][si], conf['vec_sph_z'][si]
+            )
+            output.write(str_line)
+    str_line = " {0:7.2E}  {1:7.2E}  {2:7.2E}  {3:7.2E}  {4:7.2E}  {5:7.2E}\n".format(
+        conf['th'], conf['thstp'], conf['thlst'],
+        conf['ph'], conf['phstp'], conf['phlst']
+    )
+    output.write(str_line)
+    str_line = " {0:7.2E}  {1:7.2E}  {2:7.2E}  {3:7.2E}  {4:7.2E}  {5:7.2E}\n".format(
+        conf['ths'], conf['thsstp'], conf['thslst'],
+        conf['phs'], conf['phsstp'], conf['phslst']
+    )
+    output.write(str_line)
+    str_line = " {0:d}\n0\n".format(conf['jwtm'])
+    output.write(str_line)
+    output.close()
+    return result
+
+## \brief Write the scatterer configuration dictionary to legacy format.
+#
+#  \param conf: `dict` Scatterer configuration dictionary.
+#  \return result: `int` An exit code (0 if successful).
+def write_legacy_sconf(conf):
+    result = 0
+    out_file = str(conf['out_file'])
+    nsph = conf['nsph']
+    ies = conf['ies']
+    exdc = conf['exdc']
+    wp = conf['wp']
+    xip = conf['xip']
+    idfc = conf['idfc']
+    instpc = conf['instpc']
+    xi_flag = 3
+    nxi = conf['nxi']
+    # Write legacy output
+    output = open(out_file, 'w')
+    str_line = " {0:3d}{1:3d}\n".format(nsph, ies)
+    output.write(str_line)
+    str_line = " {0:12.7E} {1:12.7E} {2:12.7E} {3:2d} {4:4d} {5:4d} {6:3d}\n".format(
+        exdc, wp, xip, idfc, nxi, instpc, xi_flag
+    )
+    output.write(str_line)
+    if (instpc == 0):
+        for ixi in range(nxi):
+            str_line = "{0:.3E}\n".format(conf['vec_xi'][ixi])
+            output.write(str_line)
+    else:
+        str_line = "{0:.3E}  {1:.3E}\n".format(conf['xi_start'], conf['xi_step'])
+        output.write(str_line)
+    sphere_count = 0
+    for si in range(nsph):
+        str_line = "{0:5d}".format(conf['vec_types'][si])
+        output.write(str_line)
+        sphere_count += 1
+        if (sphere_count == 16):
+            output.write("\n")
+            sphere_count = 0
+    if (sphere_count != 0):
+        output.write("\n")
+    for ci in range(conf['configurations']):
+        layers = conf['nshl'][ci]
+        if (conf['application'] == "INCLUSION" and ci == 0):
+            layers -= 1
+        str_line = "{0:3d}   {1:15.7E}\n".format(layers, conf['ros'][ci])
+        output.write(str_line)
+        for cj in range(conf['nshl'][ci]):
+            str_line = " {0:.7E}\n".format(conf['rcf'][ci][cj])
+            output.write(str_line)
+    if (conf['application'] != "INCLUSION"):
+        if (conf['idfc'] == 0):
+            # Write all wavelength dependent constants for each layer in each configuration
+            for xi in range(conf['configurations']):
+                for xj in range(conf['nshl'][xi]):
+                    for xk in range(conf['nxi']):
+                        for xii in range(conf['configurations']):
+                            rdc0 = conf['rdc0'][xj][xii][xk]
+                            idc0 = conf['idc0'][xj][xii][xk]
+                            if (rdc0 != 0.0 or idc0 != 0.0):
+                                str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0)
+                                output.write(str_line)
+        elif (conf['idfc'] == -1):
+            # Write reference scale constants for each layer in each configuration
+            for xi in range(conf['configurations']):
+                for xj in range(conf['nshl'][xi]):
+                    rdc0 = conf['rdc0'][xj][xi][0]
+                    idc0 = conf['idc0'][xj][xi][0]
+                    if (rdc0 != 0.0 or idc0 != 0.0):
+                        str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0)
+                        output.write(str_line)
+    else: # specialized output for INCLUSION
+        if (conf['idfc'] == 0):
+            # Write all wavelength dependent constants for each layer in each configuration
+            for xi in range(conf['configurations']):
+                layers = conf['nshl'][xi] - 1
+                for xj in range(layers):
+                    for xk in range(conf['nxi']):
+                        for xii in range(conf['configurations']):
+                            rdc0 = conf['rdc0'][xj][xii][xk]
+                            idc0 = conf['idc0'][xj][xii][xk]
+                            if (rdc0 != 0.0 or idc0 != 0.0):
+                                str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0)
+                                output.write(str_line)
+                            if (xii == conf['configurations'] - 1):
+                                rdc0 = conf['rdc0'][layers][0][xk]
+                                idc0 = conf['idc0'][layers][0][xk]
+                                if (rdc0 != 0.0 or idc0 != 0.0):
+                                    str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0)
+                                    output.write(str_line)
+        elif (conf['idfc'] == -1):
+            # Write reference scale constants for each layer in each configuration
+            for xi in range(conf['configurations']):
+                layers = conf['nshl'][xi] - 1
+                for xj in range(layers):
+                    rdc0 = conf['rdc0'][xj][xi][0]
+                    idc0 = conf['idc0'][xj][xi][0]
+                    if (rdc0 != 0.0 or idc0 != 0.0):
+                        str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0)
+                        output.write(str_line)
+                    if (xi == conf['configurations'] - 1):
+                        rdc0 = conf['rdc0'][layers][0][0]
+                        idc0 = conf['idc0'][layers][0][0]
+                        if (rdc0 != 0.0 or idc0 != 0.0):
+                            str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0)
+                            output.write(str_line)
+    output.write("0\n")
+    output.close()
+    return result
+
+## \brief Exit code (0 for success)
+exit_code = main()
+exit(exit_code)
diff --git a/src/scripts/pycompare.py b/src/scripts/pycompare.py
index d8c7072f233e908517c2222c21a983ee8b460f63..01ea0144260265d0e3f6ac79d430b2dd00520229 100755
--- a/src/scripts/pycompare.py
+++ b/src/scripts/pycompare.py
@@ -16,7 +16,7 @@
 #   this program in the COPYING file. If not, see: <https://www.gnu.org/licenses/>.
 
 ## @package pycompare
-#  \brief Script to perform output consistency tests
+#  \brief Script to perform output consistency tests.
 #
 #  Comparing the numeric output can be rendered hard by the amount of information
 #  contained in a typical output file and the necessity to determine whether a
diff --git a/test_data/cluster/config_dev.yml b/test_data/cluster/config_dev.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5a9fd27de76b94b81cc2d43522f82c8deaa39a7f
--- /dev/null
+++ b/test_data/cluster/config_dev.yml
@@ -0,0 +1,146 @@
+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 : "."
+  # Name of the scatterer description file
+  spheres_file : "DEDFB"
+  # Name of the geometry description file
+  geometry_file: "DCLU"
+  
+output_settings:
+  # Folder for the code output storage
+  output_folder: "test_subdir"
+  # Name of the main output file
+  output_name  : "c_OCLU"
+  # 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 : "CLUSTER"
+  # Number of spheres
+  n_spheres   : 4
+  # Number of sphere types
+  n_types     : 4
+  # Vector of sphere type identifiers (what type is each sphere)
+  sph_types   : [ 1, 2, 3, 4 ]
+  # Vector of layers in types (how many layers in each type)
+  n_layers    : [ 1, 1, 1, 1 ]
+  # Spherical monomer radii in m (one size for each type)
+  radii       : [ 5.0e-8, 4.0e-8, 7.5e-8, 3.0e-8 ]
+  # Layer fractional radii (one per layer in each type)
+  rad_frac    : [ [ 1.0 ], [ 1.0 ], [ 1.0 ], [ 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 ], [ 1 ], [ 1 ], [ 1 ] ]
+
+material_settings:
+  diel_flag   : -1
+  # External medium dielectric constant
+  extern_diel : 2.3104e0
+  # Dielectric constant files folder
+  dielec_path : "."
+  # List of dielectric constant files (used if diel_flag = 0)
+  dielec_file : [ ]
+  # 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"
+  # Reference dielectric constants (used if diel_flag = -1)
+  #
+  # One real and one imaginary part for each layer in each type.
+  diel_const  : [
+    [ 3.25e00, 0.00e00 ],
+    [ 3.25e00, 0.00e00 ],
+    [ 3.25e00, 0.00e00 ],
+    [ 3.25e00, 0.00e00 ]
+    ]
+
+radiation_settings:
+  # Radiation field polarization (LINEAR | CIRCULAR)
+  polarization: "LINEAR"
+  # First scale to be used
+  scale_start : 1.0e00
+  # Last scale to be used
+  scale_end   : 2.0e00
+  # Calculation step (overridden if `match_mode` is GRID)
+  scale_step  : 1.0e00
+  # Peak Omega
+  wp          : 1.372e15
+  # Peak scale
+  xip         : 1.0e00
+  # Define scale explicitly (0) or in equal steps (1)
+  step_flag   : 0
+  # Type of scaling variable
+  scale_name  : "XI"
+
+geometry_settings:
+  # Maximum internal field expansion
+  li          : 8
+  # Maximum external field expansion (not used by SPHERE)
+  le          : 8
+  # 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 : 79.0
+  # Incidence azimuth angle incremental step
+  in_th_step  : 10.0
+  # Ending incidence azimuth angle
+  in_th_end   : 89.0
+  # Starting incidence elevation angle
+  in_ph_start : 0.0
+  # Incidence elevation angle incremental step
+  in_ph_step  : 10.0
+  # Ending incidence elevation angle
+  in_ph_end   : 10.0
+  # Starting scattered azimuth angle
+  sc_th_start : 34.0
+  # Scattered azimuth angle incremental step
+  sc_th_step  : 15.0
+  # Ending scattered azimuth angle
+  sc_th_end   : 49.0
+  # Starting scattered elevation angle
+  sc_ph_start : 5.0
+  # Scattered elevation angle incremental step
+  sc_ph_step  : 5.0
+  # Ending scattered elevation angle
+  sc_ph_end   : 10.0
+  # Vector of sphere X coordinates (one per sphere or empty for random)
+  x_coords    : [
+    0.00e00,
+    0.00e00,
+    1.18882e-07,
+    -5.656855e-08,
+    ]
+  # Vector of sphere Y coordinates (one per sphere or empty for random)
+  y_coords    : [
+    3.00e-08,
+    3.00e-08,
+    3.00e-08,
+    -2.656855e-08
+    ]
+  # Vector of sphere Z coordinates (one per sphere or empty for random)
+  z_coords    : [
+    0.00e00,
+    9.00e-08,
+    3.8627e-08,
+    0.00e00
+    ]
diff --git a/test_data/config_example.yml b/test_data/config_example.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7a9553c4ed41efd52f31984c5afcfdd81ceb09fc
--- /dev/null
+++ b/test_data/config_example.yml
@@ -0,0 +1,146 @@
+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: "DCLU"
+  
+output_settings:
+  # Folder for the code output storage
+  output_folder: "test_subdir"
+  # Name of the main output file
+  output_name  : "c_OCLU"
+  # 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 : "CLUSTER"
+  # Number of spheres
+  n_spheres   : 4
+  # Number of sphere types
+  n_types     : 4
+  # Vector of sphere type identifiers (what type is each sphere)
+  sph_types   : [ 1, 2, 3, 4 ]
+  # Vector of layers in types (how many layers in each type)
+  n_layers    : [ 1, 1, 1, 1 ]
+  # Spherical monomer radii in m (one size for each type)
+  radii       : [ 5.0e-8, 4.0e-8, 7.5e-8, 3.0e-8 ]
+  # Layer fractional radii (one per layer in each type)
+  rad_frac    : [ [ 1.0 ], [ 1.0 ], [ 1.0 ], [ 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 ], [ 1 ], [ 1 ], [ 1 ] ]
+
+material_settings:
+  diel_flag   : -1
+  # External medium dielectric constant
+  extern_diel : 2.3104e0
+  # Dielectric constant files folder
+  dielec_path : "."
+  # List of dielectric constant files (used if diel_flag = 0)
+  dielec_file : [ ]
+  # 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"
+  # Reference dielectric constants (used if diel_flag = -1)
+  #
+  # One real and one imaginary part for each layer in each type.
+  diel_const  : [
+    [ 3.25e00, 0.00e00 ],
+    [ 3.25e00, 0.00e00 ],
+    [ 3.25e00, 0.00e00 ],
+    [ 3.25e00, 0.00e00 ]
+    ]
+
+radiation_settings:
+  # Radiation field polarization (LINEAR | CIRCULAR)
+  polarization: "LINEAR"
+  # First scale to be used
+  scale_start : 1.0e00
+  # Last scale to be used
+  scale_end   : 2.0e00
+  # Calculation step (overridden if `match_mode` is GRID)
+  scale_step  : 1.0e00
+  # Peak Omega
+  wp          : 1.372e15
+  # Peak scale
+  xip         : 1.0e00
+  # Define scale explicitly (0) or in equal steps (1)
+  step_flag   : 0
+  # Type of scaling variable
+  scale_name  : "XI"
+
+geometry_settings:
+  # Maximum internal field expansion
+  li          : 8
+  # Maximum external field expansion (not used by SPHERE)
+  le          : 8
+  # 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 : 79.0
+  # Incidence azimuth angle incremental step
+  in_th_step  : 10.0
+  # Ending incidence azimuth angle
+  in_th_end   : 89.0
+  # Starting incidence elevation angle
+  in_ph_start : 0.0
+  # Incidence elevation angle incremental step
+  in_ph_step  : 10.0
+  # Ending incidence elevation angle
+  in_ph_end   : 10.0
+  # Starting scattered azimuth angle
+  sc_th_start : 34.0
+  # Scattered azimuth angle incremental step
+  sc_th_step  : 15.0
+  # Ending scattered azimuth angle
+  sc_th_end   : 49.0
+  # Starting scattered elevation angle
+  sc_ph_start : 5.0
+  # Scattered elevation angle incremental step
+  sc_ph_step  : 5.0
+  # Ending scattered elevation angle
+  sc_ph_end   : 10.0
+  # Vector of sphere X coordinates (one per sphere or empty for random)
+  x_coords    : [
+    0.00e00,
+    0.00e00,
+    1.18882e-07,
+    -5.656855e-08,
+    ]
+  # Vector of sphere Y coordinates (one per sphere or empty for random)
+  y_coords    : [
+    3.00e-08,
+    3.00e-08,
+    3.00e-08,
+    -2.656855e-08
+    ]
+  # Vector of sphere Z coordinates (one per sphere or empty for random)
+  z_coords    : [
+    0.00e00,
+    9.00e-08,
+    3.8627e-08,
+    0.00e00
+    ]
diff --git a/test_data/inclusion/config_dev.yml b/test_data/inclusion/config_dev.yml
new file mode 100644
index 0000000000000000000000000000000000000000..be08846dea120b2f68f6a068f3608a79f10a90a4
--- /dev/null
+++ b/test_data/inclusion/config_dev.yml
@@ -0,0 +1,135 @@
+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 : "."
+  # Name of the scatterer description file
+  spheres_file : "DEDFB"
+  # Name of the geometry description file
+  geometry_file: "DINCLU"
+  
+output_settings:
+  # Folder for the code output storage
+  output_folder: "."
+  # Name of the main output file
+  output_name  : "c_OINCLU"
+  # Requested output formats
+  formats      : [ "LEGACY", "HDF5" ]
+  # Index of the scale for transition matrix output
+  jwtm         : 2
+
+particle_settings:
+  # What application to use (SPHERE | CLUSTER | INCLUSION)
+  application : "INCLUSION"
+  # Number of spheres
+  n_spheres   : 2
+  # Number of sphere types
+  n_types     : 2
+  # Vector of sphere type identifiers (what type is each sphere)
+  sph_types   : [ 1, 2 ]
+  # Vector of layers in types (how many layers in each type)
+  n_layers    : [ 1, 1 ]
+  # Spherical monomer radii in m (one size for each type)
+  radii       : [ 2.0e-8, 2.0e-8 ]
+  # Layer fractional radii (one per layer in each type)
+  rad_frac    : [ [ 1.0, 3.0 ], [ 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, 3 ], [ 2 ] ]
+
+material_settings:
+  diel_flag   : 0
+  # External medium dielectric constant
+  extern_diel : 1.0e+00
+  # Dielectric constant files folder
+  dielec_path : "../../test_data/inclusion"
+  # List of dielectric constant files (used if diel_flag = 0)
+  dielec_file : [ "eps_sp1.csv", "eps_sp2.csv", "eps_spe.csv" ]
+  # 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"
+  # Reference dielectric constants (used if diel_flag = -1)
+  #
+  # One real and one imaginary part for each layer in each type.
+  diel_const  : [ ]
+
+radiation_settings:
+  # Radiation field polarization (LINEAR | CIRCULAR)
+  polarization: "LINEAR"
+  # First scale to be used
+  scale_start : 1.0e-07
+  # Last scale to be used
+  scale_end   : 1.5e-07
+  # Calculation step (overridden if `match_mode` is GRID)
+  scale_step  : 5.0e-08
+  # Peak Omega
+  wp          : 3.00e+08
+  # Peak scale
+  xip         : 1.00e+00
+  # Define scale explicitly (0) or in equal steps (1)
+  step_flag   : 0
+  # Type of scaling variable
+  scale_name  : "WAVELENGTH"
+
+geometry_settings:
+  # Maximum internal field expansion
+  li          : 3
+  # Maximum external field expansion (not used by SPHERE)
+  le          : 3
+  # 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)
+  x_coords    : [
+    2.10e-08,
+    -2.10e-08
+    ]
+  # Vector of sphere Y coordinates (one per sphere)
+  y_coords    : [
+    0.00e+00,
+    0.00e+00
+    ]
+  # Vector of sphere Z coordinates (one per sphere)
+  z_coords    : [
+    0.00e+00,
+    0.00e+00
+    ]
diff --git a/test_data/inclusion/eps_sp1.csv b/test_data/inclusion/eps_sp1.csv
new file mode 100644
index 0000000000000000000000000000000000000000..9c6fb94a9ad6d8ed3b40dac6cf101e7b139cb1e1
--- /dev/null
+++ b/test_data/inclusion/eps_sp1.csv
@@ -0,0 +1,7 @@
+# Dielectric constants of SPHERE 1 for INCLUSION
+#
+# Wavelengths are in meters.
+#
+#Wavelength,Re(EPS),Im(EPS)
+1.0000000e-07,2.560000e00,0.000000e-01
+1.5000000e-07,4.000000e00,0.000000e-01
diff --git a/test_data/inclusion/eps_sp2.csv b/test_data/inclusion/eps_sp2.csv
new file mode 100644
index 0000000000000000000000000000000000000000..348a540efa3fbc7fe76a8b5ca18aaa32af6cb13d
--- /dev/null
+++ b/test_data/inclusion/eps_sp2.csv
@@ -0,0 +1,7 @@
+# Dielectric constants of SPHERE 2 for INCLUSION
+#
+# Wavelengths are in meters.
+#
+#Wavelength,Re(EPS),Im(EPS)
+1.0000000e-07,1.690000e00,0.000000e-01
+1.5000000e-07,2.000000e00,0.000000e-01
diff --git a/test_data/inclusion/eps_spe.csv b/test_data/inclusion/eps_spe.csv
new file mode 100644
index 0000000000000000000000000000000000000000..6218cb420bfc6a2ccf49bac1952745d6212c707a
--- /dev/null
+++ b/test_data/inclusion/eps_spe.csv
@@ -0,0 +1,7 @@
+# Dielectric constants of EXTERNAL SPHERE for INCLUSION
+#
+# Wavelengths are in meters.
+#
+#Wavelength,Re(EPS),Im(EPS)
+1.0000000e-07,2.000000e00,0.010000e-01
+1.5000000e-07,3.200000e00,0.030000e-01
diff --git a/test_data/sphere/config_dev.yml b/test_data/sphere/config_dev.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ac2d0e569d393da9238bee1562ef9f60964551ec
--- /dev/null
+++ b/test_data/sphere/config_dev.yml
@@ -0,0 +1,126 @@
+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 : "."
+  # 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: "."
+  # 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       : [ 4.0e-8 ]
+  # Layer fractional radii (one per layer in each type)
+  rad_frac    : [ [ 0.75, 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   : [ ]
+
+material_settings:
+  diel_flag   : -1
+  # External medium dielectric constant
+  extern_diel : 1.7689e+00
+  # Dielectric constant files folder
+  dielec_path : "."
+  # List of dielectric constant files (used if diel_flag = 0)
+  dielec_file : [ ]
+  # 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"
+  # Reference dielectric constants (used if diel_flag = -1)
+  #
+  # One real and one imaginary part for each layer in each type.
+  diel_const  : [
+    [ 2.25e00, 2.56e-03, 2.25e00, 2.56e-03 ]
+    ]
+
+radiation_settings:
+  # Radiation field polarization (LINEAR | CIRCULAR)
+  polarization: "LINEAR"
+  # First scale to be used
+  scale_start : 1.0e+00
+  # Last scale to be used
+  scale_end   : 2.0e+00
+  # Calculation step (overridden if `match_mode` is GRID)
+  scale_step  : 1.0e+00
+  # Peak Omega
+  wp          : 1.7715748e+15
+  # Peak scale
+  xip         : 1.0e+00
+  # Define scale explicitly (0) or in equal steps (1)
+  step_flag   : 0
+  # Type of scaling variable
+  scale_name  : "XI"
+
+geometry_settings:
+  # Maximum internal field expansion
+  li          : 8
+  # Maximum external field expansion (not used by SPHERE)
+  le          : 8
+  # Number of transition layer integration points
+  npnt        : 149
+  # Number of non transition layer integration points
+  npntts      : 300
+  # Meridional plane flag
+  isam        : 0
+  # Starting incidence azimuth angle
+  in_th_start : 79.0
+  # Incidence azimuth angle incremental step
+  in_th_step  : 10.0
+  # Ending incidence azimuth angle
+  in_th_end   : 89.0
+  # Starting incidence elevation angle
+  in_ph_start : 0.0
+  # Incidence elevation angle incremental step
+  in_ph_step  : 10.0
+  # Ending incidence elevation angle
+  in_ph_end   : 10.0
+  # Starting scattered azimuth angle
+  sc_th_start : 34.0
+  # Scattered azimuth angle incremental step
+  sc_th_step  : 15.0
+  # Ending scattered azimuth angle
+  sc_th_end   : 49.0
+  # Starting scattered elevation angle
+  sc_ph_start : 5.0
+  # Scattered elevation angle incremental step
+  sc_ph_step  : 5.0
+  # Ending scattered elevation angle
+  sc_ph_end   : 10.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    : [ ]