diff --git a/discrepancy.py b/discrepancy.py
new file mode 100644
index 0000000000000000000000000000000000000000..2fd8c91daf3591a665149348b372626d1069d1f2
--- /dev/null
+++ b/discrepancy.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Fri May  6 12:42:21 2022
+
+@author: xavier
+"""
+import numpy as np
+import scipy as sp
+from scipy import linalg
+import matplotlib.pyplot as plt
+from matplotlib import rc
+rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb}')
+rc('font',**{'family':'serif','sans-serif':['Times New Roman'],'size':15})
+rc('text', usetex=True)
+#Value for 1 width figure
+H = 3.;
+W = 8.;
+
+#
+# Time domain
+#
+
+"""
+path = "extended_marmousi_data/"
+prename = "paper2_extended_synthetics_data"
+snr_tag = 'snr2'
+Nf = 3
+"""
+
+"""
+path = "concrete3_data/"
+prename = "paper2_concrete3_synthetics_data"
+snr_tag = 'snrm3'
+Nf=9
+"""
+
+path = "cross_data/"
+prename = "cross_synthetics_data"
+snr_tag = 'snr6'
+Nf=7
+
+noise = 0.
+for f in range(0,Nf):
+    tmp = np.loadtxt(path+prename+str(f)+".csv",delimiter=";");
+    tmp_snr = np.loadtxt(path+prename+'_'+snr_tag+'f'+str(f)+".csv",delimiter=";");
+    noise += sp.linalg.norm(tmp-tmp_snr)**2
\ No newline at end of file
diff --git a/error.cpp b/error.cpp
index 87e0ac4531de50019f93909fc20fea5ce2ea6632..903e8b118a738a08211d557d55a0bac6b41223ca 100644
--- a/error.cpp
+++ b/error.cpp
@@ -14,7 +14,7 @@ using namespace gmshfem::post;
 #include "specific/configuration/newConfiguration.h"
 #include "specific/model/parametrization/newParametrization.h"
 
-enum class Error: unsigned int { Abs=0, Sqd=1, SqdInvRoot=2, Rel=3 };
+enum class Error: unsigned int { Abs=0, Sqd=1, SqdInvRoot=2, Rel=3, ExpRel=4 };
 Error to_error(const GmshFem& gmshFem)
 {
   std::string error_buffer;
@@ -24,6 +24,7 @@ Error to_error(const GmshFem& gmshFem)
     else if(error_buffer=="root_mean_squared"){return Error::Sqd;}
     else if(error_buffer=="root_mean_squared_inverse_root"){return Error::SqdInvRoot;}
     else if(error_buffer=="relative_mean"){return Error::Rel;}
+    else if(error_buffer=="exp_relative_mean"){return Error::ExpRel;}
   }
   return Error::Sqd;
 }
@@ -41,9 +42,6 @@ int error(const GmshFem& gmshFem)
 
     ConfigurationInterface* configuration = newConfiguration(name, parametrization, gmshFem);
 
-    double area = integrate(1._d_sf, configuration->model_unknown(Support::BLK),"Gauss0");
-    msg::print << "Model unknown area = " << area << msg::endl;
-
     unsigned int write_error_field = 0;
     gmshFem.userDefinedParameter(write_error_field, "write_error_field");
     std::string inverted_model_path = "";
@@ -62,6 +60,54 @@ int error(const GmshFem& gmshFem)
     {
         throw Exception("An error parameter could not be found");
     }
+
+    std::string mask_type = "none";
+    if(!gmshFem.userDefinedParameter(mask_type, "error_mask_type"))
+    {
+        msg::warning << "Error mask type oculd not be found. No mask is used (default)." << msg::endl;
+    }
+    ScalarFunction<std::complex<double>> mask;
+    if(mask_type == "none")
+    {
+        mask = 1.;
+    }
+    else if(mask_type == "circle")
+    {
+        double r0 = 3.;
+
+        mask = heaviside< std::complex<double> >
+        (
+          r0*r0  - pow(x< std::complex<double> >(),2) - pow(y< std::complex<double> >(),2)
+        );
+    }
+    else if(mask_type == "horizontal")
+    {
+        double y0 = -2.;
+
+        mask = heaviside< std::complex<double> >
+        (
+          y< std::complex<double> >()-y0
+        );
+    }
+    else if(mask_type == "vertical-slice")
+    {
+        double x0 = 0.008;
+        double x1 = 0.017;
+        mask = heaviside< std::complex<double> >
+        (
+          (x< std::complex<double> >()-x0)*(x1-x< std::complex<double> >())
+        );
+    }
+    else
+    {
+        throw Exception("Mask type "+mask_type+" is unknown.");
+    }
+
+    double area = std::real(integrate(mask, configuration->model_unknown(Support::BLK),"Gauss0"));
+    msg::print << "Model mask unknown area = " << area << msg::endl;
+
+
+
     unsigned int list_buf = 0;
     if(!gmshFem.userDefinedParameter(list_buf, "inverted_model_list"))
     {
@@ -69,6 +115,12 @@ int error(const GmshFem& gmshFem)
     }
     bool list = ((bool)list_buf);
 
+    unsigned int skip = 1;
+    if(!gmshFem.userDefinedParameter(skip, "inverted_model_skip"))
+    {
+        msg::warning << "Skip number could not be found. Defautl value (1) is used." << msg::endl;
+    }
+
     std::vector<std::string> filename(n_it+1);
     if(list)
     {
@@ -96,7 +148,7 @@ int error(const GmshFem& gmshFem)
         {
             for (unsigned int n = 0; n <= n_it; n++)
             {
-                filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+std::to_string(n)+inverted_model_suffix;
+                filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+std::to_string(n*skip)+inverted_model_suffix;
             }
         }
         else
@@ -104,7 +156,7 @@ int error(const GmshFem& gmshFem)
             filename[0] = inverted_model_path+inverted_model_name+"_m_initial";
             for (unsigned int n = 1; n <= n_it; n++)
             {
-                filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+"m"+std::to_string(n);
+                filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+"m"+std::to_string(n*skip);
             }
         }
 
@@ -125,30 +177,41 @@ int error(const GmshFem& gmshFem)
             gmsh::model::setCurrent(configuration->model_gmodel());
 
             ScalarFunction<std::complex<double>> error_density;
-
-            std::complex<double> error;
             switch (error_type)
             {
                 case Error::Abs:
                     error_density = abs(configuration->m0()[c]-m);
-                    error = integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area;
                     break;
                 case Error::Rel:
                     error_density = abs( (configuration->m0()[c]-m) / configuration->m0()[c] );
-                    error = integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area;
+                    break;
+                case Error::ExpRel:
+                    error_density = abs( (exp(configuration->m0()[c])-exp(m)) / exp(configuration->m0()[c]) );
                     break;
                 case Error::Sqd:
                     error_density = pow(abs(configuration->m0()[c]-m),2);
-                    error = std::sqrt(integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area);
                     break;
                 case Error::SqdInvRoot:
                     error_density = pow(abs(sqrt(1./configuration->m0()[c])-sqrt(1./m)),2);
-                    error = std::sqrt(integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area);
+                    break;
+            }
+
+            std::complex<double> error;
+            switch (error_type)
+            {
+                case Error::Abs:
+                case Error::Rel:
+                case Error::ExpRel:
+                    error = integrate(mask * error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area;
+                    break;
+                case Error::Sqd:
+                case Error::SqdInvRoot:
+                    error = std::sqrt(integrate(mask * error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area);
                     break;
             }
 
             msg::print << "Inverted model #" << n << " error = " << error << msg::endl;
-            output << error << csv::endl;
+            output << error;
 
             if(write_error_field)
             {
@@ -157,6 +220,7 @@ int error(const GmshFem& gmshFem)
             }
 
         }
+        output << csv::endl;
     }
 
     return 0;
diff --git a/input/paper2/concrete3/error/ssm_lbfgs_ls_error.txt b/input/paper2/concrete3/error/ssm_lbfgs_ls_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..21e0a64de0eb72cd27b79e74d00d0bfebd40cd78
--- /dev/null
+++ b/input/paper2/concrete3/error/ssm_lbfgs_ls_error.txt
@@ -0,0 +1,15 @@
+name = ssm_lbfgs_ls_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Paper2/extended/concrete3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm_lbfgs_ls
+inverted_model_prefix = g0s0
+inverted_model_number = 88
+#Output
+write_error_field = 0
diff --git a/input/paper2/concrete3/error/sst_lbfgs_ls_tik1_error.txt b/input/paper2/concrete3/error/sst_lbfgs_ls_tik1_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fa47f99186e181a99b63f5304333d7840831f1bc
--- /dev/null
+++ b/input/paper2/concrete3/error/sst_lbfgs_ls_tik1_error.txt
@@ -0,0 +1,15 @@
+name = sst_lbfgs_ls_tik1_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Paper2/extended/concrete3/SST_LBFGS_LS_TIK/
+inverted_model_name = paper2_concrete3_sst_lbfgs_ls_tik1
+inverted_model_prefix = g0s0
+inverted_model_number = 200
+#Output
+write_error_field = 0
diff --git a/input/paper2/concrete3/error/us_lbfgs_ls_tik1_error.txt b/input/paper2/concrete3/error/us_lbfgs_ls_tik1_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..57cc7f0105a3033d037b8550df2f6dfddd630a9e
--- /dev/null
+++ b/input/paper2/concrete3/error/us_lbfgs_ls_tik1_error.txt
@@ -0,0 +1,15 @@
+name = us_lbfgs_ls_tik1_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Paper2/extended/concrete3/US_LBFGS_LS_TIK/
+inverted_model_name = paper2_concrete3_us_lbfgs_ls_tik1
+inverted_model_prefix = g0s0
+inverted_model_number = 200
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df/df0_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df0_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8904b0b1e83548aa7938efb45c8a5d3f24a3315f
--- /dev/null
+++ b/input/paper3/concrete3/error/df/df0_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = df0_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/
+inverted_model_name = paper2_concrete3_df0_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 200
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df/df1_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df1_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e0dc25c227a8496d1aafeb3b69a4a49a7aea94c
--- /dev/null
+++ b/input/paper3/concrete3/error/df/df1_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = df1_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/
+inverted_model_name = paper2_concrete3_df1_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 193
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df/df2_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df2_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2be2c4f0b402fd556322e42ff4a87eb3bd1595a4
--- /dev/null
+++ b/input/paper3/concrete3/error/df/df2_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = df2_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/
+inverted_model_name = paper2_concrete3_df2_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df/df3_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df3_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..711b9ded8842942c47a096a3ba020a561829e35e
--- /dev/null
+++ b/input/paper3/concrete3/error/df/df3_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = df3_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/
+inverted_model_name = paper2_concrete3_df3_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df/df4_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df4_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9e46c6f3b651ef7a841ad7894b327705c596fe8
--- /dev/null
+++ b/input/paper3/concrete3/error/df/df4_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = df4_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/
+inverted_model_name = paper2_concrete3_df4_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df/df5_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df5_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c4195b5eda3eafece380f4e7409f52d8d71f8737
--- /dev/null
+++ b/input/paper3/concrete3/error/df/df5_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = df5_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/
+inverted_model_name = paper2_concrete3_df5_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/df_tv/df_lbfgs_ls_snrm3_tv_error.txt b/input/paper3/concrete3/error/df_tv/df_lbfgs_ls_snrm3_tv_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..608ea4a5e1507af5e867b60b26cada096df360a5
--- /dev/null
+++ b/input/paper3/concrete3/error/df_tv/df_lbfgs_ls_snrm3_tv_error.txt
@@ -0,0 +1,25 @@
+name = df_lbfgs_ls_snrm3_tv_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS_TV/
+inverted_model_number = 10
+inverted_model_list = 1
+inverted_model_name0 = paper2_concrete3_df_lbfgs_ls_snrm3_tv0_mg0
+inverted_model_name1 = paper2_concrete3_df_lbfgs_ls_snrm3_tv1_mg0
+inverted_model_name2 = paper2_concrete3_df_lbfgs_ls_snrm3_tv2_mg0
+inverted_model_name3 = paper2_concrete3_df_lbfgs_ls_snrm3_tv3_mg0
+inverted_model_name4 = paper2_concrete3_df_lbfgs_ls_snrm3_tv4_mg0
+inverted_model_name5 = paper2_concrete3_df_lbfgs_ls_snrm3_tv5_mg0
+inverted_model_name6 = paper2_concrete3_df_lbfgs_ls_snrm3_tv6_mg0
+inverted_model_name7 = paper2_concrete3_df_lbfgs_ls_snrm3_tv7_mg0
+inverted_model_name8 = paper2_concrete3_df_lbfgs_ls_snrm3_tv8_mg0
+inverted_model_name9 = paper2_concrete3_df_lbfgs_ls_snrm3_tv9_mg0
+inverted_model_name10 = paper2_concrete3_df_lbfgs_ls_snrm3_tv10_mg0
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm/ssm0_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm0_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..098fd2231fe6058107ddee1acecafb449bfd0cdd
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm/ssm0_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = ssm0_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm0_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 151
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm/ssm1_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm1_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7550beb3ee5b25217f5dc8007bf249f1e99a50e4
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm/ssm1_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = ssm1_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm1_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm/ssm2_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm2_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2dd8f5d14b5825099b5d87c94e1f11d6325986c8
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm/ssm2_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = ssm2_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm2_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm/ssm3_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm3_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9adbd99ed758a3be4fdb1816c9efffe24a463308
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm/ssm3_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = ssm3_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm3_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm/ssm4_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm4_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..149e28a8ea41aa6760febf56f2a5650a2b16abdd
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm/ssm4_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = ssm4_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm4_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm/ssm5_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm5_lbfgs_ls_snrm3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8ba0a9959c618d87b0c66e760a0520f221169d70
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm/ssm5_lbfgs_ls_snrm3_error.txt
@@ -0,0 +1,15 @@
+name = ssm5_lbfgs_ls_snrm3_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/
+inverted_model_name = paper2_concrete3_ssm5_lbfgs_ls_snrm3
+inverted_model_prefix = g0s0
+inverted_model_number = 250
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/ssm_tik/ssm_lbfgs_ls_snrm3_tik_error.txt b/input/paper3/concrete3/error/ssm_tik/ssm_lbfgs_ls_snrm3_tik_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f174af78dbd3cd6f65c187736863ae986f2f4db9
--- /dev/null
+++ b/input/paper3/concrete3/error/ssm_tik/ssm_lbfgs_ls_snrm3_tik_error.txt
@@ -0,0 +1,25 @@
+name = ssm_lbfgs_ls_snrm3_tik_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS_TIK/
+inverted_model_number = 10
+inverted_model_list = 1
+inverted_model_name0 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik0_mg0
+inverted_model_name1 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik1_mg0
+inverted_model_name2 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik2_mg0
+inverted_model_name3 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik3_mg0
+inverted_model_name4 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik4_mg0
+inverted_model_name5 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik5_mg0
+inverted_model_name6 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik6_mg0
+inverted_model_name7 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik7_mg0
+inverted_model_name8 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik8_mg0
+inverted_model_name9 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik9_mg0
+inverted_model_name10 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik10_mg0
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/tik/sst_lbfgs_ls_snrm3_tik_error.txt b/input/paper3/concrete3/error/tik/sst_lbfgs_ls_snrm3_tik_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df82d609fcdfb4a89518ecc495b4f22a6c1b37b4
--- /dev/null
+++ b/input/paper3/concrete3/error/tik/sst_lbfgs_ls_snrm3_tik_error.txt
@@ -0,0 +1,22 @@
+name = sst_lbfgs_ls_snrm3_tik_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SST_LBFGS_LS_TIK/
+inverted_model_number = 7
+inverted_model_list = 1
+inverted_model_name0 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik0_mg0
+inverted_model_name1 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik1_mg0
+inverted_model_name2 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik2_mg0
+inverted_model_name3 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik3_mg0
+inverted_model_name4 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik4_mg0
+inverted_model_name5 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik5_mg0
+inverted_model_name6 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik6_mg0
+inverted_model_name7 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik7_mg0
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/error/tv/sst_lbfgs_ls_snrm3_tv_error.txt b/input/paper3/concrete3/error/tv/sst_lbfgs_ls_snrm3_tv_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f1923f7993bdd0db765030dbe514f18e1224da5c
--- /dev/null
+++ b/input/paper3/concrete3/error/tv/sst_lbfgs_ls_snrm3_tv_error.txt
@@ -0,0 +1,22 @@
+name = sst_lbfgs_ls_snrm3_tv_error
+#Configuration
+unknown = all
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2
+#Error
+error_type = exp_relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SST_LBFGS_LS_TV/
+inverted_model_number = 7
+inverted_model_list = 1
+inverted_model_name0 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv0_mg0
+inverted_model_name1 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv1_mg0
+inverted_model_name2 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv2_mg0
+inverted_model_name3 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv3_mg0
+inverted_model_name4 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv4_mg0
+inverted_model_name5 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv5_mg0
+inverted_model_name6 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv6_mg0
+inverted_model_name7 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv7_mg0
+#Output
+write_error_field = 0
diff --git a/input/paper3/concrete3/innerproduct_sst.txt b/input/paper3/concrete3/innerproduct_sst.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4c8fb01e23887d7102fabf719569821311069943
--- /dev/null
+++ b/input/paper3/concrete3/innerproduct_sst.txt
@@ -0,0 +1,8 @@
+#Inner product
+scale0 = 0.0
+innerproduct = sobolev_l2
+innerproduct_weight_bnd = 0.
+innerproduct_diag_preconditioner_smooth = 0
+innerproduct_diag_preconditioner_scale = 0
+innerproduct_preconditioner_ref = 1.2e9
+#ref = precond in at v = 0.3 km/s
diff --git a/input/paper3/concrete3/large_concrete_lns2.csv b/input/paper3/concrete3/large_concrete_lns2.csv
new file mode 100644
index 0000000000000000000000000000000000000000..44e378ff5675f4c0356ca06e222eda291609ef6a
--- /dev/null
+++ b/input/paper3/concrete3/large_concrete_lns2.csv
@@ -0,0 +1,35 @@
+211
+31
+-0.00015 0 0.00015 0.0003 0.00045 0.0006 0.00075 0.0009 0.00105 0.0012 0.00135 0.0015 0.00165 0.0018 0.00195 0.0021 0.00225 0.0024 0.00255 0.0027 0.00285 0.003 0.00315 0.0033 0.00345 0.0036 0.00375 0.0039 0.00405 0.0042 0.00435 0.0045 0.00465 0.0048 0.00495 0.0051 0.00525 0.0054 0.00555 0.0057 0.00585 0.006 0.00615 0.0063 0.00645 0.0066 0.00675 0.0069 0.00705 0.0072 0.00735 0.0075 0.00765 0.0078 0.00795 0.0081 0.00825 0.0084 0.00855 0.0087 0.00885 0.009 0.00915 0.0093 0.00945 0.0096 0.00975 0.0099 0.01005 0.0102 0.01035 0.0105 0.01065 0.0108 0.01095 0.0111 0.01125 0.0114 0.01155 0.0117 0.01185 0.012 0.01215 0.0123 0.01245 0.0126 0.01275 0.0129 0.01305 0.0132 0.01335 0.0135 0.01365 0.0138 0.01395 0.0141 0.01425 0.0144 0.01455 0.0147 0.01485 0.015 0.01515 0.0153 0.01545 0.0156 0.01575 0.0159 0.01605 0.0162 0.01635 0.0165 0.01665 0.0168 0.01695 0.0171 0.01725 0.0174 0.01755 0.0177 0.01785 0.018 0.01815 0.0183 0.01845 0.0186 0.01875 0.0189 0.01905 0.0192 0.01935 0.0195 0.01965 0.0198 0.01995 0.0201 0.02025 0.0204 0.02055 0.0207 0.02085 0.021 0.02115 0.0213 0.02145 0.0216 0.02175 0.0219 0.02205 0.0222 0.02235 0.0225 0.02265 0.0228 0.02295 0.0231 0.02325 0.0234 0.02355 0.0237 0.02385 0.024 0.02415 0.0243 0.02445 0.0246 0.02475 0.0249 0.02505 0.0252 0.02535 0.0255 0.02565 0.0258 0.02595 0.0261 0.02625 0.0264 0.02655 0.0267 0.02685 0.027 0.02715 0.0273 0.02745 0.0276 0.02775 0.0279 0.02805 0.0282 0.02835 0.0285 0.02865 0.0288 0.02895 0.0291 0.02925 0.0294 0.02955 0.0297 0.02985 0.03 0.03015 0.0303 0.03045 0.0306 0.03075 0.0309 0.03105 0.0312 0.03135
+-0.00015 0 0.00015 0.0003 0.00045 0.0006 0.00075 0.0009 0.00105 0.0012 0.00135 0.0015 0.00165 0.0018 0.00195 0.0021 0.00225 0.0024 0.00255 0.0027 0.00285 0.003 0.00315 0.0033 0.00345 0.0036 0.00375 0.0039 0.00405 0.0042 0.00435
+1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863
+1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863
+1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863
+1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863
+1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
+2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079
diff --git a/input/paper3/concrete3/time/initial.txt b/input/paper3/concrete3/time/initial.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7d502229a7d49d02256b407b51a454676a8c9253
--- /dev/null
+++ b/input/paper3/concrete3/time/initial.txt
@@ -0,0 +1,19 @@
+name = timewave_initial
+#Configuration
+unknown = none
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2_initial
+#
+#Wave
+wave_FunctionSpaceDegree = 2
+#Equation
+equation_integration_degree_blk = 6
+equation_integration_degree_bnd = 7
+newmark_beta = 0.25
+newmark_gamma = 0.5
+newmark_dt = 1e-4
+newmark_T = 0.2
+excitation_fm = 150.
+excitation_offset = 0.0075
+#Output
+write_model_field = 1
diff --git a/input/paper3/concrete3/time/inverse.txt b/input/paper3/concrete3/time/inverse.txt
new file mode 100644
index 0000000000000000000000000000000000000000..09e23b67d4ceaafb3b65c40f1abcc0d76c66e9a6
--- /dev/null
+++ b/input/paper3/concrete3/time/inverse.txt
@@ -0,0 +1,19 @@
+name = timewave_inverse
+#Configuration
+unknown = none
+m0_typec0 = file.pos
+m0_pathc0 = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/paper2_concrete3_df4_lbfgs_ls_snrm3g0s0m247
+#
+#Wave
+wave_FunctionSpaceDegree = 2
+#Equation
+equation_integration_degree_blk = 6
+equation_integration_degree_bnd = 7
+newmark_beta = 0.25
+newmark_gamma = 0.5
+newmark_dt = 1e-4
+newmark_T = 0.2
+excitation_fm = 150.
+excitation_offset = 0.0075
+#Output
+write_model_field = 1
diff --git a/input/paper3/concrete3/synthetics.txt b/input/paper3/concrete3/time/synthetics.txt
similarity index 100%
rename from input/paper3/concrete3/synthetics.txt
rename to input/paper3/concrete3/time/synthetics.txt
diff --git a/input/paper3/cross/error/comparison_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/comparison_lbfgs_ls_snr6_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..95fb9c558ad2da901001920c43f63c7ac39f422a
--- /dev/null
+++ b/input/paper3/cross/error/comparison_lbfgs_ls_snr6_error.txt
@@ -0,0 +1,40 @@
+name = comparison_lbfgs_ls_snr6_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+error_mask_type = circle
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/
+inverted_model_number = 3
+inverted_model_list = 1
+inverted_model_name0 = SST_LBFGS_LS_TIK/cross_sst2_lbfgs_ls_snr6_tik22_mg0
+inverted_model_name1 = SST_LBFGS_LS_TV/cross_sst2_lbfgs_ls_snr6_tv24_mg0
+inverted_model_name2 = SSM_LBFGS_LS/cross_ssm1_lbfgs_ls_snr6g0s0m100
+inverted_model_name3 = DF_LBFGS_LS/cross_df2_lbfgs_ls_snr6g0s0m100
+#Output
+write_error_field = 1
diff --git a/input/paper3/cross/error/df/df1_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/df/df1_lbfgs_ls_snr6_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c5b2091409e69d529d3b111eb1f6d23af6696295
--- /dev/null
+++ b/input/paper3/cross/error/df/df1_lbfgs_ls_snr6_error.txt
@@ -0,0 +1,37 @@
+name = df1_lbfgs_ls_snr6_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/
+inverted_model_name = cross_df1_lbfgs_ls_snr6
+inverted_model_prefix = g0s0
+inverted_model_skip = 10
+inverted_model_number = 20
+#Output
+write_error_field = 0
diff --git a/input/paper3/cross/error/df/df2_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/df/df2_lbfgs_ls_snr6_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2d532970e11cd5d008a56bcdd17a2720e5f46a54
--- /dev/null
+++ b/input/paper3/cross/error/df/df2_lbfgs_ls_snr6_error.txt
@@ -0,0 +1,37 @@
+name = df2_lbfgs_ls_snr6_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/
+inverted_model_name = cross_df2_lbfgs_ls_snr6
+inverted_model_prefix = g0s0
+inverted_model_skip = 10
+inverted_model_number = 20
+#Output
+write_error_field = 1
diff --git a/input/paper3/cross/error/ssm/ssm1_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/ssm/ssm1_lbfgs_ls_snr6_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c3987aeac3b0fcdcbcbed33ecb57fb5dca71f44c
--- /dev/null
+++ b/input/paper3/cross/error/ssm/ssm1_lbfgs_ls_snr6_error.txt
@@ -0,0 +1,37 @@
+name = ssm1_lbfgs_ls_snr6_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SSM_LBFGS_LS/
+inverted_model_name = cross_ssm1_lbfgs_ls_snr6
+inverted_model_prefix = g0s0
+inverted_model_skip = 10
+inverted_model_number = 20
+#Output
+write_error_field = 1
diff --git a/input/paper3/cross/error/ssm/ssm2_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/ssm/ssm2_lbfgs_ls_snr6_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f569967b7fed656208a932cd8da40271cdb6a0ff
--- /dev/null
+++ b/input/paper3/cross/error/ssm/ssm2_lbfgs_ls_snr6_error.txt
@@ -0,0 +1,37 @@
+name = ssm2_lbfgs_ls_snr6_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SSM_LBFGS_LS/
+inverted_model_name = cross_ssm2_lbfgs_ls_snr6
+inverted_model_prefix = g0s0
+inverted_model_skip = 10
+inverted_model_number = 20
+#Output
+write_error_field = 0
diff --git a/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik22_error.txt b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik22_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c6f28e2c216f5af050e6dfd411f3e045537d0b17
--- /dev/null
+++ b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik22_error.txt
@@ -0,0 +1,38 @@
+name = sst2_lbfgs_ls_snr6_tik22_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+error_mask_type = circle
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TIK/
+inverted_model_name = cross_sst2_lbfgs_ls_snr6_tik22
+inverted_model_prefix = g0s0
+inverted_model_skip = 10
+inverted_model_number = 20
+#Output
+write_error_field = 0
diff --git a/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik_error.txt b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..08782f7de548072a6aba31928e49988bccee1f8c
--- /dev/null
+++ b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik_error.txt
@@ -0,0 +1,85 @@
+name = sst2_lbfgs_ls_snr6_tik_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+error_mask_type = circle
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TIK/
+inverted_model_number = 48
+inverted_model_list = 1
+inverted_model_name0 = cross_sst2_lbfgs_ls_snr6_tik0_mg0
+inverted_model_name1 = cross_sst2_lbfgs_ls_snr6_tik1_mg0
+inverted_model_name2 = cross_sst2_lbfgs_ls_snr6_tik2_mg0
+inverted_model_name3 = cross_sst2_lbfgs_ls_snr6_tik3_mg0
+inverted_model_name4 = cross_sst2_lbfgs_ls_snr6_tik4_mg0
+inverted_model_name5 = cross_sst2_lbfgs_ls_snr6_tik5_mg0
+inverted_model_name6 = cross_sst2_lbfgs_ls_snr6_tik6_mg0
+inverted_model_name7 = cross_sst2_lbfgs_ls_snr6_tik7_mg0
+inverted_model_name8 = cross_sst2_lbfgs_ls_snr6_tik8_mg0
+inverted_model_name9 = cross_sst2_lbfgs_ls_snr6_tik9_mg0
+inverted_model_name10 = cross_sst2_lbfgs_ls_snr6_tik10_mg0
+inverted_model_name11 = cross_sst2_lbfgs_ls_snr6_tik11_mg0
+inverted_model_name12 = cross_sst2_lbfgs_ls_snr6_tik12_mg0
+inverted_model_name13 = cross_sst2_lbfgs_ls_snr6_tik13_mg0
+inverted_model_name14 = cross_sst2_lbfgs_ls_snr6_tik14_mg0
+inverted_model_name15 = cross_sst2_lbfgs_ls_snr6_tik15_mg0
+inverted_model_name16 = cross_sst2_lbfgs_ls_snr6_tik16_mg0
+inverted_model_name17 = cross_sst2_lbfgs_ls_snr6_tik17_mg0
+inverted_model_name18 = cross_sst2_lbfgs_ls_snr6_tik18_mg0
+inverted_model_name19 = cross_sst2_lbfgs_ls_snr6_tik19_mg0
+inverted_model_name20 = cross_sst2_lbfgs_ls_snr6_tik20_mg0
+inverted_model_name21 = cross_sst2_lbfgs_ls_snr6_tik21_mg0
+inverted_model_name22 = cross_sst2_lbfgs_ls_snr6_tik22_mg0
+inverted_model_name23 = cross_sst2_lbfgs_ls_snr6_tik23_mg0
+inverted_model_name24 = cross_sst2_lbfgs_ls_snr6_tik24_mg0
+inverted_model_name25 = cross_sst2_lbfgs_ls_snr6_tik25_mg0
+inverted_model_name26 = cross_sst2_lbfgs_ls_snr6_tik26_mg0
+inverted_model_name27 = cross_sst2_lbfgs_ls_snr6_tik27_mg0
+inverted_model_name28 = cross_sst2_lbfgs_ls_snr6_tik28_mg0
+inverted_model_name29 = cross_sst2_lbfgs_ls_snr6_tik29_mg0
+inverted_model_name30 = cross_sst2_lbfgs_ls_snr6_tik30_mg0
+inverted_model_name31 = cross_sst2_lbfgs_ls_snr6_tik31_mg0
+inverted_model_name32 = cross_sst2_lbfgs_ls_snr6_tik32_mg0
+inverted_model_name33 = cross_sst2_lbfgs_ls_snr6_tik33_mg0
+inverted_model_name34 = cross_sst2_lbfgs_ls_snr6_tik34_mg0
+inverted_model_name35 = cross_sst2_lbfgs_ls_snr6_tik35_mg0
+inverted_model_name36 = cross_sst2_lbfgs_ls_snr6_tik36_mg0
+inverted_model_name37 = cross_sst2_lbfgs_ls_snr6_tik37_mg0
+inverted_model_name38 = cross_sst2_lbfgs_ls_snr6_tik38_mg0
+inverted_model_name39 = cross_sst2_lbfgs_ls_snr6_tik39_mg0
+inverted_model_name40 = cross_sst2_lbfgs_ls_snr6_tik40_mg0
+inverted_model_name41 = cross_sst2_lbfgs_ls_snr6_tik41_mg0
+inverted_model_name42 = cross_sst2_lbfgs_ls_snr6_tik42_mg0
+inverted_model_name43 = cross_sst2_lbfgs_ls_snr6_tik43_mg0
+inverted_model_name44 = cross_sst2_lbfgs_ls_snr6_tik44_mg0
+inverted_model_name45 = cross_sst2_lbfgs_ls_snr6_tik45_mg0
+inverted_model_name46 = cross_sst2_lbfgs_ls_snr6_tik46_mg0
+inverted_model_name47 = cross_sst2_lbfgs_ls_snr6_tik47_mg0
+inverted_model_name48 = cross_sst2_lbfgs_ls_snr6_tik48_mg0
+#Output
+write_error_field = 1
diff --git a/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv24_error.txt b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv24_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c2499f2dadb3325a27f3b078736a66f443fd14ec
--- /dev/null
+++ b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv24_error.txt
@@ -0,0 +1,38 @@
+name = sst2_lbfgs_ls_snr6_tv24_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+error_mask_type = circle
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TV/
+inverted_model_name = cross_sst2_lbfgs_ls_snr6_tv24
+inverted_model_prefix = g0s0
+inverted_model_skip = 10
+inverted_model_number = 20
+#Output
+write_error_field = 0
diff --git a/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv_error.txt b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f1ae69aa001eab2d06bb5837ab11cfec3972f8b0
--- /dev/null
+++ b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv_error.txt
@@ -0,0 +1,85 @@
+name = sst2_lbfgs_ls_snr6_tv_error
+#Configuration
+unknown = all
+#
+inclusion_ni = 2
+inclusion_filled = 1
+#Inclusion 0
+inclusion0 = cross
+inclusion_x0i0 = -1.
+inclusion_y0i0 = -1.
+inclusion_ri0 = 1.0
+Re(mi0c0) = 0.
+Im(mi0c0) = 0.
+Re(mi0c1) = -4.02
+Im(mi0c1) = 0.
+#Inclusion 1
+inclusion1 = cross
+inclusion_x0i1 = 1.25
+inclusion_y0i1 = 1.25
+inclusion_ri1 = 1.0
+Re(mi1c0) = 2.08
+Im(mi1c0) = 0.
+Re(mi1c1) = 0.59
+Im(mi1c1) = 0.
+#
+#Error
+error_type = exp_relative_mean
+error_mask = 1
+error_mask_type = circle
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TV/
+inverted_model_number = 48
+inverted_model_list = 1
+inverted_model_name0 = cross_sst2_lbfgs_ls_snr6_tv0_mg0
+inverted_model_name1 = cross_sst2_lbfgs_ls_snr6_tv1_mg0
+inverted_model_name2 = cross_sst2_lbfgs_ls_snr6_tv2_mg0
+inverted_model_name3 = cross_sst2_lbfgs_ls_snr6_tv3_mg0
+inverted_model_name4 = cross_sst2_lbfgs_ls_snr6_tv4_mg0
+inverted_model_name5 = cross_sst2_lbfgs_ls_snr6_tv5_mg0
+inverted_model_name6 = cross_sst2_lbfgs_ls_snr6_tv6_mg0
+inverted_model_name7 = cross_sst2_lbfgs_ls_snr6_tv7_mg0
+inverted_model_name8 = cross_sst2_lbfgs_ls_snr6_tv8_mg0
+inverted_model_name9 = cross_sst2_lbfgs_ls_snr6_tv9_mg0
+inverted_model_name10 = cross_sst2_lbfgs_ls_snr6_tv10_mg0
+inverted_model_name11 = cross_sst2_lbfgs_ls_snr6_tv11_mg0
+inverted_model_name12 = cross_sst2_lbfgs_ls_snr6_tv12_mg0
+inverted_model_name13 = cross_sst2_lbfgs_ls_snr6_tv13_mg0
+inverted_model_name14 = cross_sst2_lbfgs_ls_snr6_tv14_mg0
+inverted_model_name15 = cross_sst2_lbfgs_ls_snr6_tv15_mg0
+inverted_model_name16 = cross_sst2_lbfgs_ls_snr6_tv16_mg0
+inverted_model_name17 = cross_sst2_lbfgs_ls_snr6_tv17_mg0
+inverted_model_name18 = cross_sst2_lbfgs_ls_snr6_tv18_mg0
+inverted_model_name19 = cross_sst2_lbfgs_ls_snr6_tv19_mg0
+inverted_model_name20 = cross_sst2_lbfgs_ls_snr6_tv20_mg0
+inverted_model_name21 = cross_sst2_lbfgs_ls_snr6_tv21_mg0
+inverted_model_name22 = cross_sst2_lbfgs_ls_snr6_tv22_mg0
+inverted_model_name23 = cross_sst2_lbfgs_ls_snr6_tv23_mg0
+inverted_model_name24 = cross_sst2_lbfgs_ls_snr6_tv24_mg0
+inverted_model_name25 = cross_sst2_lbfgs_ls_snr6_tv25_mg0
+inverted_model_name26 = cross_sst2_lbfgs_ls_snr6_tv26_mg0
+inverted_model_name27 = cross_sst2_lbfgs_ls_snr6_tv27_mg0
+inverted_model_name28 = cross_sst2_lbfgs_ls_snr6_tv28_mg0
+inverted_model_name29 = cross_sst2_lbfgs_ls_snr6_tv29_mg0
+inverted_model_name30 = cross_sst2_lbfgs_ls_snr6_tv30_mg0
+inverted_model_name31 = cross_sst2_lbfgs_ls_snr6_tv31_mg0
+inverted_model_name32 = cross_sst2_lbfgs_ls_snr6_tv32_mg0
+inverted_model_name33 = cross_sst2_lbfgs_ls_snr6_tv33_mg0
+inverted_model_name34 = cross_sst2_lbfgs_ls_snr6_tv34_mg0
+inverted_model_name35 = cross_sst2_lbfgs_ls_snr6_tv35_mg0
+inverted_model_name36 = cross_sst2_lbfgs_ls_snr6_tv36_mg0
+inverted_model_name37 = cross_sst2_lbfgs_ls_snr6_tv37_mg0
+inverted_model_name38 = cross_sst2_lbfgs_ls_snr6_tv38_mg0
+inverted_model_name39 = cross_sst2_lbfgs_ls_snr6_tv39_mg0
+inverted_model_name40 = cross_sst2_lbfgs_ls_snr6_tv40_mg0
+inverted_model_name41 = cross_sst2_lbfgs_ls_snr6_tv41_mg0
+inverted_model_name42 = cross_sst2_lbfgs_ls_snr6_tv42_mg0
+inverted_model_name43 = cross_sst2_lbfgs_ls_snr6_tv43_mg0
+inverted_model_name44 = cross_sst2_lbfgs_ls_snr6_tv44_mg0
+inverted_model_name45 = cross_sst2_lbfgs_ls_snr6_tv45_mg0
+inverted_model_name46 = cross_sst2_lbfgs_ls_snr6_tv46_mg0
+inverted_model_name47 = cross_sst2_lbfgs_ls_snr6_tv47_mg0
+inverted_model_name48 = cross_sst2_lbfgs_ls_snr6_tv48_mg0
+#Output
+write_error_field = 1
diff --git a/input/paper3/cross/time/initial.txt b/input/paper3/cross/time/initial.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1e032246b5f8d50aa2aa338efe735f76bfa6ba1e
--- /dev/null
+++ b/input/paper3/cross/time/initial.txt
@@ -0,0 +1,17 @@
+name = timewave_initial
+#Configuration
+unknown = none
+#
+#Wave
+wave_FunctionSpaceDegree = 3
+#Equation
+equation_integration_degree_blk = 8
+equation_integration_degree_bnd = 9
+newmark_beta = 0.25
+newmark_gamma = 0.5
+newmark_dt = 1e-2
+newmark_T = 100
+excitation_fm = 0.33
+excitation_offset = 3.75
+#Output
+write_model_field = 1
diff --git a/input/paper3/cross/time/inverse.txt b/input/paper3/cross/time/inverse.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d73c6d8aef5201443e8367a135052b1ee4caf1ea
--- /dev/null
+++ b/input/paper3/cross/time/inverse.txt
@@ -0,0 +1,21 @@
+name = timewave_inverse
+#Configuration
+unknown = none
+m0_typec0 = file.pos
+m0_pathc0 = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/cross_df2_lbfgs_ls_snr6g0s0m100
+m0_typec1 = file.pos
+m0_pathc1 = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/cross_df2_lbfgs_ls_snr6g0s0m100
+#
+#Wave
+wave_FunctionSpaceDegree = 3
+#Equation
+equation_integration_degree_blk = 8
+equation_integration_degree_bnd = 9
+newmark_beta = 0.25
+newmark_gamma = 0.5
+newmark_dt = 1e-2
+newmark_T = 100
+excitation_fm = 0.33
+excitation_offset = 3.75
+#Output
+write_model_field = 1
diff --git a/input/paper3/cross/synthetics.txt b/input/paper3/cross/time/synthetics.txt
similarity index 96%
rename from input/paper3/cross/synthetics.txt
rename to input/paper3/cross/time/synthetics.txt
index ff7adbf4ae9beed53412078fc81bb1ce9471cf11..c28d7dc5e2bd7645533a743bda1ab6733b6dd84c 100644
--- a/input/paper3/cross/synthetics.txt
+++ b/input/paper3/cross/time/synthetics.txt
@@ -1,4 +1,4 @@
-name = time_synthetics
+name = timewave_synthetics
 #Configuration
 unknown = none
 #
diff --git a/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh b/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh
index fa0a7e894b24c50605580c6df12329a4317e5d2d..c9847096540bad08c69f3c1e6214b8b7272c322f 100644
--- a/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh
+++ b/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh
@@ -1,4 +1,4 @@
-d#!/bin/bash
+#!/bin/bash
 #
 #SBATCH --job-name=paper2_extended_inversion_ssm5_lbfgs_ls_snr2
 #SBATCH --output=paper2_extended_inversion_ssm5_lbfgs_ls_snr2.log
diff --git a/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh b/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh
index 649344b7a33fed512801776d2db20aecb48e529f..13229727ce736dfc25e2263c3502792ca33f051e 100644
--- a/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh
+++ b/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh
@@ -4,7 +4,7 @@
 #SBATCH --output=paper2_extended_inversion_sst_lbfgs_ls_snr2_tv.log
 
 #SBATCH --ntasks=1
-#SBATCH --time=400:00
+#SBATCH --time=500:00
 #SBATCH --mem-per-cpu=16000
 #
 #SBATCH --array=0-14
diff --git a/input/paper3/marmousi/error/df/df1_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df1_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f20b0d363e6a102193c300a12085892f0c7f1895
--- /dev/null
+++ b/input/paper3/marmousi/error/df/df1_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,15 @@
+name = df1_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df1_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 40
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/df/df2_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df2_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..54317de1e9647fb754ff8f0992ad1a7e2824edef
--- /dev/null
+++ b/input/paper3/marmousi/error/df/df2_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,15 @@
+name = df2_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df2_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 40
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/df/df3_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df3_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..948e44029104100b34c6b5671a6b32cd287481f8
--- /dev/null
+++ b/input/paper3/marmousi/error/df/df3_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,18 @@
+name = df3_lbfgs_ls_snr2_error
+#name = df3_lbfgs_ls_snr2_error_horizontal
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+error_mask_type = none
+#error_mask_type = horizontal
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df3_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 60
+#Output
+write_error_field = 1
diff --git a/input/paper3/marmousi/error/df/df4_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df4_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..82ba77bb342d67393a5a1a612ba51202d86bad0f
--- /dev/null
+++ b/input/paper3/marmousi/error/df/df4_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,15 @@
+name = df4_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df4_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 80
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/df/df5_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df5_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f1c689e1452ab56cd63868c50465beb7d66bf8db
--- /dev/null
+++ b/input/paper3/marmousi/error/df/df5_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,15 @@
+name = df5_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df5_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 186
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/df6_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df/df6_lbfgs_ls_snr2_error.txt
similarity index 53%
rename from input/paper3/marmousi/error/df6_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/df/df6_lbfgs_ls_snr2_error.txt
index fc316dbb5263a6da76880316db69a0b60e070dcc..494c4db681bd3e753bbb149e2b867483b1a13f67 100644
--- a/input/paper3/marmousi/error/df6_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/df/df6_lbfgs_ls_snr2_error.txt
@@ -1,14 +1,14 @@
-name = df6_lbfgs_ls_snr3_error
+name = df6_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF6_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df6_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df6_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 200
 #Output
diff --git a/input/paper3/marmousi/error/df/df_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f16471f6ee440f2af1ffe9101b4a6ed4a87a9ed8
--- /dev/null
+++ b/input/paper3/marmousi/error/df/df_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,15 @@
+name = df_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/
+inverted_model_name = paper2_extended_df_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 40
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/df1_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df1_lbfgs_ls_snr3_error.txt
deleted file mode 100644
index 1899a926fe30abd0bb8c9bff8fe23a210d2a1ff6..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/df1_lbfgs_ls_snr3_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = df1_lbfgs_ls_snr3_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF1_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df1_lbfgs_ls_snr3
-inverted_model_prefix = g0s0
-inverted_model_number = 26
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/df2_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df2_lbfgs_ls_snr3_error.txt
deleted file mode 100644
index 72a82464ba61f96e18116f3519f79f6f155b36bd..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/df2_lbfgs_ls_snr3_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = df2_lbfgs_ls_snr3_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF2_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df2_lbfgs_ls_snr3
-inverted_model_prefix = g0s0
-inverted_model_number = 32
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/df5_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df5_lbfgs_ls_snr3_error.txt
deleted file mode 100644
index f4cb6180bd3383b36c28bad92707f66fb76a7cb4..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/df5_lbfgs_ls_snr3_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = df5_lbfgs_ls_snr3_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF5_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df5_lbfgs_ls_snr3
-inverted_model_prefix = g0s0
-inverted_model_number = 200
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df_lbfgs_ls_snr3_error.txt
deleted file mode 100644
index a29bdf40de41b943e6bea05bc301e3345a758782..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = df_lbfgs_ls_snr3_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df_lbfgs_ls_snr3
-inverted_model_prefix = g0s0
-inverted_model_number = 30
-#Output
-write_error_field = 1
diff --git a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv11_error.txt b/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv11_error.txt
deleted file mode 100644
index 30002dd506197083f4288d0812140fe2c98bce7b..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv11_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = df_lbfgs_ls_snr3_tv11_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF_LBFGS_LS_SNR3_TV11/
-inverted_model_name = paper2_extended_df_lbfgs_ls_snr3_tv11
-inverted_model_prefix = g0s0
-inverted_model_number = 28
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv_error.txt b/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv_error.txt
deleted file mode 100644
index ac3f25cbf1ccb620082129c3d84d80bcd644c166..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv_error.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-name = df_lbfgs_ls_snr3_tv_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 14
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF_TV2/
-inverted_model_list = 0
-inverted_model_number = 35
-inverted_model_name = paper2_extended_df_lbfgs_ls_snr3_tv_
-inverted_model_suffix = _mg0
-
-#
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/sstm/sstm_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm1_lbfgs_ls_snr3_error.txt
similarity index 52%
rename from input/paper3/marmousi/error/sstm/sstm_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/ssm/ssm1_lbfgs_ls_snr3_error.txt
index 42e6258c450ce05e214b378f6d42e20e2bd7b3e4..07b4c79a60f8bfea29e28a477013f984747e25b8 100644
--- a/input/paper3/marmousi/error/sstm/sstm_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/ssm/ssm1_lbfgs_ls_snr3_error.txt
@@ -1,14 +1,14 @@
-name = sstm_lbfgs_ls_snr3_error
+name = ssm1_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sstm_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm1_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 50
 #Output
diff --git a/input/paper3/marmousi/error/sstm/sstm1_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm2_lbfgs_ls_snr3_error.txt
similarity index 52%
rename from input/paper3/marmousi/error/sstm/sstm1_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/ssm/ssm2_lbfgs_ls_snr3_error.txt
index 4d814682d31b6f942d86eedf700b1f31d94ac8a5..356bdc0f72b8c851f7f706327e6fb3d826b5f491 100644
--- a/input/paper3/marmousi/error/sstm/sstm1_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/ssm/ssm2_lbfgs_ls_snr3_error.txt
@@ -1,14 +1,14 @@
-name = sstm1_lbfgs_ls_snr3_error
+name = ssm2_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM1_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sstm1_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm2_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 50
 #Output
diff --git a/input/paper3/marmousi/error/sstm/sstm2_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm3_lbfgs_ls_snr3_error.txt
similarity index 52%
rename from input/paper3/marmousi/error/sstm/sstm2_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/ssm/ssm3_lbfgs_ls_snr3_error.txt
index 206310db14b9f6dde27b466a3a7ddafef2d96d33..a9aa415240a075db7675aac26c450e6f41c88706 100644
--- a/input/paper3/marmousi/error/sstm/sstm2_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/ssm/ssm3_lbfgs_ls_snr3_error.txt
@@ -1,14 +1,14 @@
-name = sstm2_lbfgs_ls_snr3_error
+name = ssm3_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM2_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sstm2_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS/
+inverted_model_name = paper2_extended_ssm3_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 50
 #Output
diff --git a/input/paper3/marmousi/error/sstm/sstm4_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm4_lbfgs_ls_snr3_error.txt
similarity index 52%
rename from input/paper3/marmousi/error/sstm/sstm4_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/ssm/ssm4_lbfgs_ls_snr3_error.txt
index a085ae225ceedcf017c71e4366406537c38e250e..40b91653f5f4fc7997dac2fd7858e269b09f1e7b 100644
--- a/input/paper3/marmousi/error/sstm/sstm4_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/ssm/ssm4_lbfgs_ls_snr3_error.txt
@@ -1,14 +1,14 @@
-name = sstm4_lbfgs_ls_snr3_error
+name = ssm4_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM4_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sstm4_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm4_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 75
 #Output
diff --git a/input/paper3/marmousi/error/df4_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm5_lbfgs_ls_snr3_error.txt
similarity index 53%
rename from input/paper3/marmousi/error/df4_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/ssm/ssm5_lbfgs_ls_snr3_error.txt
index 294d26223bcd27bd56eee76eb62a714bd4d0b189..772472a1bb7d98ecf6c2cc0c0ba92318ff36a700 100644
--- a/input/paper3/marmousi/error/df4_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/ssm/ssm5_lbfgs_ls_snr3_error.txt
@@ -1,14 +1,14 @@
-name = df4_lbfgs_ls_snr3_error
+name = ssm5_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF4_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df4_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm5_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 100
 #Output
diff --git a/input/paper3/marmousi/error/ssm/ssm6_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm6_lbfgs_ls_snr3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86340a74e069076382d19863de0fc1e8494ba507
--- /dev/null
+++ b/input/paper3/marmousi/error/ssm/ssm6_lbfgs_ls_snr3_error.txt
@@ -0,0 +1,15 @@
+name = ssm6_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm6_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 100
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/ssm/ssm7_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm7_lbfgs_ls_snr3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5b722bff416e52d78e7730663e201d133acc226e
--- /dev/null
+++ b/input/paper3/marmousi/error/ssm/ssm7_lbfgs_ls_snr3_error.txt
@@ -0,0 +1,15 @@
+name = ssm7_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm7_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 100
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/ssm/ssm8_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm8_lbfgs_ls_snr3_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..83c2e6c42f9d0e3bbb2e134b907772913529d861
--- /dev/null
+++ b/input/paper3/marmousi/error/ssm/ssm8_lbfgs_ls_snr3_error.txt
@@ -0,0 +1,15 @@
+name = ssm8_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS//
+inverted_model_name = paper2_extended_ssm8_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 150
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/sstm/sstm3_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm_lbfgs_ls_snr3_error.txt
similarity index 52%
rename from input/paper3/marmousi/error/sstm/sstm3_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/ssm/ssm_lbfgs_ls_snr3_error.txt
index 49f695cf60d4259132bcff5fff313363b32c3b0e..5739ed84ed7471dae01ac5288d88023629eadcf2 100644
--- a/input/paper3/marmousi/error/sstm/sstm3_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/ssm/ssm_lbfgs_ls_snr3_error.txt
@@ -1,14 +1,14 @@
-name = sstm3_lbfgs_ls_snr3_error
+name = ssm_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM3_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sstm3_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS/
+inverted_model_name = paper2_extended_ssm_lbfgs_ls_snr2
 inverted_model_prefix = g0s0
 inverted_model_number = 50
 #Output
diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr2_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e6975aef81f830e1718334505f18091166a12649
--- /dev/null
+++ b/input/paper3/marmousi/error/sst_lbfgs_ls_snr2_error.txt
@@ -0,0 +1,15 @@
+name = sst_lbfgs_ls_snr2_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS/
+inverted_model_name = paper2_extended_sst_lbfgs_ls_snr2
+inverted_model_prefix = g0s0
+inverted_model_number = 50
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_error.txt
deleted file mode 100644
index 0478226454f2558002e84e90b5bbb81f94de2dde..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = sst_lbfgs_ls_snr3_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SST_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sst_lbfgs_ls_snr3
-inverted_model_prefix = g0s0
-inverted_model_number = 27
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik_error.txt
deleted file mode 100644
index 93350c68fc0bbf85af4bbc0ec4b3c288ab65ffb2..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik_error.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-name = sst_lbfgs_ls_snr3_tik_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 14
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/TIK/
-inverted_model_number = 14
-inverted_model_list = 1
-inverted_model_name0 = SST_LBFGS_LS_SNR3_TIK0/paper2_extended_sst_lbfgs_ls_snr3_tik0_mg0
-inverted_model_name1 = SST_LBFGS_LS_SNR3_TIK1/paper2_extended_sst_lbfgs_ls_snr3_tik1_mg0
-inverted_model_name2 = SST_LBFGS_LS_SNR3_TIK2/paper2_extended_sst_lbfgs_ls_snr3_tik2_mg0
-inverted_model_name3 = SST_LBFGS_LS_SNR3_TIK3/paper2_extended_sst_lbfgs_ls_snr3_tik3_mg0
-inverted_model_name4 = SST_LBFGS_LS_SNR3_TIK4/paper2_extended_sst_lbfgs_ls_snr3_tik4_mg0
-inverted_model_name5 = SST_LBFGS_LS_SNR3_TIK5/paper2_extended_sst_lbfgs_ls_snr3_tik5_mg0
-inverted_model_name6 = SST_LBFGS_LS_SNR3_TIK6/paper2_extended_sst_lbfgs_ls_snr3_tik6_mg0
-inverted_model_name7 = SST_LBFGS_LS_SNR3_TIK7/paper2_extended_sst_lbfgs_ls_snr3_tik7_mg0
-inverted_model_name8 = SST_LBFGS_LS_SNR3_TIK8/paper2_extended_sst_lbfgs_ls_snr3_tik8_mg0
-inverted_model_name9 = SST_LBFGS_LS_SNR3_TIK9/paper2_extended_sst_lbfgs_ls_snr3_tik9_mg0
-inverted_model_name10 = SST_LBFGS_LS_SNR3_TIK10/paper2_extended_sst_lbfgs_ls_snr3_tik10_mg0
-inverted_model_name11 = SST_LBFGS_LS_SNR3_TIK11/paper2_extended_sst_lbfgs_ls_snr3_tik11_mg0
-inverted_model_name12 = SST_LBFGS_LS_SNR3_TIK12/paper2_extended_sst_lbfgs_ls_snr3_tik12_mg0
-inverted_model_name13 = SST_LBFGS_LS_SNR3_TIK13/paper2_extended_sst_lbfgs_ls_snr3_tik13_mg0
-inverted_model_name14 = SST_LBFGS_LS_SNR3_TIK14/paper2_extended_sst_lbfgs_ls_snr3_tik14_mg0
-#
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv8_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv8_error.txt
deleted file mode 100644
index bb5df1adef95ed7cd78c39c99ae8f00e67543c69..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv8_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = sst_lbfgs_ls_snr3_tv8_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SST_LBFGS_LS_SNR3_TV8/
-inverted_model_name = paper2_extended_sst_lbfgs_ls_snr3_tv8
-inverted_model_prefix = g0s0
-inverted_model_number = 20
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv_error.txt
deleted file mode 100644
index f1fac79d4331fc68d8d1ae926641ec4f76ceceb7..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv_error.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-name = sst_lbfgs_ls_snr3_tv_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/TV/
-inverted_model_number = 14
-inverted_model_list = 1
-inverted_model_name0 = SST_LBFGS_LS_SNR3_TV0/paper2_extended_sst_lbfgs_ls_snr3_tv0_mg0
-inverted_model_name1 = SST_LBFGS_LS_SNR3_TV1/paper2_extended_sst_lbfgs_ls_snr3_tv1_mg0
-inverted_model_name2 = SST_LBFGS_LS_SNR3_TV2/paper2_extended_sst_lbfgs_ls_snr3_tv2_mg0
-inverted_model_name3 = SST_LBFGS_LS_SNR3_TV3/paper2_extended_sst_lbfgs_ls_snr3_tv3_mg0
-inverted_model_name4 = SST_LBFGS_LS_SNR3_TV4/paper2_extended_sst_lbfgs_ls_snr3_tv4_mg0
-inverted_model_name5 = SST_LBFGS_LS_SNR3_TV5/paper2_extended_sst_lbfgs_ls_snr3_tv5_mg0
-inverted_model_name6 = SST_LBFGS_LS_SNR3_TV6/paper2_extended_sst_lbfgs_ls_snr3_tv6_mg0
-inverted_model_name7 = SST_LBFGS_LS_SNR3_TV7/paper2_extended_sst_lbfgs_ls_snr3_tv7_mg0
-inverted_model_name8 = SST_LBFGS_LS_SNR3_TV8/paper2_extended_sst_lbfgs_ls_snr3_tv8_mg0
-inverted_model_name9 = SST_LBFGS_LS_SNR3_TV9/paper2_extended_sst_lbfgs_ls_snr3_tv9_mg0
-inverted_model_name10 = SST_LBFGS_LS_SNR3_TV10/paper2_extended_sst_lbfgs_ls_snr3_tv10_mg0
-inverted_model_name11 = SST_LBFGS_LS_SNR3_TV11/paper2_extended_sst_lbfgs_ls_snr3_tv11_mg0
-inverted_model_name12 = SST_LBFGS_LS_SNR3_TV12/paper2_extended_sst_lbfgs_ls_snr3_tv12_mg0
-inverted_model_name13 = SST_LBFGS_LS_SNR3_TV13/paper2_extended_sst_lbfgs_ls_snr3_tv13_mg0
-inverted_model_name14 = SST_LBFGS_LS_SNR3_TV14/paper2_extended_sst_lbfgs_ls_snr3_tv14_mg0
-#
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/sstm_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/sstm_lbfgs_ls_snr3_error.txt
deleted file mode 100644
index aa3c977b4da8b7894f0613f5dc5f392ea7c0d170..0000000000000000000000000000000000000000
--- a/input/paper3/marmousi/error/sstm_lbfgs_ls_snr3_error.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-name = sstm_lbfgs_ls_snr3_error
-#Configuration
-unknown = subsurface
-m0_typec0 = file
-m0_pathc0 = ../input/paper2/marmousi_slowness2
-#Error
-error_type = root_mean_squared
-integration_degree = 8
-#Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_sstm_lbfgs_ls_snr3
-inverted_model_prefix = g0s0
-inverted_model_number = 30
-#Output
-write_error_field = 0
diff --git a/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr2_tik_error.txt b/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr2_tik_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ac5c6f8c2a144eef967e9d0861943486b3779708
--- /dev/null
+++ b/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr2_tik_error.txt
@@ -0,0 +1,30 @@
+name = sst_lbfgs_ls_snr2_tik_error
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/TIK/
+inverted_model_number = 14
+inverted_model_list = 1
+inverted_model_name0 = paper2_extended_sst_lbfgs_ls_snr2_tik0_mg0
+inverted_model_name1 = paper2_extended_sst_lbfgs_ls_snr2_tik1_mg0
+inverted_model_name2 = paper2_extended_sst_lbfgs_ls_snr2_tik2_mg0
+inverted_model_name3 = paper2_extended_sst_lbfgs_ls_snr2_tik3_mg0
+inverted_model_name4 = paper2_extended_sst_lbfgs_ls_snr2_tik4_mg0
+inverted_model_name5 = paper2_extended_sst_lbfgs_ls_snr2_tik5_mg0
+inverted_model_name6 = paper2_extended_sst_lbfgs_ls_snr2_tik6_mg0
+inverted_model_name7 = paper2_extended_sst_lbfgs_ls_snr2_tik7_mg0
+inverted_model_name8 = paper2_extended_sst_lbfgs_ls_snr2_tik8_mg0
+inverted_model_name9 = paper2_extended_sst_lbfgs_ls_snr2_tik9_mg0
+inverted_model_name10 = paper2_extended_sst_lbfgs_ls_snr2_tik10_mg0
+inverted_model_name11 = paper2_extended_sst_lbfgs_ls_snr2_tik11_mg0
+inverted_model_name12 = paper2_extended_sst_lbfgs_ls_snr2_tik12_mg0
+inverted_model_name13 = paper2_extended_sst_lbfgs_ls_snr2_tik13_mg0
+inverted_model_name14 = paper2_extended_sst_lbfgs_ls_snr2_tik14_mg0
+#
+#Output
+write_error_field = 0
diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik11_error.txt b/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr3_tik11_error.txt
similarity index 100%
rename from input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik11_error.txt
rename to input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr3_tik11_error.txt
diff --git a/input/paper3/marmousi/error/df3_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv11_error.txt
similarity index 53%
rename from input/paper3/marmousi/error/df3_lbfgs_ls_snr3_error.txt
rename to input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv11_error.txt
index e1913893dcf29ca1178ac3594445a4dc2498d23e..ead0ce5940a7ee5dd6a193309ca26daa0874e1dc 100644
--- a/input/paper3/marmousi/error/df3_lbfgs_ls_snr3_error.txt
+++ b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv11_error.txt
@@ -1,14 +1,14 @@
-name = df3_lbfgs_ls_snr3_error
+name = sst_lbfgs_ls_snr2_error
 #Configuration
 unknown = subsurface
 m0_typec0 = file
 m0_pathc0 = ../input/paper2/marmousi_slowness2
 #Error
-error_type = root_mean_squared
+error_type = relative_mean
 integration_degree = 8
 #Input
-inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF3_LBFGS_LS_SNR3/
-inverted_model_name = paper2_extended_df3_lbfgs_ls_snr3
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/
+inverted_model_name = paper2_extended_sst_lbfgs_ls_snr2_tv11
 inverted_model_prefix = g0s0
 inverted_model_number = 60
 #Output
diff --git a/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv_error.txt b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv_error.txt
new file mode 100644
index 0000000000000000000000000000000000000000..785a7cecd5b5c6d9c768168d26db070f5cf4c5c0
--- /dev/null
+++ b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv_error.txt
@@ -0,0 +1,33 @@
+name = sst_lbfgs_ls_snr2_tv_error
+#name = sst_lbfgs_ls_snr2_tv_error_horizontal
+#Configuration
+unknown = subsurface
+m0_typec0 = file
+m0_pathc0 = ../input/paper2/marmousi_slowness2
+#Error
+error_type = relative_mean
+error_mask_type = none
+#error_mask_type = horizontal
+integration_degree = 8
+#Input
+inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/
+inverted_model_number = 14
+inverted_model_list = 1
+inverted_model_name0 = paper2_extended_sst_lbfgs_ls_snr2_tv0_mg0
+inverted_model_name1 = paper2_extended_sst_lbfgs_ls_snr2_tv1_mg0
+inverted_model_name2 = paper2_extended_sst_lbfgs_ls_snr2_tv2_mg0
+inverted_model_name3 = paper2_extended_sst_lbfgs_ls_snr2_tv3_mg0
+inverted_model_name4 = paper2_extended_sst_lbfgs_ls_snr2_tv4_mg0
+inverted_model_name5 = paper2_extended_sst_lbfgs_ls_snr2_tv5_mg0
+inverted_model_name6 = paper2_extended_sst_lbfgs_ls_snr2_tv6_mg0
+inverted_model_name7 = paper2_extended_sst_lbfgs_ls_snr2_tv7_mg0
+inverted_model_name8 = paper2_extended_sst_lbfgs_ls_snr2_tv8_mg0
+inverted_model_name9 = paper2_extended_sst_lbfgs_ls_snr2_tv9_mg0
+inverted_model_name10 = paper2_extended_sst_lbfgs_ls_snr2_tv10_mg0
+inverted_model_name11 = paper2_extended_sst_lbfgs_ls_snr2_tv11_mg0
+inverted_model_name12 = paper2_extended_sst_lbfgs_ls_snr2_tv12_mg0
+inverted_model_name13 = paper2_extended_sst_lbfgs_ls_snr2_tv13_mg0
+inverted_model_name14 = paper2_extended_sst_lbfgs_ls_snr2_tv14_mg0
+#
+#Output
+write_error_field = 1
diff --git a/input/paper3/marmousi/time/initial.txt b/input/paper3/marmousi/time/initial.txt
index 17777a4178810783519077551963c4e8e99ff241..705068b0d1d9b842f96ed46f7fe2b3a2a57b4894 100644
--- a/input/paper3/marmousi/time/initial.txt
+++ b/input/paper3/marmousi/time/initial.txt
@@ -2,8 +2,8 @@ name = initial
 #Configuration
 unknown = none
 m0_typec0 = file.pos
-#m0_pathc0 = ../../Manuscript/Part3/TC1/paper2_extended_m_initial
-m0_pathc0 = paper2_extended_m_initial
+m0_pathc0 = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/paper2_extended_sst_lbfgs_ls_snr2_tv10_m_initial
+#m0_pathc0 = paper2_extended_m_initial
 #
 #Wave
 wave_FunctionSpaceDegree = 2
diff --git a/input/paper3/marmousi/time/inverse.txt b/input/paper3/marmousi/time/inverse.txt
index ea4f2708b6fa087d48ce6f9d1c3733392082cd9f..3e1c514711e802a46351b04030c5b5e248a0a72e 100644
--- a/input/paper3/marmousi/time/inverse.txt
+++ b/input/paper3/marmousi/time/inverse.txt
@@ -2,8 +2,8 @@ name = inverse
 #Configuration
 unknown = none
 m0_typec0 = file.pos
-#m0_pathc0 = ../../Manuscript/Part3/TC1/paper2_extended_df_lbfgs_ls_snr3_tv11_mg0c0
-m0_pathc0 = paper2_extended_df_lbfgs_ls_snr3_tv11_mg0
+m0_pathc0 = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/paper2_extended_sst_lbfgs_ls_snr2_tv10_mg0
+#m0_pathc0 = paper2_extended_sst_lbfgs_ls_snr2_tv10_mg0
 #
 #Wave
 wave_FunctionSpaceDegree = 2
diff --git a/inversion_plot_comp_paper2.py b/inversion_plot_comp_paper2.py
index cbae7df914888cc0327e42fe348014482e3dfa50..a6d6b32f97f1277bc22e1c8cf005914534fcc929 100644
--- a/inversion_plot_comp_paper2.py
+++ b/inversion_plot_comp_paper2.py
@@ -185,7 +185,8 @@ glob = ['linesearch','trust-region','trust-region-retro'] * 2
 order = [2.] * 6
 col = ['k','C1','C4']*2
 mrk = ['o']*6
-lin = ['-']*6 
+lin = ['-']*6
+offset = [1]*3 + [0]*3  
 max_forward = 600
 Δmax_forward = 60
 n_freq = 1
@@ -225,8 +226,8 @@ for i in range(0,n_comp):
             line=line+2
             jfs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,0] / j0;
             if glob[i] == 'trust-region' or glob[i] == 'trust-region-retro':
-                p_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,6];
-                r_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,7];
+                p_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,5+offset[i]];
+                r_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,6+offset[i]];
                 r_ratiofs[f][s][p_ratiofs[f][s] < 0] = np.nan;
             line=line+n_itfs[f][s]+1+1
     jcfs.append(jfs)
diff --git a/inversion_plot_comp_paper3.py b/inversion_plot_comp_paper3.py
new file mode 100644
index 0000000000000000000000000000000000000000..15dab72cad54f2cd1917fe531af2374cd19c7db7
--- /dev/null
+++ b/inversion_plot_comp_paper3.py
@@ -0,0 +1,409 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Wed May 11 15:49:20 2022
+
+@author: xavier
+"""
+
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib import rc
+plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False
+plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True
+rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}')
+rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10})
+rc('text', usetex=True)
+lw = 1.5
+ms=5
+H = 2.0;
+L = 3.0;
+
+"""
+#Mamrousi early stop regularization
+j0 = 1
+jmrzv = 21.06701972868763
+n_comp = 3
+prepath = [''] * 3 
+best = [17,26,43]
+mrz = [11,14,22]
+path = ['SST_LBFGS_LS/','SSM_LBFGS_LS/','DF_LBFGS_LS/',]
+filename = ['paper2_extended_sst_lbfgs_ls_snr2','paper2_extended_ssm_lbfgs_ls_snr2','paper2_extended_df3_lbfgs_ls_snr2']
+lab = ['SST','SSM','DF']
+glob = ['linesearch'] * 3
+order = [1.5] * 3
+col = ['C0','C1','C2'] 
+mrk = [''] * 3
+lin = ['-'] * 3
+n_freq = 1
+"""
+
+"""
+#Mamrousi additive regularization
+j0 = 1. #35.6633
+jmrzv = 17.303269765664275
+n_comp = 3
+prepath = [''] * 3 
+best = [0] * 3
+mrz = [ 0 ] * 3
+ms=0
+path = ['SST_LBFGS_LS_SNR3/','TIK/SST_LBFGS_LS_SNR3_TIK10/','TV/SST_LBFGS_LS_SNR3_TV11/']
+filename = ['paper2_extended_sst_lbfgs_ls_snr3','paper2_extended_sst_lbfgs_ls_snr3_tik10','paper2_extended_sst_lbfgs_ls_snr3_tv11']
+lab = ['SST','TIK','TV']
+glob = ['linesearch'] * 3
+order = [1.5] * 3
+col = ['C0','C1','C2'] 
+mrk = [''] * 3
+lin = ['-'] * 3
+n_freq = 1
+"""
+
+"""
+#Mamrousi df
+j0 = 1. #35.6633
+jmrzv = 21.06701972868763
+n_comp = 7
+best = [ 22, 21, 30, 43, 61, 119,  69 ]
+mrz = [ 12, 12, 15, 22, 34, 62,  110 ]
+prepath = [''] * 7 
+path = ['DF_LBFGS_LS/'] * 7
+filename = ['paper2_extended_df1_lbfgs_ls_snr2','paper2_extended_df_lbfgs_ls_snr2','paper2_extended_df2_lbfgs_ls_snr2','paper2_extended_df3_lbfgs_ls_snr2','paper2_extended_df4_lbfgs_ls_snr2','paper2_extended_df5_lbfgs_ls_snr2','paper2_extended_df6_lbfgs_ls_snr2']
+lab = ['DF1','DF','DF2','DF3','DF4','DF5','DF6']
+glob = ['linesearch'] * 7
+order = [1.5] * 7
+col = ['#061606','#124212','#1C661C','#2ca02c','#78C278','#BAE0BA','#E3F2E3'] 
+mrk = [''] * 7
+lin = ['-'] * 7
+n_freq = 1
+β = 1.
+A = 25.994976
+"""
+
+"""
+#Mamrousi ssm
+j0 = 1. #35.6633
+jmrzv = 21.06701972868763
+n_comp = 7
+best = [21, 26, 36, 59, 48, 82, 0]
+mrz = [12, 14, 20, 33, 57, np.nan, np.nan]
+prepath = [''] * n_comp
+path = ['SSM_LBFGS_LS/'] * n_comp
+filename = ['paper2_extended_ssm1_lbfgs_ls_snr2','paper2_extended_ssm_lbfgs_ls_snr2','paper2_extended_ssm2_lbfgs_ls_snr2','paper2_extended_ssm5_lbfgs_ls_snr2','paper2_extended_ssm6_lbfgs_ls_snr2','paper2_extended_ssm7_lbfgs_ls_snr2','paper2_extended_ssm8_lbfgs_ls_snr2']
+lab = ['ssm1','ssm','ssm2','ssm5','ssm6','ssm7','ssm8']
+glob = ['linesearch'] * n_comp
+order = [1.5] * n_comp
+col = ['#492200','#974700','#d26300','#ff8922','#ff9e49','#ffbe84','#ffd2ab'] 
+mrk = [''] * n_comp
+lin = ['-'] * n_comp
+n_freq = 1
+β = 0.075
+A = 25.994976
+"""
+
+"""
+#Concrete 3 additive regularization
+j0 = 1. 
+jmrzv = 5608.4871201510405
+n_comp = 5
+prepath = [''] * 5 
+best = [0] * 5
+mrz = [ 0 ] * 5
+ms=0
+path = [ 'snrm3/SST_LBFGS_LS_TV_snrm3/' ] * 5
+filename = ['paper2_concrete3_sst_lbfgs_ls_snrm3_tv0','paper2_concrete3_sst_lbfgs_ls_snrm3_tv1','paper2_concrete3_sst_lbfgs_ls_snrm3_tv2','paper2_concrete3_sst_lbfgs_ls_snrm3_tv3','paper2_concrete3_sst_lbfgs_ls_snrm3_tv4']
+lab = ['TV0','TV1','TV2','TV3','TV4']
+glob = ['linesearch'] * 5
+order = [1.5] * 5
+col = ['C0','C1','C2','C3','C4'] 
+mrk = [''] * 5
+lin = ['-'] * 5
+n_freq = 1
+"""
+
+"""
+#Concrete 3 early stop regularization
+j0 = 1.
+jmrzv = 11177.374443381555
+
+n_comp = 2;
+best = [226,247]
+mrz = [40,51]
+col = ['C1','C2'] 
+
+prepath = [''] * n_comp
+path = [ 'SSM_LBFGS_LS/' , 'DF_LBFGS_LS/' ] * 2
+filename = [ 'paper2_concrete3_ssm2_lbfgs_ls_snrm3', 'paper2_concrete3_df4_lbfgs_ls_snrm3' ]
+lab = [ 'SSM2','DF4' ]
+glob = ['linesearch'] * n_comp
+order = [1.5] * n_comp
+
+mrk = [''] * n_comp
+lin = ['-'] * n_comp
+n_freq = 1
+"""
+
+
+#Concrete 3 df or ssm
+j0 = 1.
+jmrzv = 11177.374443381555
+
+"""
+n_comp = 6; β = 1.; A = 0.00013104; substr = 'df'
+best = [200,141,193,234,247,250]
+mrz = [25,26,34,42,51,56]
+col = ['#061606','#124212','#1C661C','#2ca02c','#78C278','#BAE0BA','#E3F2E3'] 
+"""
+
+n_comp = 6; β = 300.; A = 0.00013104; substr = 'ssm'
+best = [150,193,226,250,250,250]
+mrz = [28,33,40,50,59,70]
+col = ['#492200','#974700','#d26300','#ff8922','#ff9e49','#ffbe84','#ffd2ab'] 
+
+prepath = [''] * n_comp
+path = [ substr.upper()+'_LBFGS_LS/' ] * n_comp
+filename = ['paper2_concrete3_'+substr.lower()+'0_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'1_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'2_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'3_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'4_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'5_lbfgs_ls_snrm3']
+lab = ['DF0','DF1','DF2','DF3','DF4','DF5']
+glob = ['linesearch'] * n_comp
+order = [1.5] * n_comp
+
+mrk = [''] * n_comp
+lin = ['-'] * n_comp
+n_freq = 1
+
+
+"""
+#Cross
+j0 = 1.
+jmrzv = 0.6931585837012904
+
+n_comp = 4; β = 1.; A = 1.;
+best = [0] * n_comp
+mrz = [0] * n_comp
+ms = 0
+col = ['C1','C2','C1','C2'] 
+     
+prepath = [''] * n_comp
+path = [ 'SST_LBFGS_LS_TIK/', 'SST_LBFGS_LS_TV/', 'SSM_LBFGS_LS/', 'DF_LBFGS_LS/' ]
+filename = [ 'cross_sst2_lbfgs_ls_snr6_tik22', 'cross_sst2_lbfgs_ls_snr6_tv24', 'cross_ssm1_lbfgs_ls_snr6', 'cross_df2_lbfgs_ls_snr6' ]
+lab = [ 'TIK','TV','SSM','DF' ]
+glob = ['linesearch'] * n_comp
+order = [1.5] * n_comp
+
+mrk = [''] * n_comp
+lin = [ '--','--','-','-' ]
+n_freq = 1
+"""
+
+"""
+LOAD
+"""
+jcfs = []
+mcfs = []
+p_ratiocfs = []
+r_ratiocfs = []
+n_itcf = []
+n_scalecf = []
+n_itcfs = []
+
+for i in range(0,n_comp):
+    path_tmp = prepath[i]+path[i]
+    n_scalef = [[]]*n_freq; 
+    jfs = [[]]*n_freq;
+    mfs = [[]]*n_freq;
+    p_ratiofs = [[]]*n_freq;
+    r_ratiofs = [[]]*n_freq;
+    n_itfs = [[]]*n_freq;
+    n_itf = [0]*n_freq
+    scalefs = [[]]*n_freq;
+    for f in range(0,n_freq):
+        n_scalef[f] = np.loadtxt(path_tmp+filename[i]+'_globalminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=1,skiprows=3,dtype=np.integer)[1];
+        scalefs[f] = np.loadtxt(path_tmp+filename[i]+'_globalminimum_historyg'+str(f)+'.csv',delimiter=';',usecols=2,max_rows=np.int(n_scalef[f]),skiprows=6,dtype=np.float);
+        jfs[f] = [[]]*n_scalef[f];
+        mfs[f] = [[]]*n_scalef[f];
+        p_ratiofs[f] = [[]]*n_scalef[f];
+        r_ratiofs[f] = [[]]*n_scalef[f];
+        n_itfs[f] = np.zeros(n_scalef[f],np.integer);
+        line = 3 
+        for s in range(0,n_scalef[f]):        
+            n_itfs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',usecols = 1, max_rows=1,skiprows=line,dtype=np.integer);
+            n_itf[f] = n_itf[f]+n_itfs[f][s]
+            line=line+2
+            jfs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,0] / j0;
+            mfs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,4];
+            if glob[i] == 'trust-region' or glob[i] == 'trust-region-retro':
+                p_ratiofs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,6];
+                r_ratiofs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,7];
+                r_ratiofs[f][s][p_ratiofs[f][s] < 0] = np.nan;
+            line=line+n_itfs[f][s]+1+1
+    jcfs.append(jfs)
+    mcfs.append(mfs)
+    p_ratiocfs.append(p_ratiofs)
+    r_ratiocfs.append(r_ratiofs)
+    n_itcf.append(n_itf)
+    n_itcfs.append(n_itfs)
+    n_scalecf.append(n_scalef)
+
+it_linecf = [[]*n_freq]*n_comp;
+it_descentcf = [[]*n_freq]*n_comp;
+bnd_descentcf = [[]*n_freq]*n_comp; 
+n_forwardcf = [[]*n_freq]*n_comp;
+successcf = [[]*n_freq]*n_comp;
+negativecf = [[]*n_freq]*n_comp;
+etacf = [[]*n_freq]*n_comp;
+for i in range(0,n_comp):
+    path_tmp = prepath[i]+path[i]
+    it_linef = [[]]*n_freq
+    it_descentf = [[]]*n_freq
+    bnd_descentf = [[]]*n_freq
+    n_forwardf = [[]]*n_freq
+    successf = [[]]*n_freq
+    negativef = [[]]*n_freq
+    etaf = [[]]*n_freq
+    for f in range(0,n_freq):
+        n_forwardf[f] = np.zeros(n_itcf[i][f],np.integer)
+
+        if glob[i] == 'linesearch': 
+            it_linef[f] = np.loadtxt(path_tmp+filename[i]+'_linesearch_historyg'+str(f)+'.csv',delimiter=';',usecols = 5, skiprows=1,dtype=np.integer)
+            n_forwardf[f] += it_linef[f] 
+
+        if order[i] == 1.5 and (glob[i] == 'trust-region' or glob[i] == 'trust-region-retro') :
+            successf[f] = np.zeros(n_itcf[i][f],np.integer)
+            bnd_descentf[f] = np.zeros(n_itcf[i][f],np.integer)
+            line = 2
+            for n in range(0,n_itcf[i][f]):
+                bnd_descentf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=4,max_rows=1,skiprows=line,dtype=np.integer);            
+                successf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=0,max_rows=1,skiprows=line,dtype=np.integer);
+                line=line+2        
+        if order[i] == 2:
+            it_descentf[f] = np.zeros(n_itcf[i][f],np.integer)
+            successf[f] = np.zeros(n_itcf[i][f],np.integer)
+            etaf[f] = np.zeros(n_itcf[i][f],np.float)
+            negativef[f] = np.zeros(n_itcf[i][f],np.integer)
+            bnd_descentf[f] = np.zeros(n_itcf[i][f],np.integer)
+            line = 3 
+            for n in range(0,n_itcf[i][f]):        
+                it_descentf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=3,max_rows=1,skiprows=line,dtype=np.integer);
+                if glob[i] == 'trust-region' or glob[i] == 'trust-region-retro':
+                    bnd_descentf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=6,max_rows=1,skiprows=line,dtype=np.integer);
+                etaf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=1,max_rows=1,skiprows=line,dtype=np.float);            
+                successf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=0,max_rows=1,skiprows=line,dtype=np.integer);
+                line=line+it_descentf[f][n]+1
+                negativef[f][n] = (np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=1,max_rows=1,skiprows=line,dtype=np.float)<0);
+                line=line+2
+            n_forwardf[f] += 2*it_descentf[f]
+            if glob[i] == 'trust-region-retro':
+                n_forwardf[f] += 2 #retrospective Hessian-vector product
+        n_forwardf[f] += 2
+        n_forwardf[f] = np.cumsum(n_forwardf[f])
+        n_forwardf[f] = np.insert(n_forwardf[f],0,0)
+    n_forwardcf[i] = n_forwardf    
+    it_descentcf[i] = it_descentf
+    bnd_descentcf[i] = bnd_descentf
+    it_linecf[i] = it_linef
+    successcf[i] = successf
+    etacf[i] = etaf
+    negativecf[i] = negativef
+
+"""
+DATA CONVERGENCE PLOT
+"""
+fig = [[]]*n_freq
+for f in range(0,n_freq):
+    plt.figure(figsize=(2*L,H),tight_layout=False);
+    plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08)
+    plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
+    plt.grid(zorder=0)
+
+    plt.xlim([0,250])
+    plt.xticks(np.arange(0,251,50))
+    """    
+    plt.xlim([0,200])
+    plt.xticks(np.arange(0,201,40))
+    """
+    """
+    plt.xlim([5,50])
+    plt.xticks(np.arange(0,51,10))
+    """
+    #plt.ylim([0.95,1.1])
+    plt.ylim([0.99,1.02])
+    """
+    plt.xlim([0,30])
+    plt.xticks(np.arange(0,31,10))
+    plt.ylim([0.95,1.5])
+    """
+    
+    for i in range(0,n_comp,1):
+        plt.plot(jcfs[i][f][0]/jmrzv,color=col[i],marker=mrk[i],linestyle=lin[i],zorder=3,markersize=3, linewidth=lw,label=lab[i])
+        plt.plot(best[i],jcfs[i][f][0][best[i]]/jmrzv,color=col[i],marker='o',zorder=3,markersize=ms)
+        if ~np.isnan(mrz[i]): 
+            plt.plot(mrz[i],jcfs[i][f][0][mrz[i]]/jmrzv,color=col[i],marker='d',zorder=3,markersize=ms)
+    #plt.legend()
+    plt.hlines(1.0, 0, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.)
+    #plt.savefig('convergence_comp'+str(f)+'.eps')
+    
+"""
+MODEL CONVERGENCE PLOT
+"""
+errorc = []
+for i in range(0,n_comp):
+    error = np.loadtxt(prepath[i]+path[i]+filename[i]+'_error.csv',delimiter=';')[:,0];
+    #error = error + np.loadtxt(prepath[i]+path[i]+filename[i]+'_error.csv',delimiter=';')[:,2]; 
+    #error = error / 2       
+    errorc.append(error)
+
+#error
+plt.figure(figsize=(2*L,H),tight_layout=False);
+plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08)
+#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
+plt.grid(zorder=0)
+
+
+
+#plt.ylim([0.1,0.25])
+plt.ylim([0.,6.])
+#plt.ylim([0.5,1.4])
+#plt.yticks(np.arange(0.5,1.4,0.25))
+
+"""
+plt.xlim([5,50])
+plt.xticks(np.arange(0,51,10))
+"""
+"""
+plt.xlim([0,200])
+plt.xticks(np.arange(0,201,40))
+skip=1
+"""
+plt.xlim([0,250])
+plt.xticks(np.arange(0,251,50))
+
+plt.grid(zorder=0)
+for i in range(0,n_comp):
+    #np.arange(0,251,skip),
+    plt.plot(errorc[i],color=col[i],linestyle=lin[i],zorder=2,label=lab[i],marker=mrk[i])
+    plt.plot(best[i],errorc[i][best[i]],color=col[i],marker='o',zorder=3,markersize=ms)
+    if ~np.isnan(mrz[i]): 
+        plt.plot(mrz[i],errorc[i][mrz[i]],color=col[i],marker='d',zorder=3,markersize=ms)
+"""
+    plt.plot(jcfs[i][0][0],errorc,color=col[i],linestyle=lin[i],zorder=2,label=lab[i])
+plt.xscale('log')
+plt.gca().invert_xaxis()
+"""
+#plt.legend()
+
+#L-curve
+plt.figure(figsize=(2*L,H),tight_layout=False);
+plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08)
+for i in range(0,n_comp):
+    plt.plot( (mcfs[i][0][0])/A/β**2, jcfs[i][0][0]/jmrzv, color=col[i],linestyle=lin[i],zorder=2)
+    plt.plot( (mcfs[i][0][0][best[i]])/A/β**2, (jcfs[i][0][0][best[i]]/jmrzv), linestyle=lin[i],color=col[i],marker='o',zorder=3,markersize=ms)
+    if ~np.isnan(mrz[i]): 
+        plt.plot( (mcfs[i][0][0][mrz[i]])/A/β**2,(jcfs[i][0][0][mrz[i]]/jmrzv), color=col[i],marker='d',zorder=3,markersize=ms)
+    plt.hlines(1.0, 0, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.)
+
+plt.ylim([0.95,1.1])
+#plt.xlim([0.,10.])
+plt.xlim([0.,100.])
+#plt.xlim([0.,30.])
+#plt.xlim([15.,120.])
+#plt.ylim([0.99,1.02])
+plt.grid()
\ No newline at end of file
diff --git a/lcurve.py b/lcurve.py
new file mode 100644
index 0000000000000000000000000000000000000000..a1ed925ca9927d07b808c955434b898ed9bf0aec
--- /dev/null
+++ b/lcurve.py
@@ -0,0 +1,157 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Jul 14 18:02:59 2022
+
+@author: xavier
+"""
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib import rc
+plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False
+plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True
+rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}')
+rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10})
+rc('text', usetex=True)
+lw = 1.5
+ms=5
+H = 2.0;
+L = 3.0;
+
+"""
+#Marmousi
+jmrzv = 21.06701972868763
+n_comp = 2
+reg = [np.array([1.0, 0.25, 0.23, 0.21, 0.19, 0.17, 0.15, 0.13, 0.11, 0.09, 0.07, 0.05, 0.03, 0.01, 0.001])] * 2
+mrz = [1,1]
+best = [8,10]
+path = ['SST_LBFGS_LS_TIK/','SST_LBFGS_LS_TV/']
+filename = ['paper2_extended_sst_lbfgs_ls_snr2_tik','paper2_extended_sst_lbfgs_ls_snr2_tv']
+lab = ['TIK','TV']
+col = ['C1','C2']
+mrk = [''] * 2
+lin = ['-'] * 2
+"""
+
+#Concrete 3
+jmrzv = 11177.374443381555
+n_comp = 4
+ms=0
+reg = [ np.array([1e-4, 1e-3, 0.005, 0.025, 0.05, 0.1, 0.25, 0.5]), np.array([1e2, 1.5e2, 2.5e2, 3.75e2, 5e2, 1e3, 1e4, 10.]), np.array([1e-4, 1e-3, 0.005, 0.025, 0.05, 0.1, 0.25, 0.5, 1e-5, 1e-6, 1e-7]), np.array([1e2, 1.5e2, 2.5e2, 3.75e2, 5e2, 1., 10., 1e3, 1e4, 0.1, 0.01]) ]
+mrz = [0,0,0,0]
+best = [0,0,0,0]
+path = ['SST_LBFGS_LS_TIK/','SST_LBFGS_LS_TV/','SSM_LBFGS_LS_TIK/','DF_LBFGS_LS_TV/']
+filename = ['paper2_concrete3_sst_lbfgs_ls_snrm3_tik','paper2_concrete3_sst_lbfgs_ls_snrm3_tv','paper2_concrete3_ssm_lbfgs_ls_snrm3_tik','paper2_concrete3_df_lbfgs_ls_snrm3_tv']
+lab = ['TIK','TV','SSM-TIK','DF-TV']
+col = ['C1','C2'] * 2
+mrk = [''] * 2
+lin = ['-'] * 2 + ['-.'] * 2
+
+performance = [[]] * n_comp
+objective = [[]] * n_comp
+regularization = [[]] * n_comp
+error = [[]] * n_comp
+
+for i in range(0,n_comp):
+    n_reg = np.size(reg[i])
+    performance[i] = np.zeros(n_reg)
+    objective[i] = np.zeros(n_reg)
+    regularization[i] = np.zeros(n_reg)
+    for r in range(0,n_reg):
+        tmp = np.loadtxt(path[i]+filename[i]+str(r)+'_globalminimum_historyg0.csv',delimiter=';',max_rows=1,skiprows=6,dtype=np.float);
+        performance[i][r] = tmp[0]
+        objective[i][r] = tmp[3]
+        regularization[i][r] = tmp[4]
+    tmp = np.loadtxt(path[i]+filename[i]+"_error.csv",delimiter=';',dtype=np.float);
+    error[i] = tmp[:,0]
+        
+#
+# OBJECTIVE
+#
+plt.figure(figsize=(2*L,H),tight_layout=False);
+plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08)
+#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
+plt.grid(zorder=0)
+
+#plt.xlim([1.,0.001])
+#plt.ylim([0.95,1.10])
+plt.xlim([1e4,1e-7])
+plt.ylim([0.99,1.02])
+
+plt.xscale('log')
+#plt.xlabel(r'$\lambda$')
+#plt.ylabel(r'$J(\lambda)$')
+for i in range(0,n_comp,1):
+    idx=np.argsort(reg[i])
+    plt.plot(reg[i][idx],objective[i][idx]/jmrzv,color=col[i],marker='o',zorder=3,markersize=0,linewidth=lw,linestyle=lin[i],label=lab[i])
+    plt.plot(reg[i][best[i]],objective[i][best[i]]/jmrzv,color=col[i],marker='o',zorder=3,markersize=ms)
+    plt.plot(reg[i][mrz[i]],objective[i][mrz[i]]/jmrzv,color=col[i],marker='d',zorder=3,markersize=ms)
+#plt.legend()
+plt.hlines(1., 1e-7, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.)
+
+#
+# PERFORMANCE
+#
+plt.figure(figsize=(2*L,H),tight_layout=False);
+plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08)
+#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
+plt.grid(zorder=0)
+
+#plt.xlim([1.,0.001])
+#plt.ylim([0.95,1.10])
+plt.xlim([1e4,1e-7])
+plt.ylim([0.99,1.02])
+
+plt.xscale('log')
+#plt.xlabel(r'$\lambda$')
+#plt.ylabel(r'$J(\lambda)$')
+for i in range(0,n_comp,1):
+    idx=np.argsort(reg[i])
+    plt.plot(reg[i][idx],performance[i][idx]/jmrzv,color=col[i],marker='o',zorder=3,markersize=0,linewidth=lw,linestyle=lin[i],label=lab[i])
+    plt.plot(reg[i][best[i]],performance[i][best[i]]/jmrzv,color=col[i],marker='o',zorder=3,markersize=ms)
+    plt.plot(reg[i][mrz[i]],performance[i][mrz[i]]/jmrzv,color=col[i],marker='d',zorder=3,markersize=ms)
+#plt.legend()
+plt.hlines(1., 1e-7, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.)
+    
+#
+# ERROR
+#
+plt.figure(figsize=(2*L,H),tight_layout=False);
+plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08)
+#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
+plt.grid(zorder=0)
+
+#plt.ylim([0.10,0.25])
+#plt.xlim([1.,0.001])
+plt.ylim([0.,6.])
+plt.xlim([1e4,1e-7])
+
+plt.xscale('log')
+#plt.xlabel(r'$\lambda$')
+#plt.ylabel(r'$J(\lambda)$')
+for i in range(0,n_comp,1):
+    idx=np.argsort(reg[i])
+    plt.plot(reg[i][idx],error[i][idx],color=col[i],marker='o',zorder=3,markersize=0,linewidth=lw,linestyle=lin[i],label=lab[i])
+    plt.plot(reg[i][mrz[i]],error[i][mrz[i]],color=col[i],marker='d',zorder=3,markersize=ms)
+    plt.plot(reg[i][best[i]],error[i][best[i]],color=col[i],marker='o',zorder=3,markersize=ms)
+#plt.legend()
+
+#
+# L-CURVE
+#
+plt.figure(figsize=(2*L,H),tight_layout=False);
+plt.subplots_adjust(top=0.95,right=0.98,bottom=0.20,left=0.15)
+plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
+plt.grid(zorder=0)
+#plt.xlim([0,max_forward])
+#plt.xticks(np.arange(0,max_forward+1,Δmax_forward))
+#plt.ylim([0.425,1.5])
+plt.yscale('log')
+plt.xscale('log')
+plt.xlabel(r'$J(m)$')
+plt.ylabel(r'$R(m)$')
+for i in range(0,n_comp,1):
+    idx=np.argsort(reg[i])
+    plt.plot(objective[i][idx]/jmrzv,np.divide(regularization[i][idx],reg[i][idx]),color=col[i],marker='o',linewidth=lw,linestyle=lin[i],zorder=3,markersize=3)
+plt.vlines(1., 0, 1e4, colors='k', linestyles='dashed', zorder=1, linewidth=lw/2.)
+#plt.legend()        
\ No newline at end of file
diff --git a/lcurve2.py b/lcurve2.py
new file mode 100644
index 0000000000000000000000000000000000000000..6212f8789366cb6c4b55058c51b1e1680ccce38f
--- /dev/null
+++ b/lcurve2.py
@@ -0,0 +1,95 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Nov  1 16:56:40 2022
+
+@author: xavier
+"""
+
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib import rc
+plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False
+plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True
+rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}')
+rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10})
+rc('text', usetex=True)
+lw = 1.5
+ms=5
+H = 2.0;
+L = 3.0;
+
+# Cross: TIK
+jmrzv = 0.6931585837012904
+reg0 = np.array([1.75e-5, 3e-5, 5.25e-5, 1e-4, 1.75e-4, 3e-4, 5.25e-4])
+reg1 = np.array([3e-6, 1e-6, 3e-6, 1e-5, 3e-5, 1e-4, 3e-4])
+N0 = np.size(reg0)
+N1 = np.size(reg1)
+
+path = 'SST_LBFGS_LS_TIK/'
+filename = 'cross_sst2_lbfgs_ls_snr6_tik'
+
+"""
+# Cross: TV
+jmrzv = 0.6931585837012904
+reg0 = np.array([3e-5, 5.25e-5, 1e-4, 1.75e-4, 3e-4, 5.25e-4, 1e-3])
+reg1 = np.array([5.25e-6, 1e-5, 1.75e-5, 3e-5, 5.25e-5, 1e-4, 1.75e-4])
+N0 = np.size(reg0)
+N1 = np.size(reg1)
+
+path = 'SST_LBFGS_LS_TV/'
+filename = 'cross_sst2_lbfgs_ls_snr6_tv'
+"""
+
+performance = np.zeros([N0,N1])
+objective = np.zeros([N0,N1])
+regularization = np.zeros([N0,N1])
+error = np.zeros([N0,N1,2])
+
+tmp_error = np.loadtxt(path+filename+"_error.csv",delimiter=';',dtype=np.float);
+for n1 in range(0,N1):
+    for n0 in range(0,N0):
+        tmp = np.loadtxt(path+filename+str(n1*N1+n0)+'_globalminimum_historyg0.csv',delimiter=';',max_rows=1,skiprows=6,dtype=np.float);
+        performance[n0,n1] = tmp[0]
+        objective[n0,n1] = tmp[3]
+        regularization[n0,n1] = tmp[4]
+        error[n0,n1,0] = tmp_error[n1+N0*n0,0]
+        error[n0,n1,1] = tmp_error[n1+N0*n0,2]
+
+#
+# ERROR
+#
+border0 = np.zeros(N0+1)
+for n0 in range(0,N0-1):
+    border0[n0+1] = (np.log10(reg0[n0])+np.log10(reg0[n0+1]))/2.
+    border0[n0+1] = 10**border0[n0+1]
+border0[0] = np.log10(border0[1]) - (np.log10(border0[2])-np.log10(border0[1]))
+border0[0] = 10**border0[0]
+border0[N0] = np.log10(border0[N0-1]) + (np.log10(border0[N0-1])-np.log10(border0[N0-2]))
+border0[N0] = 10**border0[N0]
+
+border1 = np.zeros(N1+1)
+for n1 in range(0,N1-1):
+    border1[n1+1] = (np.log10(reg1[n1])+np.log10(reg1[n1+1]))/2.
+    border1[n1+1] = 10**border1[n1+1]
+border1[0] = np.log10(border1[1]) - (np.log10(border1[2])-np.log10(border1[1]))
+border1[0] = 10**border1[0]
+border1[N1] = np.log10(border1[N1-1]) + (np.log10(border1[N1-1])-np.log10(border1[N1-2]))
+border1[N1] = 10**border1[N1]
+
+figure=plt.figure(figsize=(L,H),tight_layout=False)
+plt.subplots_adjust(top=0.90,right=0.95,bottom=0.13,left=0.13)
+ax=plt.subplot()
+ax.yaxis.set_label_position("right")
+ax.set_ylabel('Y', rotation=-90, labelpad=15)
+ax.xaxis.set_label_position("top")
+ax.set_xlabel('Y', rotation=0, labelpad=5)
+#vmax=1.5
+plt.pcolor(border0,border1,(1.*error[:,:,0]+1.*error[:,:,1])/2,vmin=0.5,vmax=1.0)
+plt.xlabel(r'$\lambda_{\epsilon}$')
+plt.ylabel(r'$\lambda_{\sigma}$')
+plt.xscale('log')
+plt.yscale('log')
+plt.colorbar(pad=0.15,ticks=[0.5, 0.75, 1.0])
+
+
diff --git a/plot_timewave.py b/plot_timewave.py
new file mode 100644
index 0000000000000000000000000000000000000000..52e944e4cf7fe2eba17b75f71bb6d811d4befe5b
--- /dev/null
+++ b/plot_timewave.py
@@ -0,0 +1,118 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Aug 25 14:43:28 2022
+
+@author: xavier
+"""
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib import rc
+plt.rcParams['xtick.bottom'] = plt.rcParams['xtick.labelbottom'] = False
+plt.rcParams['xtick.top'] = plt.rcParams['xtick.labeltop'] = True
+rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}')
+rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10})
+rc('text', usetex=True)
+lw = 1.5
+H = 2.0;
+L = 3.0;
+
+"""
+# Marmousi
+path = "extended_marmousi_data/"
+
+prename = "timewave_synthetics_data"; s = 61
+#prename = "timewave_synthetics_data_snr2"; s = 61
+#prename = "paper2_extended_timewave_initial_data"; s = 0
+prename = "paper2_extended_timewave_inverse_data"; s = 0
+
+T=8.0
+Δt=0.004
+Nr=242
+
+
+amplitude = 0.02
+Te=4.0
+time_samp = 4
+ΔNr = 60
+ΔT = 1.
+"""
+
+# Concrete 3
+"""
+path = "concrete3_data/"
+
+prename = "timewave_synthetics_data"; s = 134
+#prename = "timewave_synthetics_data_snrm3"; s = 134
+#prename = "paper2_concrete3_timewave_initial_data"; s = 0
+#prename = "paper2_concrete3_timewave_inverse_data"; s = 0
+
+T=200 #[ms]
+Δt=0.1 #[ms]
+Nr=226
+
+
+amplitude = 0.1
+Te=100 #[ms]
+time_samp = 4
+ΔNr = 50
+ΔT = 25 #[ms]
+"""
+
+# Cross
+path = "cross_data/"
+
+prename = "cross_time_synthetics_data"; s = 20
+#prename = "cross_time_synthetics_data_snr6"; s = 20
+#prename = "cross_timewave_initial_data"; s = 0
+#prename = "cross_timewave_inverse_data"; s = 0
+
+T=100.
+Δt=1e-2
+Nr=119
+
+
+amplitude = 0.01
+#amplitude = 0.0005
+Te=50
+time_samp = 20
+ΔNr = 20
+ΔT = 10
+
+
+"""
+# S-Cube
+path = "win_data/"
+
+prename = "scube_winsynthetics_data"; s = 0
+
+T=20.0
+Δt=0.02
+Nr=1818
+
+
+amplitude = 0.002
+Te=6.98
+time_samp = 1
+ΔNr = 80
+ΔT = 4.
+"""
+
+#
+# Time domain
+#
+
+N=np.int(Te/Δt)
+data = np.zeros([np.int(N/time_samp)+1,Nr]);
+
+for n in range(0,N+1,time_samp):
+    tmp = np.loadtxt(path+prename+"f"+str(n)+".csv",delimiter=";",ndmin=2);
+    data[np.int(n/time_samp),:] = tmp[s,0:2*Nr:2]
+  
+figure=plt.figure(figsize=(L,2*H),tight_layout=False)
+plt.subplots_adjust(top=0.92,right=0.9,bottom=0.03,left=0.1)
+plt.gca().invert_yaxis()
+time = np.arange(0,N+time_samp+1,time_samp)*Δt #[s]
+plt.pcolormesh(np.arange(0,Nr+1,1)-0.5,time-Δt*time_samp/2,data[:,:],vmin=-amplitude,vmax=amplitude,cmap='binary')
+plt.xticks(np.arange(0,Nr,ΔNr));
+plt.yticks(np.arange(0,Te*1.1,ΔT));
\ No newline at end of file
diff --git a/specific/configuration/circular_acquisition.cpp b/specific/configuration/circular_acquisition.cpp
index 9cc7caefeed85bf474b965d83dfc0cf9152c4fcf..beb2b8aac2268a94740df0c854c1e23f6df4cf47 100644
--- a/specific/configuration/circular_acquisition.cpp
+++ b/specific/configuration/circular_acquisition.cpp
@@ -191,16 +191,17 @@ namespace circular_acquisition
         _mi.resize(model_size());
         for (unsigned int c = 0; c < model_size(); c++)
         {
+            std::string suffix = "c"+std::to_string(c);
             double Remb, Immb;
             if
             (!
                 (
-                    gmshFem.userDefinedParameter(Remb, "Re(mbc"+std::to_string(c)+")") &&
-                    gmshFem.userDefinedParameter(Immb, "Im(mbc"+std::to_string(c)+")")
+                    gmshFem.userDefinedParameter(Remb, "Re(mb"+suffix+")") &&
+                    gmshFem.userDefinedParameter(Immb, "Im(mb"+suffix+")")
                 )
             )
             {
-                throw common::Exception("Background (reference) model parameter (component"+std::to_string(c)+") could not be found.");
+                throw common::Exception("Background (reference) model parameter (component "+suffix+" ) could not be found.");
             }
             else
             {
@@ -208,14 +209,40 @@ namespace circular_acquisition
                 _mc[c] = _mb[c];
             }
             ScalarPiecewiseFunction< std::complex< double > > m0;
-            std::string path;
-            if(gmshFem.userDefinedParameter(path, "mb_path"))
+            std::string m0_type = "constant";
+            if(!gmshFem.userDefinedParameter(m0_type, "m0_type"+suffix))
             {
-                m0.addFunction(bilinearInterpolation(path,true),_background[Support::BLK] | _background[Support::BND] | _points);
+                msg::warning << "Reference model type could not be found. Constant background is used (default)." << msg::endl;
+            }
+            if(m0_type=="file")
+            {
+                std::string path = "";
+                if(!gmshFem.userDefinedParameter(path, "m0_path"+suffix))
+                {
+                    throw common::Exception("Path to circular data could not be found.");
+                }
+                m0.addFunction(bilinearInterpolation(path),_background[Support::BLK] | _background[Support::BND] );
+            }
+            else if(m0_type=="file.pos")
+            {
+                std::string path = "";
+                if(!gmshFem.userDefinedParameter(path, "m0_path"+suffix))
+                {
+                    throw common::Exception("Path to model file could not be found.");
+                }
+
+                gmsh::merge(path+suffix+".pos");
+                ScalarFunction<std::complex<double>> mpos = probeScalarView<std::complex<double>>(c);
+
+                m0.addFunction(mpos,_background[Support::BLK] | _background[Support::BND]);
+            }
+            else if(m0_type=="constant")
+            {
+                m0.addFunction(_mb[c],_background[Support::BLK] | _background[Support::BND]);
             }
             else
             {
-                m0.addFunction(_mb[c],_background[Support::BLK] | _background[Support::BND] | _points);
+                throw common::Exception("Initial model type ("+ suffix + ") " + m0_type +" is unknown.");
             }
 
             _mi[c].resize(_ni);
@@ -224,8 +251,8 @@ namespace circular_acquisition
                 double Remi=0., Immi=0.;
                 if
                 (
-                    !(gmshFem.userDefinedParameter(Remi, "Re(mi"+std::to_string(i)+"c"+std::to_string(c)+")") &&
-                    gmshFem.userDefinedParameter(Immi, "Im(mi"+std::to_string(i)+"c"+std::to_string(c)+")"))
+                    !(gmshFem.userDefinedParameter(Remi, "Re(mi"+std::to_string(i)+suffix+")") &&
+                    gmshFem.userDefinedParameter(Immi, "Im(mi"+std::to_string(i)+suffix+")"))
                 )
                 {
                     throw Exception("Inclusion model parameter could not be found.");
diff --git a/specific/configuration/rectangular_acquisition.cpp b/specific/configuration/rectangular_acquisition.cpp
index 18f9ab5a48998329db83e12eb2d930aa063c9672..cb94c07d9da08e53d056d91af56e57482fd8f98c 100644
--- a/specific/configuration/rectangular_acquisition.cpp
+++ b/specific/configuration/rectangular_acquisition.cpp
@@ -251,7 +251,7 @@ namespace rectangular_acquisition
                 }
 
                 gmsh::merge(path+suffix+".pos");
-                ScalarFunction<std::complex<double>> mpos = probeScalarView<std::complex<double>>(0);
+                ScalarFunction<std::complex<double>> mpos = probeScalarView<std::complex<double>>(c);
 
                 m0.addFunction(mpos,_background[Support::BLK] | _background[Support::BND]);
             }
diff --git a/time_synthetics_wave.cpp b/time_synthetics_wave.cpp
index b34639273140c27dc6dbdd3e123acb9856912c13..c4f095728ee697dd3c5923658e50548c6d6b389b 100644
--- a/time_synthetics_wave.cpp
+++ b/time_synthetics_wave.cpp
@@ -306,6 +306,12 @@ int main(int argc, char **argv)
             {
                 data.value(n,s,r, integrate(p,config->receiver(s,r),"Gauss0"));
             }
+            /*
+            if(n % 100 == 0)
+            {
+                save(p, config->model_known(Support::BLK), "p"+std::to_string(n), "pos", "");
+            }
+            */
         }
         VecZeroEntries(vRhs);
         VecZeroEntries(vx_prev);
diff --git a/timewave.py b/timewave.py
new file mode 100644
index 0000000000000000000000000000000000000000..10ea54b131fff3249eda8da68880fd7655b7cb53
--- /dev/null
+++ b/timewave.py
@@ -0,0 +1,141 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Oct  5 12:32:05 2022
+
+@author: xavier
+"""
+import numpy as np
+import matplotlib.pyplot as plt
+from matplotlib import rc
+rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb}')
+rc('font',**{'family':'serif','sans-serif':['Times New Roman'],'size':15})
+rc('text', usetex=True)
+#Value for 1 width figure
+H = 3.;
+W = 8.;
+
+"""
+# Marmousi
+path = "extended_marmousi_data/"
+prename = "timewave_synthetics_data"
+T=8.0
+Δt=0.004
+Nr=242
+Ns = 122
+
+snr = 2.**2
+noise_tag = "snr2"
+
+#source
+offset = 0.3
+fm = 6.
+
+prename2 = "paper2_extended_synthetics_data"
+Nf=3
+freqf = np.array([4.,6.,8.]) #[Hz]
+"""
+
+"""
+# Concrete 3
+path = "concrete3_data/"
+prename = "timewave_synthetics_data"
+T=0.2
+Δt=1e-4
+Nr=226
+Ns=227
+
+snr = 2.**(-3)
+noise_tag = "snrm3"
+
+#source
+offset = 0.0075
+fm = 150.
+
+prename2 = "paper2_concrete3_synthetics_data"
+Nf=9
+freqf = np.linspace(100,300,9) #[Hz]
+"""
+
+# Cross
+path = "cross_data/"
+prename = "cross_time_synthetics_data"
+T=100.
+Δt=1e-2
+Nr=119
+Ns=40
+amplitude = 0.01
+
+snr = 2.**(6)
+noise_tag = "snr6"
+
+#source
+offset = 3.75
+fm = 0.33
+
+prename2 = "cross_synthetics_data"
+Nf=7
+freqf =  np.array( [ 0.17, 0.2, 0.23, 0.27, 0.33, 0.5, 0.67 ] ) # [Hz] ?
+
+#
+# Load
+#
+N=np.int(T/Δt)
+time = np.arange(0,N,1)*Δt #[s]
+freq = np.fft.rfftfreq(time.shape[-1],d=Δt) #[Hz]
+data = np.zeros([Ns,Nr,N]);
+
+for n in range(0,N):
+    tmp = np.loadtxt(path+prename+"f"+str(n)+".csv",delimiter=";");
+    data[:,:,n] = tmp[0:Ns,0:2*Nr:2]
+signal_nrm = np.linalg.norm(np.linalg.norm(data,axis=2))**2 / Ns / Nr  * Δt
+
+#
+# Noise
+#
+B=2.5*fm
+σ = np.sqrt(signal_nrm/(2*B*Δt*T*snr))
+white_noise = np.random.normal(0.0,σ,[Ns,Nr,N])
+
+freq_noise = np.zeros([Ns,Nr,np.int(N/2)+1])*1j;
+noise = np.zeros([Ns,Nr,N])
+freq_cut_idx = np.int(np.ceil(B*T))
+for s in range(0,Ns):
+    for r in range(0,Nr):
+        freq_noise[s,r,0:(freq_cut_idx+1)] = np.fft.rfft(white_noise[s,r,:])[0:(freq_cut_idx+1)]
+        noise[s,r,:] = np.fft.irfft(freq_noise[s,r,:])     
+noise_nrm = np.linalg.norm(np.linalg.norm(noise,axis=2))**2 / Ns / Nr  * Δt
+        
+noisy_data = data + noise
+
+for n in range(0,N):
+    np.savetxt(path+prename+"_"+noise_tag+"f"+str(n)+".csv",(noisy_data[:,:,n]+0j).view(float),delimiter=";",fmt='%.18e');
+
+#
+# Fourier transform
+#
+freq = np.fft.rfftfreq(time.shape[-1],d=Δt) #[Hz]
+
+excitation = 2. / np.sqrt(np.pi) * freq**2 / fm**3 * np.exp(-freq**2/fm**2) * np.exp(-2j * np.pi * freq * offset)
+
+freq_noisy_data = np.zeros([Ns,Nr,np.int(N/2)+1])*1j;
+freq_data = np.zeros([Ns,Nr,np.int(N/2)+1])*1j;
+for s in range(0,Ns):
+    for r in range(0,Nr):
+        freq_noisy_data[s,r,:] = np.fft.rfft(noisy_data[s,r,:]) * Δt
+        freq_data[s,r,:] = np.fft.rfft(data[s,r,:]) * Δt
+
+#
+# Frequency domain
+#
+freq_dataf = np.zeros([Ns,Nr,Nf])*1j;
+
+for f in range(0,Nf):
+    tmp = np.loadtxt(path+prename2+str(f)+".csv",delimiter=";");
+    freq_dataf[:,:,f] = tmp[0:Ns,0:2*Nr:2] + tmp[0:Ns,1:2*Nr:2]*1j 
+
+
+#write
+for f in range(0,np.size(freqf)):
+    idx = np.where(freq == freqf[f])[0][0]
+    np.savetxt(path+prename2+"_"+noise_tag+"f"+str(f)+".csv",freq_noisy_data[:,:,idx]/excitation[idx],fmt=['%.18e;%.18e']*Nr, delimiter=";");