diff --git a/src/Makefile.MESONH.mk b/src/Makefile.MESONH.mk
index 4bb42a92c93c8888e05a60633e9d031d1013450c..fa9490a2581145a999340d8e4fc5d17af4fb3f66 100644
--- a/src/Makefile.MESONH.mk
+++ b/src/Makefile.MESONH.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -298,6 +298,19 @@ INC                   += $(INC_S4PY)
 VPATH                 += $(DIR_S4PY)
 endif
 ##########################################################
+#           Source MGSOLVER                              #
+##########################################################
+ifdef MNH_MGSOLVER
+DIR_MGSOLVER           = LIB/tensorproductmultigrid_Source
+INC_MGSOLVER           = -I$(B)$(DIR_MGSOLVER)
+DIR_MASTER            += $(DIR_MGSOLVER)
+#OBJS_LISTE_MASTER     += mg_main_mnh.o
+INC                   += $(INC_MGSOLVER)
+VPATH                 += $(DIR_MGSOLVER)
+CPPFLAGS_MGSOLVER     ?= -DMNH_MGSOLVER
+CPPFLAGS_MNH          += $(CPPFLAGS_MGSOLVER)
+endif
+##########################################################
 #           Source FOREFIRE                              #
 ##########################################################
 ifdef MNH_FOREFIRE
diff --git a/src/Rules.AIX64.mk b/src/Rules.AIX64.mk
index 5f750fdcd0834593bf318df7f3003f1c19a90732..2391213f1c4bd5b8c9706c49b6ac09107b00613c 100644
--- a/src/Rules.AIX64.mk
+++ b/src/Rules.AIX64.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -106,6 +106,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.BG.mk b/src/Rules.BG.mk
index 7f4261c7599a8580df10c866f1e855bba192675c..1f8893b2d261f42de1cd1204370a61386f9f3a33 100644
--- a/src/Rules.BG.mk
+++ b/src/Rules.BG.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -117,6 +117,11 @@ MNH_IOLFI=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.BGQ.mk b/src/Rules.BGQ.mk
index 1fd0a07bd041649c96d941cd91a50b58d5063364..05a7bbf5bb674765c076f199efa748305fc44f10 100644
--- a/src/Rules.BGQ.mk
+++ b/src/Rules.BGQ.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -173,6 +173,11 @@ MNH_IOLFI=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXNAGfor.mk b/src/Rules.LXNAGfor.mk
index f623af39cfc550ed248e92cb7a5085f10f3255c4..ab86e63709e88f9d57b150b6680d4251062455fe 100644
--- a/src/Rules.LXNAGfor.mk
+++ b/src/Rules.LXNAGfor.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -99,6 +99,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXarm.mk b/src/Rules.LXarm.mk
index e517a95b0b8641024d15586376df1478a0813cd3..8cc83a2459f6d0109ffe63a3e91823d8a141038c 100644
--- a/src/Rules.LXarm.mk
+++ b/src/Rules.LXarm.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -129,6 +129,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXcray.mk b/src/Rules.LXcray.mk
index 5fdd9a8d4f93384bbcfd84e11b4122cb243e807d..e1725ac089e31504e3698436663d204d78fe56da 100644
--- a/src/Rules.LXcray.mk
+++ b/src/Rules.LXcray.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -243,6 +243,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXg95.mk b/src/Rules.LXg95.mk
index 305f9f56c94423a95e415dce2fb5939f4ee24470..6668c43714b03296448eb277e7ebbe0cfa569478 100644
--- a/src/Rules.LXg95.mk
+++ b/src/Rules.LXg95.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -87,6 +87,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXgfortran.mk b/src/Rules.LXgfortran.mk
index b4a1cf0791b8b7df1c9e09682fc4d0e22b74c8a2..5f4fffc6b00db2127d08950c94e897f58fcc97dc 100644
--- a/src/Rules.LXgfortran.mk
+++ b/src/Rules.LXgfortran.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -154,6 +154,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXifort.mk b/src/Rules.LXifort.mk
index 46c66c03ae64231f28fb5e2e96776eb40e39f5ef..6a0c69a7ce3dc4b853d45c09347b00de15776e0e 100644
--- a/src/Rules.LXifort.mk
+++ b/src/Rules.LXifort.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -227,6 +227,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXnvhpc.mk b/src/Rules.LXnvhpc.mk
index 7f18c08c6723fa610682c0def132d63110a7c0ca..2fbd5e9d6613560d18dd33bcaf33a43c65d10732 100644
--- a/src/Rules.LXnvhpc.mk
+++ b/src/Rules.LXnvhpc.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -233,6 +233,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXnvhpc2005.mk b/src/Rules.LXnvhpc2005.mk
index e8e199e86cd423d6cdb4c872b275cfae171154df..550965884bb9c296de893eab42c45dcee225b683 100644
--- a/src/Rules.LXnvhpc2005.mk
+++ b/src/Rules.LXnvhpc2005.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -226,6 +226,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ##########################################################
 #                                                        #
 # Source of MESONH PACKAGE  Distribution                 #
diff --git a/src/Rules.LXnvhpc2202.mk b/src/Rules.LXnvhpc2202.mk
index 83886608444d628f49506a80a7f2f274faca634e..ac1d757731bf484eacaf15b36b3f621d6077d09d 100644
--- a/src/Rules.LXnvhpc2202.mk
+++ b/src/Rules.LXnvhpc2202.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -245,6 +245,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXpathf95.mk b/src/Rules.LXpathf95.mk
index 932b438aae162bf04a54b30433af09a957c17c3a..7a72196101b8e7333b49a4b94e05466083087774 100644
--- a/src/Rules.LXpathf95.mk
+++ b/src/Rules.LXpathf95.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -67,6 +67,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXpgi.mk b/src/Rules.LXpgi.mk
index a01198eda33d7aef5154bcee0aadceea6476b8d7..ac1886174809e2e97d0c2855efb4c578b15c2542 100644
--- a/src/Rules.LXpgi.mk
+++ b/src/Rules.LXpgi.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -180,6 +180,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)
diff --git a/src/Rules.LXpgi2004.mk b/src/Rules.LXpgi2004.mk
index 63451e4301b588ba09a40e41133390bd82830d3a..f8b4c207367eb329b501b3a331a28adb54768b2d 100644
--- a/src/Rules.LXpgi2004.mk
+++ b/src/Rules.LXpgi2004.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -223,6 +223,11 @@ MNH_COMPRESS=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ##########################################################
 #                                                        #
 # Source of MESONH PACKAGE  Distribution                 #
diff --git a/src/Rules.SX8.mk b/src/Rules.SX8.mk
index 79e63f46c80122ec97fcb3072079381431c731b1..6a04e0f15bce327c9cc3dc3f21bf209eabfa963a 100644
--- a/src/Rules.SX8.mk
+++ b/src/Rules.SX8.mk
@@ -1,4 +1,4 @@
-#MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
 #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 #MNH_LIC for details. version 1.
@@ -109,6 +109,11 @@ MNH_IOLFI=yes
 #if MNH_S4PY exists => compile the libs4py library (for epygram)
 #MNH_S4PY=no
 #
+## MGSOLVER flag (multigrid solver)
+#
+#if MNH_MGSOLVER exists => compile the multigrid solver
+MNH_MGSOLVER ?= YES
+#
 ## ecCodes or grib_api selection
 #MNH_GRIBAPI: if set to no:  use ecCodes
 #             if set to yes: use grib_api (deprecated library)