From 915d64e8b239bffdf24f901c561bb11684f219ab Mon Sep 17 00:00:00 2001
From: Le Roux Erwan <erwan.le-roux@irstea.fr>
Date: Wed, 18 Mar 2020 15:38:26 +0100
Subject: [PATCH] [refactoring] move margin function, and param function

---
 .../meteo_france_data/scm_models_data/abstract_study.py   | 4 +---
 .../visualization/study_visualization/study_visualizer.py | 4 ++--
 experiment/regression_margin/regression_margin.py         | 2 +-
 experiment/simulation/abstract_simulation.py              | 6 +++---
 experiment/trend_analysis/non_stationary_trends.py        | 2 +-
 extreme_fit/estimator/abstract_estimator.py               | 2 +-
 .../estimator/full_estimator/abstract_full_estimator.py   | 2 +-
 .../margin_estimator/abstract_margin_estimator.py         | 2 +-
 .../quantile_estimator/abstract_quantile_function.py      | 2 +-
 extreme_fit/estimator/utils.py                            | 2 +-
 .../margin_model/margin_function => function}/__init__.py | 0
 extreme_fit/function/abstract_function.py                 | 4 ++++
 .../margin_function}/__init__.py                          | 0
 .../margin_function/abstract_margin_function.py           | 0
 .../margin_function/combined_margin_function.py           | 2 +-
 .../margin_function/independent_margin_function.py        | 4 ++--
 .../margin_function/linear_margin_function.py             | 8 ++++----
 .../margin_function/parametric_margin_function.py         | 6 +++---
 .../margin_function/spline_margin_function.py             | 8 ++++----
 .../margin_model => function}/margin_function/utils.py    | 2 +-
 extreme_fit/function/param_function/__init__.py           | 0
 .../param_function/abstract_coef.py                       | 0
 .../param_function/linear_coef.py                         | 2 +-
 .../param_function/param_function.py                      | 4 ++--
 .../param_function/spline_coef.py                         | 2 +-
 extreme_fit/model/margin_model/abstract_margin_model.py   | 2 +-
 .../linear_margin_model/linear_margin_model.py            | 5 ++---
 extreme_fit/model/margin_model/parametric_margin_model.py | 2 +-
 extreme_fit/model/margin_model/spline_margin_model.py     | 6 +++---
 .../abstract_extract_eurocode_return_level.py             | 4 ++--
 .../result_from_model_fit/result_from_spatial_extreme.py  | 2 +-
 extreme_fit/model/result_from_model_fit/utils.py          | 2 +-
 test/test_extreme_fit/test_model/test_margin_function.py  | 4 ++--
 33 files changed, 49 insertions(+), 48 deletions(-)
 rename extreme_fit/{model/margin_model/margin_function => function}/__init__.py (100%)
 create mode 100644 extreme_fit/function/abstract_function.py
 rename extreme_fit/{model/margin_model/param_function => function/margin_function}/__init__.py (100%)
 rename extreme_fit/{model/margin_model => function}/margin_function/abstract_margin_function.py (100%)
 rename extreme_fit/{model/margin_model => function}/margin_function/combined_margin_function.py (94%)
 rename extreme_fit/{model/margin_model => function}/margin_function/independent_margin_function.py (90%)
 rename extreme_fit/{model/margin_model => function}/margin_function/linear_margin_function.py (92%)
 rename extreme_fit/{model/margin_model => function}/margin_function/parametric_margin_function.py (94%)
 rename extreme_fit/{model/margin_model => function}/margin_function/spline_margin_function.py (86%)
 rename extreme_fit/{model/margin_model => function}/margin_function/utils.py (93%)
 create mode 100644 extreme_fit/function/param_function/__init__.py
 rename extreme_fit/{model/margin_model => function}/param_function/abstract_coef.py (100%)
 rename extreme_fit/{model/margin_model => function}/param_function/linear_coef.py (97%)
 rename extreme_fit/{model/margin_model => function}/param_function/param_function.py (94%)
 rename extreme_fit/{model/margin_model => function}/param_function/spline_coef.py (93%)

