diff --git a/build/with_fcm/arch/arch-gnu9.2.0_belenos.env b/build/with_fcm/arch/arch-gnu9.2.0_belenos.env
new file mode 100644
index 0000000000000000000000000000000000000000..bdf87246b1cba14612169e739ddc4425d0a4a756
--- /dev/null
+++ b/build/with_fcm/arch/arch-gnu9.2.0_belenos.env
@@ -0,0 +1,2 @@
+module load gcc/9.2.0
+module load perl/5.30.3
diff --git a/build/with_fcm/arch/arch-gnu9.2.0_belenos.fcm b/build/with_fcm/arch/arch-gnu9.2.0_belenos.fcm
new file mode 100644
index 0000000000000000000000000000000000000000..1f756eea942952b15ccd68b55f1fd01d3f764ce8
--- /dev/null
+++ b/build/with_fcm/arch/arch-gnu9.2.0_belenos.fcm
@@ -0,0 +1,26 @@
+# Compilation
+$FCOMPILER     =     gfortran
+$BASE_FFLAGS   =     -c -fPIC -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fopenmp -fconvert=swap
+$PROD_FFLAGS   =     -O3
+$DEV_FFLAGS    =     -O1
+$DEBUG_FFLAGS  =     -O0 -g -fbounds-check -finit-real=snan -ffpe-trap=invalid,zero,overflow
+$CCOMPILER     =     gcc
+$BASE_CFLAGS   =     -c -fPIC -fopenmp
+$PROD_CFLAGS   =     -O3
+$DEV_CFLAGS    =     -O1
+$DEBUG_CFLAGS  =     -fbounds-check
+$OMP_FFLAGS    =
+
+# Preprocessor
+$FPP_FLAGS     =     LINUX LITTLE_ENDIAN LITTLE REPRO48
+$CPP_FLAGS     =     LINUX LITTLE_ENDIAN LITTLE
+
+# Linker
+$LINK          =     gfortran
+$BASE_LD       =     -fPIC  -fdefault-real-8 -fdefault-double-8 -fopenmp
+$OMP_LD        =
+$LD_EXE_TO_SHARED = -shared
+
+# Other
+$AR            =     ar
+
diff --git a/build/with_fcm/arch/arch-gnu9.2.0_nosignzero_belenos.env b/build/with_fcm/arch/arch-gnu9.2.0_nosignzero_belenos.env
new file mode 100644
index 0000000000000000000000000000000000000000..bdf87246b1cba14612169e739ddc4425d0a4a756
--- /dev/null
+++ b/build/with_fcm/arch/arch-gnu9.2.0_nosignzero_belenos.env
@@ -0,0 +1,2 @@
+module load gcc/9.2.0
+module load perl/5.30.3
diff --git a/build/with_fcm/arch/arch-gnu9.2.0_nosignzero_belenos.fcm b/build/with_fcm/arch/arch-gnu9.2.0_nosignzero_belenos.fcm
new file mode 100644
index 0000000000000000000000000000000000000000..d8d2a31d1484a41e3e36bef94e1e34a917bc3969
--- /dev/null
+++ b/build/with_fcm/arch/arch-gnu9.2.0_nosignzero_belenos.fcm
@@ -0,0 +1,26 @@
+# Compilation
+$FCOMPILER     =     gfortran
+$BASE_FFLAGS   =     -c -fPIC -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fopenmp -fconvert=swap -fno-sign-zero
+$PROD_FFLAGS   =     -O3
+$DEV_FFLAGS    =     -O1
+$DEBUG_FFLAGS  =     -O0 -g -fbounds-check -finit-real=snan -ffpe-trap=invalid,zero,overflow
+$CCOMPILER     =     gcc
+$BASE_CFLAGS   =     -c -fPIC -fopenmp
+$PROD_CFLAGS   =     -O3
+$DEV_CFLAGS    =     -O1
+$DEBUG_CFLAGS  =     -fbounds-check
+$OMP_FFLAGS    =
+
+# Preprocessor
+$FPP_FLAGS     =     LINUX LITTLE_ENDIAN LITTLE REPRO48
+$CPP_FLAGS     =     LINUX LITTLE_ENDIAN LITTLE
+
+# Linker
+$LINK          =     gfortran
+$BASE_LD       =     -fPIC  -fdefault-real-8 -fdefault-double-8 -fopenmp
+$OMP_LD        =
+$LD_EXE_TO_SHARED = -shared
+
+# Other
+$AR            =     ar
+
diff --git a/build/with_fcm/arch/arch-gnu_nosignzero.env b/build/with_fcm/arch/arch-gnu_nosignzero.env
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/build/with_fcm/arch/arch-gnu_nosignzero.fcm b/build/with_fcm/arch/arch-gnu_nosignzero.fcm
new file mode 100644
index 0000000000000000000000000000000000000000..f50c1505063d0d68cbde75eda92b498fd3b570bd
--- /dev/null
+++ b/build/with_fcm/arch/arch-gnu_nosignzero.fcm
@@ -0,0 +1,26 @@
+# Compilation
+$FCOMPILER     =     gfortran
+$BASE_FFLAGS   =     -c -fPIC -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fopenmp -fconvert=swap -fallow-argument-mismatch -fno-sign-zero
+$PROD_FFLAGS   =     -O3
+$DEV_FFLAGS    =     -O1
+$DEBUG_FFLAGS  =     -O0 -g -fbounds-check -finit-real=snan -ffpe-trap=invalid,zero,overflow
+$CCOMPILER     =     gcc
+$BASE_CFLAGS   =     -c -fPIC -fopenmp
+$PROD_CFLAGS   =     -O3
+$DEV_CFLAGS    =     -O1
+$DEBUG_CFLAGS  =     -fbounds-check
+$OMP_FFLAGS    =
+
+# Preprocessor
+$FPP_FLAGS     =     LINUX LITTLE_ENDIAN LITTLE REPRO48
+$CPP_FLAGS     =     LINUX LITTLE_ENDIAN LITTLE
+
+# Linker
+$LINK          =     gfortran
+$BASE_LD       =     -fPIC  -fdefault-real-8 -fdefault-double-8 -fopenmp
+$OMP_LD        =
+$LD_EXE_TO_SHARED = -shared
+
+# Other
+$AR            =     ar
+
diff --git a/tools/check_commit_testprogs.sh b/tools/check_commit_testprogs.sh
index 87aa9f9b54200a7860b42e4a482b7ccf2982c6f4..61f1e42a2adb2bad9b34e16bf0c9e2531c103faa 100755
--- a/tools/check_commit_testprogs.sh
+++ b/tools/check_commit_testprogs.sh
@@ -272,8 +272,8 @@ if [ $check -eq 1 ]; then
     fi
     if [ $te -eq 0 ]; then
       set +e
-      mess=$(cmp <(cat $file1 | sed 's/\.\.//g' | sed 's/~=//g' | sed 's/!=//g' | grep -v 'Total time: ') \
-                 <(cat $file2 | sed 's/\.\.//g' | sed 's/~=//g' | sed 's/!=//g' | grep -v 'Total time: ') 246 246 2>&1)
+      mess=$(cmp <(cat $file1 | sed 's/\.\.//g' | sed 's/~=//g' | sed 's/!=//g' | grep -v 'Total time: ' | sed 's/-0.00000E+00|/ 0.00000E+00|/g' | sed 's/-0.00000E+00 / 0.00000E+00 /g' | sed 's/-0.00000E+00-/ 0.00000E+00-/g') \
+                 <(cat $file2 | sed 's/\.\.//g' | sed 's/~=//g' | sed 's/!=//g' | grep -v 'Total time: ' | sed 's/-0.00000E+00|/ 0.00000E+00|/g' | sed 's/-0.00000E+00 / 0.00000E+00 /g' | sed 's/-0.00000E+00-/ 0.00000E+00-/g') 246 246 2>&1)
       te=$?
       set -e
       #The use of "<()" bash syntax replaces the actual file name seen by cmp