diff --git a/Golden_Repo/a/AMBER/adapt_to_python_3_10_api_changes.patch b/Golden_Repo/a/AMBER/adapt_to_python_3_10_api_changes.patch new file mode 100644 index 0000000000000000000000000000000000000000..b0e2212a60d6245a8117cf53bdb86009ffcc9961 --- /dev/null +++ b/Golden_Repo/a/AMBER/adapt_to_python_3_10_api_changes.patch @@ -0,0 +1,3185 @@ +Numerous small changes required to adjust to Python 3.10 API changes +author: Sandipan Mohanty (Juelich Supercomputing Centre) +diff -ruN amber20_src/AmberTools/src/include/CompatibilityMacros.h amber20_src1/AmberTools/src/include/CompatibilityMacros.h +--- amber20_src/AmberTools/src/include/CompatibilityMacros.h 2018-06-18 16:24:02.000000000 +0200 ++++ amber20_src1/AmberTools/src/include/CompatibilityMacros.h 2023-01-22 14:58:23.467995866 +0100 +@@ -18,6 +18,35 @@ + # define PyInt_FromLong PyLong_FromLong + # define PyInt_AsLong PyLong_AsLong + ++#if PY_VERSION_HEX < 0x030900A4 ++# define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0) ++#endif ++#define Py_INCR_REFCNT(obj) (Py_SET_REFCNT(obj, Py_REFCNT(obj) + 1)) ++#define Py_DECR_REFCNT(obj) (Py_SET_REFCNT(obj, Py_REFCNT(obj) - 1)) ++ ++#if PY_VERSION_HEX >= 0x030A00A1 ++PyObject * _PyGen_Send(PyGenObject *gen, PyObject *arg) { ++ PyObject *result; ++ // PyIter_Send() asserts non-NULL arg ++ if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { ++ if (PyAsyncGen_CheckExact(gen)) { ++ assert(result == Py_None); ++ PyErr_SetNone(PyExc_StopAsyncIteration); ++ } ++ else if (result == Py_None) { ++ PyErr_SetNone(PyExc_StopIteration); ++ } ++ else { ++ _PyGen_SetStopIterationValue(result); ++ } ++ Py_CLEAR(result); ++ } ++ return result; ++} ++#endif ++ ++ ++ + #else /* Python 2 */ + + # define PyObject_IS_STRING PyString_Check +diff -ruN amber20_src/AmberTools/src/mpi4py-3.0.3/CMakeLists.txt amber20_src1/AmberTools/src/mpi4py-3.0.3/CMakeLists.txt +--- amber20_src/AmberTools/src/mpi4py-3.0.3/CMakeLists.txt 2021-04-25 02:51:38.000000000 +0200 ++++ amber20_src1/AmberTools/src/mpi4py-3.0.3/CMakeLists.txt 2023-01-22 14:19:04.933478114 +0100 +@@ -34,6 +34,8 @@ + endif() + endif() + ++set(MPI4PY_INCDIRS "${MPI4PY_INCDIRS}${LIST_SEP}${AMBERTOOLS_INC_DIR}") ++ + set(MPI4PY_LIBS_LIST "") + set(MPI4PY_LIBDIR_LIST "") + +diff -ruN amber20_src/AmberTools/src/mpi4py-3.0.3/src/mpi4py.MPI.c amber20_src1/AmberTools/src/mpi4py-3.0.3/src/mpi4py.MPI.c +--- amber20_src/AmberTools/src/mpi4py-3.0.3/src/mpi4py.MPI.c 2021-04-25 02:51:38.000000000 +0200 ++++ amber20_src1/AmberTools/src/mpi4py-3.0.3/src/mpi4py.MPI.c 2023-01-22 15:05:14.380522648 +0100 +@@ -2,6 +2,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -154207,9 +154209,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_8Datatype_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -154497,9 +154499,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_7Request_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->ob_buf); +@@ -154877,9 +154879,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_7Message_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->ob_buf); +@@ -155073,9 +155075,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_2Op_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155260,9 +155262,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_5Group_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155456,9 +155458,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_4Info_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155675,9 +155677,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_10Errhandler_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -155845,9 +155847,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_4Comm_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -156860,9 +156862,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_3Win_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->ob_mem); +@@ -157166,9 +157168,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_4File_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -157436,9 +157438,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_6memory_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -157609,9 +157611,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6mpi4py_3MPI_6_p_mem_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +diff -ruN amber20_src/AmberTools/src/pymdgx/mdgx/mdgx.c amber20_src1/AmberTools/src/pymdgx/mdgx/mdgx.c +--- amber20_src/AmberTools/src/pymdgx/mdgx/mdgx.c 2019-08-01 14:29:41.000000000 +0200 ++++ amber20_src1/AmberTools/src/pymdgx/mdgx/mdgx.c 2023-01-22 15:06:10.320862855 +0100 +@@ -36,6 +36,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000) +@@ -15988,9 +15990,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -16272,9 +16274,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -16509,9 +16511,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/CMakeLists.txt amber20_src1/AmberTools/src/pytraj/CMakeLists.txt +--- amber20_src/AmberTools/src/pytraj/CMakeLists.txt 2021-04-27 22:14:35.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/CMakeLists.txt 2023-01-27 17:46:44.743410915 +0100 +@@ -40,8 +40,8 @@ + add_custom_command(OUTPUT ${STAMP_FILE} + COMMAND ${CMAKE_COMMAND} -E env --unset=AMBERHOME + CPPTRAJ_HEADERDIR=${CMAKE_CURRENT_SOURCE_DIR}/../cpptraj/src CPPTRAJ_LIBDIR=$<TARGET_FILE_DIR:${CPPTRAJ_TARGET}> +- CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${RPATH_ARG} +- ${PYTHON_EXECUTABLE} setup.py build -b ${BUILD_DIR} ${OPENMP_ARG} ${PYTHON_COMPILER_ARG} ${WIN64_DEFINE_ARG} ++ AMBERTOOLS_INC=${AMBERTOOLS_INC_DIR} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ${RPATH_ARG} ++ ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py build -b ${BUILD_DIR} ${OPENMP_ARG} ${PYTHON_COMPILER_ARG} ${WIN64_DEFINE_ARG} + COMMAND ${CMAKE_COMMAND} -E touch ${STAMP_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${PYTHON_SOURCES} ${CPPTRAJ_TARGET} +@@ -61,13 +61,15 @@ + include(${LIBDIR_FILE}) + ${FIX_BACKSLASHES_CMD} + execute_process( +- COMMAND \"${CMAKE_COMMAND}\" -E env --unset=AMBERHOME +- \"CPPTRAJ_HEADERDIR=${CMAKE_CURRENT_SOURCE_DIR}/../cpptraj/src\" \"CPPTRAJ_LIBDIR=\${CPPTRAJ_LIBDIR}\" +- \"CXX=${CMAKE_CXX_COMPILER}\" +- \"CC=${CMAKE_C_COMPILER}\" +- ${RPATH_ARG} +- ${PYTHONPATH_SET_CMD} +- ${PYTHON_EXECUTABLE} ./setup.py build -b ${BUILD_DIR} ${OPENMP_ARG} ${PYTHON_COMPILER_ARG} ${WIN64_DEFINE_ARG} install ${PYTHON_PREFIX_ARG} +- WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\")") ++ COMMAND \"${CMAKE_COMMAND}\" -E env --unset=AMBERHOME ++ \"CPPTRAJ_HEADERDIR=${CMAKE_CURRENT_SOURCE_DIR}/../cpptraj/src\" ++ \"CPPTRAJ_LIBDIR=\${CPPTRAJ_LIBDIR}\" ++ \"AMBERTOOLS_INC=${AMBERTOOLS_INC_DIR}\" ++ \"CXX=${CMAKE_CXX_COMPILER}\" \"CC=${CMAKE_C_COMPILER}\" ++ ${PYTHONPATH_SET_CMD} ++ ${PYTHON_EXECUTABLE} ./setup.py build -b \"${BUILD_DIR}\" ${OPENMP_ARG} ${PYTHON_COMPILER_ARG} ${WIN64_DEFINE_ARG} install ${PYTHON_PREFIX_ARG} ++ WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\" ++ ) ++") + + add_subdirectory(tests) +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/analysis/c_action/actionlist.cpp amber20_src1/AmberTools/src/pytraj/pytraj/analysis/c_action/actionlist.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/analysis/c_action/actionlist.cpp 2021-04-28 14:29:50.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/analysis/c_action/actionlist.cpp 2023-01-22 15:10:34.252460710 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -22473,9 +22475,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_10actionlist_10ActionList_5__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->top); +@@ -23079,9 +23081,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -23390,9 +23392,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -23640,9 +23642,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/analysis/c_action/c_action.cpp amber20_src1/AmberTools/src/pytraj/pytraj/analysis/c_action/c_action.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/analysis/c_action/c_action.cpp 2021-04-28 14:29:52.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/analysis/c_action/c_action.cpp 2023-01-22 15:10:14.452341138 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -47313,9 +47315,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_6Action_5__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->top); +@@ -47524,9 +47526,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_12Action_Align_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47645,9 +47647,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_12Action_Angle_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47766,9 +47768,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_17Action_AreaPerMol_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47887,9 +47889,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_AtomMap_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48008,9 +48010,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_17Action_AtomicCorr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48129,9 +48131,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_18Action_AtomicFluct_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48250,9 +48252,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_16Action_AutoImage_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48371,9 +48373,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Average_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48492,9 +48494,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Bounds_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48613,9 +48615,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_10Action_Box_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48734,9 +48736,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Center_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48855,9 +48857,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Channel_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48976,9 +48978,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_CheckChirality_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49097,9 +49099,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_CheckStructure_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49218,9 +49220,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Closest_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49339,9 +49341,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_22Action_ClusterDihedral_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49460,9 +49462,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_Contacts_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49581,9 +49583,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_16Action_CreateCrd_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49702,9 +49704,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_20Action_DNAionTracker_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49823,9 +49825,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_DSSP_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49944,9 +49946,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Density_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50065,9 +50067,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_16Action_Diffusion_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50186,9 +50188,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_Dihedral_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50307,9 +50309,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Dipole_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50428,9 +50430,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_DistRmsd_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50549,9 +50551,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_Distance_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50670,9 +50672,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Energy_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50791,9 +50793,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Esander_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -50912,9 +50914,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_19Action_FilterByData_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51033,9 +51035,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_19Action_FixAtomOrder_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51154,9 +51156,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_FixImagedBonds_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51275,9 +51277,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_GIST_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51396,9 +51398,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_Grid_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51517,9 +51519,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_GridFreeEnergy_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51638,9 +51640,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_19Action_HydrogenBond_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51759,9 +51761,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_12Action_Image_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -51880,9 +51882,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_16Action_Jcoupling_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52001,9 +52003,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_LESsplit_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52122,9 +52124,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_10Action_LIE_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52243,9 +52245,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_17Action_LipidOrder_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52364,9 +52366,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_20Action_MakeStructure_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52485,9 +52487,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_Mask_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52606,9 +52608,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Matrix_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52727,9 +52729,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_MinImage_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52848,9 +52850,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Molsurf_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -52969,9 +52971,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_20Action_MultiDihedral_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53090,9 +53092,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_18Action_MultiVector_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53211,9 +53213,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_NAstruct_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53332,9 +53334,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_NMRrst_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53453,9 +53455,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_NativeContacts_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53574,9 +53576,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_OrderParameter_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53695,9 +53697,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Outtraj_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53816,9 +53818,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_PairDist_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -53937,9 +53939,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_Pairwise_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54058,9 +54060,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_16Action_Principal_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54179,9 +54181,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_17Action_Projection_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54300,9 +54302,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Pucker_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54421,9 +54423,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Radgyr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54542,9 +54544,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Radial_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54663,9 +54665,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_20Action_RandomizeIons_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54784,9 +54786,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_12Action_Remap_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -54905,9 +54907,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_20Action_ReplicateCell_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55026,9 +55028,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_Rmsd_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55147,9 +55149,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Rotate_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55268,9 +55270,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_17Action_RunningAvg_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55389,9 +55391,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_21Action_STFC_Diffusion_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55510,9 +55512,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_12Action_Scale_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55631,9 +55633,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_18Action_SetVelocity_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55752,9 +55754,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_Spam_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55873,9 +55875,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_12Action_Strip_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -55994,9 +55996,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_11Action_Surf_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56115,9 +56117,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_20Action_SymmetricRmsd_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56236,9 +56238,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_18Action_Temperature_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56357,9 +56359,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_16Action_Translate_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56478,9 +56480,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_14Action_Unstrip_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56599,9 +56601,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Unwrap_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56720,9 +56722,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Vector_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56841,9 +56843,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_23Action_VelocityAutoCorr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -56962,9 +56964,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Volmap_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -57083,9 +57085,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_13Action_Volume_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -57204,9 +57206,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_17Action_Watershell_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -57325,9 +57327,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_8c_action_8c_action_15Action_XtalSymm_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -57686,9 +57688,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -57997,9 +57999,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -58247,9 +58249,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/analysis/c_analysis/c_analysis.cpp amber20_src1/AmberTools/src/pytraj/pytraj/analysis/c_analysis/c_analysis.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/analysis/c_analysis/c_analysis.cpp 2021-04-28 14:29:54.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/analysis/c_analysis/c_analysis.cpp 2023-01-22 15:09:38.252122446 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -28870,9 +28872,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_8Analysis_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -28975,9 +28977,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_16Analysis_AmdBias_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29082,9 +29084,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_17Analysis_AutoCorr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29189,9 +29191,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_16Analysis_Average_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29296,9 +29298,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_Clustering_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29403,9 +29405,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_13Analysis_Corr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29510,9 +29512,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_CrankShaft_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29617,9 +29619,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_17Analysis_CrdFluct_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29724,9 +29726,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_18Analysis_CrossCorr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29831,9 +29833,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_Divergence_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -29938,9 +29940,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_12Analysis_FFT_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30045,9 +30047,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_13Analysis_Hist_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30152,9 +30154,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_13Analysis_IRED_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30259,9 +30261,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_18Analysis_Integrate_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30366,9 +30368,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_12Analysis_KDE_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30473,9 +30475,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_17Analysis_Lifetime_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30580,9 +30582,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_15Analysis_Matrix_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30687,9 +30689,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_18Analysis_MeltCurve_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30794,9 +30796,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_14Analysis_Modes_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -30901,9 +30903,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_18Analysis_MultiHist_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31008,9 +31010,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_16Analysis_Overlap_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31115,9 +31117,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_Regression_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31222,9 +31224,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_15Analysis_RemLog_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31329,9 +31331,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_14Analysis_Rms2d_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31436,9 +31438,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_RmsAvgCorr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31543,9 +31545,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_RunningAvg_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31650,9 +31652,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_15Analysis_Spline_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31757,9 +31759,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_Statistics_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31864,9 +31866,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_17Analysis_Timecorr_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -31971,9 +31973,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_VectorMath_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32078,9 +32080,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_15Analysis_Rotdif_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32185,9 +32187,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_20Analysis_LowestCurve_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32292,9 +32294,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_15Analysis_PhiPsi_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32399,9 +32401,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_11Analysis_TI_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32506,9 +32508,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_16Analysis_Wavelet_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32613,9 +32615,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_17Analysis_CurveFit_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32720,9 +32722,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_19Analysis_Multicurve_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32827,9 +32829,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_14Analysis_State_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -32934,9 +32936,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8analysis_10c_analysis_10c_analysis_18Analysis_Hausdorff_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + __pyx_tp_dealloc_6pytraj_8analysis_10c_analysis_10c_analysis_Analysis(o); +@@ -33053,9 +33055,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -33364,9 +33366,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -33614,9 +33616,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/core/box.cpp amber20_src1/AmberTools/src/pytraj/pytraj/core/box.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/core/box.cpp 2021-04-28 14:29:55.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/core/box.cpp 2023-01-22 15:07:38.721399246 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -17827,9 +17829,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_3box_3Box_11__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -18127,9 +18129,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -18438,9 +18440,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -18688,9 +18690,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/core/c_core.cpp amber20_src1/AmberTools/src/pytraj/pytraj/core/c_core.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/core/c_core.cpp 2021-04-28 14:29:56.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/core/c_core.cpp 2023-01-22 15:08:09.481585562 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -25114,9 +25116,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_6c_core_12CpptrajState_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->datafilelist); +@@ -25552,9 +25554,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_6c_core_8AtomMask_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -25732,9 +25734,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_6c_core_8FileName_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -25848,9 +25850,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_6c_core_8NameType_5__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -25993,9 +25995,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_6c_core_7ArgList_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -26120,9 +26122,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_6c_core_7Command_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -26349,9 +26351,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -26660,9 +26662,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -26910,9 +26912,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/core/c_dict.cpp amber20_src1/AmberTools/src/pytraj/pytraj/core/c_dict.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/core/c_dict.cpp 2021-04-28 14:29:56.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/core/c_dict.cpp 2023-01-22 15:08:21.871660570 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/core/coordinfo.cpp amber20_src1/AmberTools/src/pytraj/pytraj/core/coordinfo.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/core/coordinfo.cpp 2021-04-28 14:29:56.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/core/coordinfo.cpp 2023-01-22 15:08:39.021764352 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -1740,9 +1742,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_9coordinfo_14CoordinateInfo_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/core/parameter_types.cpp amber20_src1/AmberTools/src/pytraj/pytraj/core/parameter_types.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/core/parameter_types.cpp 2021-04-28 14:29:57.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/core/parameter_types.cpp 2023-01-26 11:16:55.667802923 +0100 +@@ -16,6 +16,7 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -5765,9 +5766,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_9AngleType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -5975,9 +5976,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_12LES_AtomType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -6097,9 +6098,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_13AngleParmType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -6663,9 +6664,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_12BondParmType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -6873,9 +6874,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_12DihedralType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -6999,9 +7000,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_8BondType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -7219,9 +7220,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_15parameter_types_16DihedralParmType_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/core/topology_objects.cpp amber20_src1/AmberTools/src/pytraj/pytraj/core/topology_objects.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/core/topology_objects.cpp 2021-04-28 14:29:58.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/core/topology_objects.cpp 2023-01-22 15:08:59.421887745 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -21208,9 +21210,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_16topology_objects_4Atom_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->resname); +@@ -21457,9 +21459,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_16topology_objects_7Residue_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -21621,9 +21623,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4core_16topology_objects_8Molecule_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -21747,9 +21749,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -22058,9 +22060,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -22308,9 +22310,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/datafiles/datafiles.cpp amber20_src1/AmberTools/src/pytraj/pytraj/datafiles/datafiles.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/datafiles/datafiles.cpp 2021-04-28 14:29:59.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/datafiles/datafiles.cpp 2023-01-22 15:13:47.303624059 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -17156,9 +17158,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_9datafiles_9datafiles_8DataFile_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -17264,9 +17266,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_9datafiles_9datafiles_12DataFileList_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -17379,9 +17381,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -17690,9 +17692,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -17940,9 +17942,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/datasets/cast_dataset.cpp amber20_src1/AmberTools/src/pytraj/pytraj/datasets/cast_dataset.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/datasets/cast_dataset.cpp 2021-04-28 14:30:04.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/datasets/cast_dataset.cpp 2023-01-26 10:37:24.934860624 +0100 +@@ -16,6 +16,7 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -19658,9 +19659,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -19969,9 +19970,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -20219,9 +20220,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/datasets/c_datasetlist.cpp amber20_src1/AmberTools/src/pytraj/pytraj/datasets/c_datasetlist.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/datasets/c_datasetlist.cpp 2021-04-28 14:30:01.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/datasets/c_datasetlist.cpp 2023-01-25 19:44:35.930918886 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -25823,9 +25825,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_13c_datasetlist_11DatasetList_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->_parent_lists); +@@ -26970,9 +26972,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -27281,9 +27283,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -27531,9 +27533,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/datasets/c_datasets.cpp amber20_src1/AmberTools/src/pytraj/pytraj/datasets/c_datasets.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/datasets/c_datasets.cpp 2021-04-28 14:30:03.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/datasets/c_datasets.cpp 2023-01-25 19:45:37.801188852 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -44907,9 +44909,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_7Dataset_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->_base); +@@ -45198,9 +45200,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_9Dataset1D_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -45343,9 +45345,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_13DatasetDouble_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -45523,9 +45525,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_12DatasetFloat_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -45703,9 +45705,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_14DatasetInteger_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -45884,9 +45886,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_13DatasetString_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -46064,9 +46066,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_13DatasetVector_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -46236,9 +46238,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_9Dataset2D_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -46378,9 +46380,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_19DatasetMatrixDouble_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -46572,9 +46574,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_18DatasetMatrixFloat_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -46728,9 +46730,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_9Dataset3D_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -46844,9 +46846,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_16DatasetGridFloat_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47052,9 +47054,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_17DatasetGridDouble_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47260,9 +47262,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_12DatasetModes_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47610,9 +47612,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_16DatasetMatrix3x3_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47775,9 +47777,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_11DatasetMesh_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -47923,9 +47925,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_13DatasetCoords_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->_top); +@@ -48134,9 +48136,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_16DatasetCoordsCRD_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48265,9 +48267,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_16DatasetCoordsRef_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -48411,9 +48413,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8datasets_10c_datasets_15DatasetTopology_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + PyObject_GC_Track(o); +@@ -49453,9 +49455,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -49764,9 +49766,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -50014,9 +50016,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/math/cpp_math.cpp amber20_src1/AmberTools/src/pytraj/pytraj/math/cpp_math.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/math/cpp_math.cpp 2021-04-28 14:30:06.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/math/cpp_math.cpp 2023-01-22 15:12:15.953074065 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -27652,9 +27654,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4math_8cpp_math_4Grid_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -27829,9 +27831,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4math_8cpp_math_10Matrix_3x3_16__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -28096,9 +28098,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_4math_8cpp_math_4Vec3_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -28680,9 +28682,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -28991,9 +28993,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -29241,9 +29243,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/topology/topology.cpp amber20_src1/AmberTools/src/pytraj/pytraj/topology/topology.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/topology/topology.cpp 2021-04-28 14:30:08.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/topology/topology.cpp 2023-01-25 19:46:48.531497479 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -34817,9 +34819,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8topology_8topology_8Topology_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -35173,9 +35175,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_8topology_8topology_8ParmFile_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -36324,9 +36326,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -36635,9 +36637,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -36885,9 +36887,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajectory.cpp amber20_src1/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajectory.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajectory.cpp 2021-04-28 14:30:10.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajectory.cpp 2023-01-22 15:12:40.053219243 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -30149,9 +30151,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_10trajectory_6c_traj_12c_trajectory_17TrajectoryCpptraj_32__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->_top); +@@ -31394,9 +31396,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -31705,9 +31707,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -31955,9 +31957,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajout.cpp amber20_src1/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajout.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajout.cpp 2021-04-28 14:30:11.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/trajectory/c_traj/c_trajout.cpp 2023-01-22 15:12:58.463330119 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -18179,9 +18181,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_10trajectory_6c_traj_9c_trajout_16TrajectoryWriter_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +@@ -18529,9 +18531,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -18840,9 +18842,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -19090,9 +19092,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/trajectory/frame.cpp amber20_src1/AmberTools/src/pytraj/pytraj/trajectory/frame.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/trajectory/frame.cpp 2021-04-28 14:30:13.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/trajectory/frame.cpp 2023-01-22 15:13:25.033490024 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -34146,9 +34148,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_pw_6pytraj_10trajectory_5frame_5Frame_3__dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->_top); +@@ -35182,9 +35184,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -35493,9 +35495,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -35743,9 +35745,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/pytraj/utils/cyutils.cpp amber20_src1/AmberTools/src/pytraj/pytraj/utils/cyutils.cpp +--- amber20_src/AmberTools/src/pytraj/pytraj/utils/cyutils.cpp 2021-04-28 14:30:15.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/pytraj/utils/cyutils.cpp 2023-01-22 15:10:56.812596886 +0100 +@@ -16,6 +16,8 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "CompatibilityMacros.h" ++ + #ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. + #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) +@@ -19989,9 +19991,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_array___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mode); +@@ -20300,9 +20302,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryview___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->obj); +@@ -20550,9 +20552,9 @@ + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); +- ++Py_REFCNT(o); ++ Py_INCR_REFCNT(o); + __pyx_memoryviewslice___dealloc__(o); +- --Py_REFCNT(o); ++ Py_DECR_REFCNT(o); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->from_object); +diff -ruN amber20_src/AmberTools/src/pytraj/scripts/base_setup.py amber20_src1/AmberTools/src/pytraj/scripts/base_setup.py +--- amber20_src/AmberTools/src/pytraj/scripts/base_setup.py 2021-04-28 14:29:48.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/scripts/base_setup.py 2023-01-26 09:54:41.354690608 +0100 +@@ -489,7 +489,8 @@ + cpptraj_info.lib_dir, + ] + +- include_dirs=[cpptraj_info.include_dir, pytraj_src] ++ ambertools_inc=os.environ['AMBERTOOLS_INC'] ++ include_dirs=[cpptraj_info.include_dir, pytraj_src, ambertools_inc] + ext_modules = [] + if sys.platform.startswith('win'): + libraries=['libcpptraj'] +diff -ruN amber20_src/AmberTools/src/pytraj/setup.py amber20_src1/AmberTools/src/pytraj/setup.py +--- amber20_src/AmberTools/src/pytraj/setup.py 2021-04-26 15:45:42.000000000 +0200 ++++ amber20_src1/AmberTools/src/pytraj/setup.py 2023-01-26 09:55:47.604913750 +0100 +@@ -113,7 +113,6 @@ + extra_compile_args = ['-O0', '-ggdb'] + extra_link_args = ['-O0', '-ggdb'] + +- + cython_directives = { + 'embedsignature': True, + 'boundscheck': False,