diff --git a/experiment/meteo_france_data/scm_models_data/abstract_study.py b/experiment/meteo_france_data/scm_models_data/abstract_study.py
index 0e548d1a..23a7a7ec 100644
--- a/experiment/meteo_france_data/scm_models_data/abstract_study.py
+++ b/experiment/meteo_france_data/scm_models_data/abstract_study.py
@@ -1,8 +1,6 @@
 import datetime
 
 from matplotlib.lines import Line2D
-from matplotlib.markers import MarkerStyle
-from matplotlib.patches import Polygon, Patch
 import io
 import os
 import os.path as op
@@ -25,7 +23,7 @@ from experiment.meteo_france_data.scm_models_data.scm_constants import ALTITUDES
     LATITUDES, ORIENTATIONS, SLOPES, ORDERED_ALLSLOPES_ALTITUDES, ORDERED_ALLSLOPES_ORIENTATIONS, \
     ORDERED_ALLSLOPES_SLOPES, ORDERED_ALLSLOPES_MASSIFNUM
 from experiment.meteo_france_data.scm_models_data.visualization.utils import get_km_formatter
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from experiment.meteo_france_data.plot.create_shifted_cmap import create_colorbase_axis, \
     get_shifted_map, get_colors
diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
index 1a221eb9..264c7566 100644
--- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
+++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py
@@ -29,9 +29,9 @@ from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import Lin
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import \
     LinearNonStationaryLocationMarginModel, \
     LinearStationaryMarginModel
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction
+from extreme_fit.function.param_function.param_function import AbstractParamFunction
 from extreme_fit.model.max_stable_model.abstract_max_stable_model import CovarianceFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from extreme_fit.distribution.gev.ismev_gev_fit import IsmevGevFit
diff --git a/experiment/regression_margin/regression_margin.py b/experiment/regression_margin/regression_margin.py
index 6d4d1813..0dfcdccc 100644
--- a/experiment/regression_margin/regression_margin.py
+++ b/experiment/regression_margin/regression_margin.py
@@ -1,7 +1,7 @@
 import numpy as np
 
 from extreme_fit.estimator.full_estimator.abstract_full_estimator import FullEstimatorInASingleStepWithSmoothMargin
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearAllParametersAllDimsMarginModel, \
     ConstantMarginModel
 from extreme_fit.model.max_stable_model.max_stable_models import Smith
diff --git a/experiment/simulation/abstract_simulation.py b/experiment/simulation/abstract_simulation.py
index bc4e14e3..2a94a6bc 100644
--- a/experiment/simulation/abstract_simulation.py
+++ b/experiment/simulation/abstract_simulation.py
@@ -14,11 +14,11 @@ import seaborn as sns
 from numpy.linalg import LinAlgError
 
 from extreme_fit.estimator.abstract_estimator import AbstractEstimator
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
-from extreme_fit.model.margin_model.margin_function.combined_margin_function import \
+from extreme_fit.function.margin_function.combined_margin_function import \
     CombinedMarginFunction
-from extreme_fit.model.margin_model.margin_function.utils import error_dict_between_margin_functions
+from extreme_fit.function.margin_function.utils import error_dict_between_margin_functions
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.dataset.abstract_dataset import get_subset_dataset
 from spatio_temporal_dataset.dataset.simulation_dataset import SimulatedDataset
diff --git a/experiment/trend_analysis/non_stationary_trends.py b/experiment/trend_analysis/non_stationary_trends.py
index 2f62913c..2c63e957 100644
--- a/experiment/trend_analysis/non_stationary_trends.py
+++ b/experiment/trend_analysis/non_stationary_trends.py
@@ -14,7 +14,7 @@ from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model impo
     LinearStationaryMarginModel, LinearNonStationaryLocationMarginModel
 from extreme_fit.model.margin_model.linear_margin_model.temporal_linear_margin_models import \
     StationaryTemporalModel, NonStationaryLocationTemporalModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.utils import OptimizationConstants
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
 from root_utils import get_display_name_from_object_type
diff --git a/extreme_fit/estimator/abstract_estimator.py b/extreme_fit/estimator/abstract_estimator.py
index 5e8b880e..d9be7274 100644
--- a/extreme_fit/estimator/abstract_estimator.py
+++ b/extreme_fit/estimator/abstract_estimator.py
@@ -3,7 +3,7 @@ from typing import Union
 from cached_property import cached_property
 
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import AbstractResultFromModelFit
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
 
