From 4a877be8c551e10493db41a063f50fe43e2583f9 Mon Sep 17 00:00:00 2001
From: Sandipan Mohanty <s.mohanty@fz-juelich.de>
Date: Sat, 28 Jan 2023 20:38:20 +0100
Subject: [PATCH] Small local patches to adjust to JSC build system

---
 ...FTW_find_error_due_to_MPI_components.patch | 40 +++++++++++++++++++
 ...ror_due_to_missed_F77_F90_interfaces.patch | 14 +++++++
 Golden_Repo/a/AMBER/fix_nmrat_error.patch     | 14 +++++++
 3 files changed, 68 insertions(+)
 create mode 100644 Golden_Repo/a/AMBER/Fix_FFTW_find_error_due_to_MPI_components.patch
 create mode 100644 Golden_Repo/a/AMBER/Fix_netcdf_find_error_due_to_missed_F77_F90_interfaces.patch
 create mode 100644 Golden_Repo/a/AMBER/fix_nmrat_error.patch

diff --git a/Golden_Repo/a/AMBER/Fix_FFTW_find_error_due_to_MPI_components.patch b/Golden_Repo/a/AMBER/Fix_FFTW_find_error_due_to_MPI_components.patch
new file mode 100644
index 000000000..7a0851792
--- /dev/null
+++ b/Golden_Repo/a/AMBER/Fix_FFTW_find_error_due_to_MPI_components.patch
@@ -0,0 +1,40 @@
+diff -ruN A20_src/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake A20_src1/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake
+Fix MPI related errors in CMake FindFFTW modules
+author: Sandipan Mohanty (Juelich Supercomputing Centre)
+--- A20_src/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake	2023-01-28 14:19:26.575506981 +0100
++++ A20_src1/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake	2023-01-28 14:05:09.172659586 +0100
+@@ -242,7 +242,7 @@
+ 
+ 	set(CMAKE_REQUIRED_LIBRARIES ${FFTW_LIBRARY_MPI})
+ 	if(EXISTS "${FFTW_LIBRARY_MPI}")
+-		fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS)
++		fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS ${FFTW_LIBRARY_MPI} ${FFTW_LIBRARY_SERIAL} ${MPI_C_LIBRARIES})
+ 	else()
+ 		set(FFTW_MPI_WORKS FALSE)
+ 	endif()
+@@ -365,4 +365,4 @@
+ endif()
+ 
+ # don't leak required libraries
+-set(CMAKE_REQUIRED_LIBRARIES "")
+\ No newline at end of file
++set(CMAKE_REQUIRED_LIBRARIES "")
+diff -ruN A20_src/cmake/jedbrown/FindFFTW.cmake A20_src1/cmake/jedbrown/FindFFTW.cmake
+--- A20_src/cmake/jedbrown/FindFFTW.cmake	2023-01-28 14:18:50.145392374 +0100
++++ A20_src1/cmake/jedbrown/FindFFTW.cmake	2023-01-28 14:03:56.662393042 +0100
+@@ -242,7 +242,7 @@
+ 
+ 	set(CMAKE_REQUIRED_LIBRARIES ${FFTW_LIBRARY_MPI})
+ 	if(EXISTS "${FFTW_LIBRARY_MPI}")
+-		fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS)
++		fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS ${FFTW_LIBRARY_MPI} ${FFTW_LIBRARY_SERIAL} ${MPI_C_LIBRARIES})
+ 	else()
+ 		set(FFTW_MPI_WORKS FALSE)
+ 	endif()
+@@ -365,4 +365,4 @@
+ endif()
+ 
+ # don't leak required libraries
+-set(CMAKE_REQUIRED_LIBRARIES "")
+\ No newline at end of file
++set(CMAKE_REQUIRED_LIBRARIES "")
diff --git a/Golden_Repo/a/AMBER/Fix_netcdf_find_error_due_to_missed_F77_F90_interfaces.patch b/Golden_Repo/a/AMBER/Fix_netcdf_find_error_due_to_missed_F77_F90_interfaces.patch
new file mode 100644
index 000000000..7850e149d
--- /dev/null
+++ b/Golden_Repo/a/AMBER/Fix_netcdf_find_error_due_to_missed_F77_F90_interfaces.patch
@@ -0,0 +1,14 @@
+diff -ruN A20_src/cmake/jedbrown/FindNetCDF.cmake A20_src1/cmake/jedbrown/FindNetCDF.cmake
+Fix NetCDF find errors in CMake modules due to F77 and F90 interface detection errors
+author: Sandipan Mohanty (Juelich Supercomputing Centre)
+--- A20_src/cmake/jedbrown/FindNetCDF.cmake	2023-01-28 14:29:38.347400350 +0100
++++ A20_src1/cmake/jedbrown/FindNetCDF.cmake	2023-01-28 14:02:28.892122573 +0100
+@@ -51,7 +51,7 @@
+ get_filename_component(NetCDF_lib_dirs "${NetCDF_LIBRARIES_C}" PATH)
+ 
+ macro (NetCDF_check_interface lang header libs)
+-	find_path (NetCDF_INCLUDES_${lang} NAMES ${header} HINTS "${NetCDF_INCLUDES}" NO_DEFAULT_PATH)
++	find_path (NetCDF_INCLUDES_${lang} NAMES ${header})
+   
+ 	find_library (NetCDF_LIBRARIES_${lang} NAMES ${libs} HINTS "${NetCDF_lib_dirs}")
+ 
diff --git a/Golden_Repo/a/AMBER/fix_nmrat_error.patch b/Golden_Repo/a/AMBER/fix_nmrat_error.patch
new file mode 100644
index 000000000..5bdaf088b
--- /dev/null
+++ b/Golden_Repo/a/AMBER/fix_nmrat_error.patch
@@ -0,0 +1,14 @@
+diff -ruN amber20_src/src/pmemd/src/cuda/gpu.cpp amber20_src1/src/pmemd/src/cuda/gpu.cpp
+Fix error about the 2D array nmrat being given 1 index before a comparison with 0
+author: Sandipan Mohanty (Juelich Supercomputing Centre)
+--- amber20_src/src/pmemd/src/cuda/gpu.cpp	2022-02-28 12:02:56.035534480 +0100
++++ amber20_src1/src/pmemd/src/cuda/gpu.cpp	2022-02-28 12:26:15.265104588 +0100
+@@ -2849,7 +2849,7 @@
+     }
+     // torsions, resttype = 3
+     else if (resttype[i] == 3) {
+-      if (nmrat[i][0] >= 0 && nmrat[i][1] >= 0 && nmrat[i][2] >= 0 && nmrat[3] >= 0) {
++      if (nmrat[i][0] >= 0 && nmrat[i][1] >= 0 && nmrat[i][2] >= 0 && nmrat[i][3] >= 0) {
+         torsions++;
+       }
+       else {
-- 
GitLab