diff --git a/extreme_fit/estimator/full_estimator/abstract_full_estimator.py b/extreme_fit/estimator/full_estimator/abstract_full_estimator.py
index 754054f3..2657a881 100644
--- a/extreme_fit/estimator/full_estimator/abstract_full_estimator.py
+++ b/extreme_fit/estimator/full_estimator/abstract_full_estimator.py
@@ -5,7 +5,7 @@ from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import Lin
 from extreme_fit.estimator.max_stable_estimator.abstract_max_stable_estimator import MaxStableEstimator
 from extreme_fit.estimator.utils import load_margin_function
 from extreme_fit.model.margin_model.abstract_margin_model import AbstractMarginModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearMarginModel
 from extreme_fit.model.max_stable_model.abstract_max_stable_model import AbstractMaxStableModel
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
diff --git a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py
index d4b756e1..0e6f6537 100644
--- a/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py
+++ b/extreme_fit/estimator/margin_estimator/abstract_margin_estimator.py
@@ -5,7 +5,7 @@ from cached_property import cached_property
 from extreme_fit.estimator.abstract_estimator import AbstractEstimator
 from extreme_fit.estimator.utils import load_margin_function, compute_nllh
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearMarginModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import AbstractResultFromModelFit
 from spatio_temporal_dataset.dataset.abstract_dataset import AbstractDataset
 from spatio_temporal_dataset.slicer.split import Split
diff --git a/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py b/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py
index d39b121f..ef9af2fa 100644
--- a/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py
+++ b/extreme_fit/estimator/quantile_estimator/abstract_quantile_function.py
@@ -1,6 +1,6 @@
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import AbstractMarginFunction
+from extreme_fit.function.margin_function.abstract_margin_function import AbstractMarginFunction
 
 
 class AbstractQuantileFunction(object):
diff --git a/extreme_fit/estimator/utils.py b/extreme_fit/estimator/utils.py
index 5ffa53e8..e66669fc 100644
--- a/extreme_fit/estimator/utils.py
+++ b/extreme_fit/estimator/utils.py
@@ -2,7 +2,7 @@ import numpy as np
 
 from extreme_fit.estimator.abstract_estimator import AbstractEstimator
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearMarginModel
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 
 
 def load_margin_function(estimator: AbstractEstimator, margin_model: LinearMarginModel,
diff --git a/extreme_fit/model/margin_model/margin_function/__init__.py b/extreme_fit/function/__init__.py
similarity index 100%
rename from extreme_fit/model/margin_model/margin_function/__init__.py
rename to extreme_fit/function/__init__.py
diff --git a/extreme_fit/function/abstract_function.py b/extreme_fit/function/abstract_function.py
new file mode 100644
index 00000000..0cf3bcfb
--- /dev/null
+++ b/extreme_fit/function/abstract_function.py
@@ -0,0 +1,4 @@
+
+
+class AbstractFunction(object):
+    pass
\ No newline at end of file
diff --git a/extreme_fit/model/margin_model/param_function/__init__.py b/extreme_fit/function/margin_function/__init__.py
similarity index 100%
rename from extreme_fit/model/margin_model/param_function/__init__.py
rename to extreme_fit/function/margin_function/__init__.py
diff --git a/extreme_fit/model/margin_model/margin_function/abstract_margin_function.py b/extreme_fit/function/margin_function/abstract_margin_function.py
similarity index 100%
rename from extreme_fit/model/margin_model/margin_function/abstract_margin_function.py
rename to extreme_fit/function/margin_function/abstract_margin_function.py
diff --git a/extreme_fit/model/margin_model/margin_function/combined_margin_function.py b/extreme_fit/function/margin_function/combined_margin_function.py
similarity index 94%
rename from extreme_fit/model/margin_model/margin_function/combined_margin_function.py
rename to extreme_fit/function/margin_function/combined_margin_function.py
index ef3b683b..08737bc1 100644
--- a/extreme_fit/model/margin_model/margin_function/combined_margin_function.py
+++ b/extreme_fit/function/margin_function/combined_margin_function.py
@@ -3,7 +3,7 @@ from itertools import combinations
 
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/extreme_fit/model/margin_model/margin_function/independent_margin_function.py b/extreme_fit/function/margin_function/independent_margin_function.py
similarity index 90%
rename from extreme_fit/model/margin_model/margin_function/independent_margin_function.py
rename to extreme_fit/function/margin_function/independent_margin_function.py
index 49dd3329..74fe3131 100644
--- a/extreme_fit/model/margin_model/margin_function/independent_margin_function.py
+++ b/extreme_fit/function/margin_function/independent_margin_function.py
@@ -2,9 +2,9 @@ from typing import Dict, Union
 
 import numpy as np
 
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction
+from extreme_fit.function.param_function.param_function import AbstractParamFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
diff --git a/extreme_fit/model/margin_model/margin_function/linear_margin_function.py b/extreme_fit/function/margin_function/linear_margin_function.py
similarity index 92%
rename from extreme_fit/model/margin_model/margin_function/linear_margin_function.py
rename to extreme_fit/function/margin_function/linear_margin_function.py
index 157a62b9..d89a7a59 100644
--- a/extreme_fit/model/margin_model/margin_function/linear_margin_function.py
+++ b/extreme_fit/function/margin_function/linear_margin_function.py
@@ -1,11 +1,11 @@
 from typing import Dict, List, Union
 
 from extreme_fit.distribution.abstract_params import AbstractParams
-from extreme_fit.model.margin_model.margin_function.parametric_margin_function import \
+from extreme_fit.function.margin_function.parametric_margin_function import \
     ParametricMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction, \
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.param_function import AbstractParamFunction, \
     LinearParamFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/extreme_fit/model/margin_model/margin_function/parametric_margin_function.py b/extreme_fit/function/margin_function/parametric_margin_function.py
similarity index 94%
rename from extreme_fit/model/margin_model/margin_function/parametric_margin_function.py
rename to extreme_fit/function/margin_function/parametric_margin_function.py
index 89a26baa..57037216 100644
--- a/extreme_fit/model/margin_model/margin_function/parametric_margin_function.py
+++ b/extreme_fit/function/margin_function/parametric_margin_function.py
@@ -2,10 +2,10 @@ from typing import Dict, List, Union
 
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.independent_margin_function import \
+from extreme_fit.function.margin_function.independent_margin_function import \
     IndependentMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction, \
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.param_function import AbstractParamFunction, \
     ConstantParamFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
diff --git a/extreme_fit/model/margin_model/margin_function/spline_margin_function.py b/extreme_fit/function/margin_function/spline_margin_function.py
similarity index 86%
rename from extreme_fit/model/margin_model/margin_function/spline_margin_function.py
rename to extreme_fit/function/margin_function/spline_margin_function.py
index ef8af6af..d7f9cb2b 100644
--- a/extreme_fit/model/margin_model/margin_function/spline_margin_function.py
+++ b/extreme_fit/function/margin_function/spline_margin_function.py
@@ -2,12 +2,12 @@ from typing import Dict, List
 
 import numpy as np
 
-from extreme_fit.model.margin_model.margin_function.parametric_margin_function import \
+from extreme_fit.function.margin_function.parametric_margin_function import \
     ParametricMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.param_function import AbstractParamFunction, \
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.param_function import AbstractParamFunction, \
     SplineParamFunction
-from extreme_fit.model.margin_model.param_function.spline_coef import SplineCoef
+from extreme_fit.function.param_function.spline_coef import SplineCoef
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
diff --git a/extreme_fit/model/margin_model/margin_function/utils.py b/extreme_fit/function/margin_function/utils.py
similarity index 93%
rename from extreme_fit/model/margin_model/margin_function/utils.py
rename to extreme_fit/function/margin_function/utils.py
index bc3aec46..5f5fdac2 100644
--- a/extreme_fit/model/margin_model/margin_function/utils.py
+++ b/extreme_fit/function/margin_function/utils.py
@@ -1,4 +1,4 @@
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
 from extreme_fit.distribution.gev.gev_params import GevParams
 
diff --git a/extreme_fit/function/param_function/__init__.py b/extreme_fit/function/param_function/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/extreme_fit/model/margin_model/param_function/abstract_coef.py b/extreme_fit/function/param_function/abstract_coef.py
similarity index 100%
rename from extreme_fit/model/margin_model/param_function/abstract_coef.py
rename to extreme_fit/function/param_function/abstract_coef.py
diff --git a/extreme_fit/model/margin_model/param_function/linear_coef.py b/extreme_fit/function/param_function/linear_coef.py
similarity index 97%
rename from extreme_fit/model/margin_model/param_function/linear_coef.py
rename to extreme_fit/function/param_function/linear_coef.py
index 85755931..10cdd1c1 100644
--- a/extreme_fit/model/margin_model/param_function/linear_coef.py
+++ b/extreme_fit/function/param_function/linear_coef.py
@@ -1,6 +1,6 @@
 from typing import Dict, List
 
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
diff --git a/extreme_fit/model/margin_model/param_function/param_function.py b/extreme_fit/function/param_function/param_function.py
similarity index 94%
rename from extreme_fit/model/margin_model/param_function/param_function.py
rename to extreme_fit/function/param_function/param_function.py
index 61cb890d..38e4f6b5 100644
--- a/extreme_fit/model/margin_model/param_function/param_function.py
+++ b/extreme_fit/function/param_function/param_function.py
@@ -1,7 +1,7 @@
 from typing import List
 import numpy as np
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
-from extreme_fit.model.margin_model.param_function.spline_coef import SplineCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.spline_coef import SplineCoef
 
 
 class AbstractParamFunction(object):
diff --git a/extreme_fit/model/margin_model/param_function/spline_coef.py b/extreme_fit/function/param_function/spline_coef.py
similarity index 93%
rename from extreme_fit/model/margin_model/param_function/spline_coef.py
rename to extreme_fit/function/param_function/spline_coef.py
index c3564d8f..c5983fe6 100644
--- a/extreme_fit/model/margin_model/param_function/spline_coef.py
+++ b/extreme_fit/function/param_function/spline_coef.py
@@ -1,6 +1,6 @@
 from typing import Dict
 
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
 
 
 class PolynomialCoef(AbstractCoef):
diff --git a/extreme_fit/model/margin_model/abstract_margin_model.py b/extreme_fit/model/margin_model/abstract_margin_model.py
index a9436f6b..24593139 100644
--- a/extreme_fit/model/margin_model/abstract_margin_model.py
+++ b/extreme_fit/model/margin_model/abstract_margin_model.py
@@ -4,7 +4,7 @@ import numpy as np
 import pandas as pd
 
 from extreme_fit.model.abstract_model import AbstractModel
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function \
+from extreme_fit.function.margin_function.abstract_margin_function \
     import AbstractMarginFunction
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import AbstractResultFromModelFit
 from extreme_fit.model.utils import r
diff --git a/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py b/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py
index f84b50c5..82b6afbd 100644
--- a/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py
+++ b/extreme_fit/model/margin_model/linear_margin_model/linear_margin_model.py
@@ -1,8 +1,7 @@
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.param_function.linear_coef import LinearCoef
 from extreme_fit.model.margin_model.parametric_margin_model import ParametricMarginModel
 from extreme_fit.distribution.gev.gev_params import GevParams
-from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
 class LinearMarginModel(ParametricMarginModel):
diff --git a/extreme_fit/model/margin_model/parametric_margin_model.py b/extreme_fit/model/margin_model/parametric_margin_model.py
index 35ae8fa5..61279f4a 100644
--- a/extreme_fit/model/margin_model/parametric_margin_model.py
+++ b/extreme_fit/model/margin_model/parametric_margin_model.py
@@ -3,7 +3,7 @@ from abc import ABC
 import numpy as np
 import pandas as pd
 
-from extreme_fit.model.margin_model.margin_function.parametric_margin_function import \
+from extreme_fit.function.margin_function.parametric_margin_function import \
     ParametricMarginFunction
 from extreme_fit.model.result_from_model_fit.result_from_spatial_extreme import ResultFromSpatialExtreme
 from extreme_fit.model.margin_model.abstract_margin_model import AbstractMarginModel
diff --git a/extreme_fit/model/margin_model/spline_margin_model.py b/extreme_fit/model/margin_model/spline_margin_model.py
index 50af051c..20d75800 100644
--- a/extreme_fit/model/margin_model/spline_margin_model.py
+++ b/extreme_fit/model/margin_model/spline_margin_model.py
@@ -1,8 +1,8 @@
 from typing import Dict, List
 
-from extreme_fit.model.margin_model.margin_function.spline_margin_function import SplineMarginFunction
-from extreme_fit.model.margin_model.param_function.abstract_coef import AbstractCoef
-from extreme_fit.model.margin_model.param_function.spline_coef import SplineCoef, KnotCoef, \
+from extreme_fit.function.margin_function.spline_margin_function import SplineMarginFunction
+from extreme_fit.function.param_function.abstract_coef import AbstractCoef
+from extreme_fit.function.param_function.spline_coef import SplineCoef, KnotCoef, \
     PolynomialCoef
 from extreme_fit.model.margin_model.parametric_margin_model import ParametricMarginModel
 from extreme_fit.distribution.gev.gev_params import GevParams
diff --git a/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py b/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py
index 559dae4f..fa620813 100644
--- a/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py
+++ b/extreme_fit/model/result_from_model_fit/result_from_extremes/abstract_extract_eurocode_return_level.py
@@ -3,11 +3,11 @@ from typing import List
 import numpy as np
 from cached_property import cached_property
 
-from experiment.eurocode_data.utils import EUROCODE_QUANTILE, YEAR_OF_INTEREST_FOR_RETURN_LEVEL
+from experiment.eurocode_data.utils import EUROCODE_QUANTILE
 from extreme_fit.distribution.gev.gev_params import GevParams
 from extreme_fit.estimator.margin_estimator.abstract_margin_estimator import LinearMarginEstimator
 from extreme_fit.estimator.utils import load_margin_function
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from extreme_fit.model.result_from_model_fit.result_from_extremes.result_from_bayesian_extremes import \
     ResultFromBayesianExtremes
 from extreme_fit.model.result_from_model_fit.result_from_extremes.result_from_mle_extremes import ResultFromMleExtremes
diff --git a/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py b/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py
index ed7156a4..7cfe8351 100644
--- a/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py
+++ b/extreme_fit/model/result_from_model_fit/result_from_spatial_extreme.py
@@ -2,7 +2,7 @@ from typing import Dict
 
 import numpy as np
 
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
 from extreme_fit.model.result_from_model_fit.abstract_result_from_model_fit import \
     AbstractResultFromModelFit
 
diff --git a/extreme_fit/model/result_from_model_fit/utils.py b/extreme_fit/model/result_from_model_fit/utils.py
index d98b6b53..1bb34aae 100644
--- a/extreme_fit/model/result_from_model_fit/utils.py
+++ b/extreme_fit/model/result_from_model_fit/utils.py
@@ -3,7 +3,7 @@ from collections import OrderedDict
 import numpy as np
 
 from extreme_fit.distribution.gev.gev_params import GevParams
-from extreme_fit.model.margin_model.param_function.linear_coef import LinearCoef
+from extreme_fit.function.param_function.linear_coef import LinearCoef
 from spatio_temporal_dataset.coordinates.abstract_coordinates import AbstractCoordinates
 
 
diff --git a/test/test_extreme_fit/test_model/test_margin_function.py b/test/test_extreme_fit/test_model/test_margin_function.py
index 6f9e2b0b..622d3a41 100644
--- a/test/test_extreme_fit/test_model/test_margin_function.py
+++ b/test/test_extreme_fit/test_model/test_margin_function.py
@@ -3,9 +3,9 @@ import unittest
 import numpy as np
 
 from extreme_fit.model.margin_model.linear_margin_model.linear_margin_model import LinearAllParametersAllDimsMarginModel
-from extreme_fit.model.margin_model.margin_function.abstract_margin_function import \
+from extreme_fit.function.margin_function.abstract_margin_function import \
     AbstractMarginFunction
-from extreme_fit.model.margin_model.margin_function.linear_margin_function import LinearMarginFunction
+from extreme_fit.function.margin_function.linear_margin_function import LinearMarginFunction
 from spatio_temporal_dataset.coordinates.spatial_coordinates.coordinates_2D import LinSpaceSpatial2DCoordinates
 from test.test_utils import load_test_spatiotemporal_coordinates
 
-- 
GitLab