From 017d35a3ac2b09f452065cae4f4116cc5ee21c84 Mon Sep 17 00:00:00 2001 From: Thomas-Ulrich Date: Thu, 25 Sep 2025 14:35:19 +0200 Subject: [PATCH 1/3] fix the build with python3.12 --- MOMENT_DISP_F90_OPENMP/src/Makefile | 3 ++- .../src/{convmPy.f90 => convmPy.F90} | 0 MOMENT_DISP_F90_OPENMP/src/parameter.f90 | 10 ++++------ 3 files changed, 6 insertions(+), 7 deletions(-) rename MOMENT_DISP_F90_OPENMP/src/{convmPy.f90 => convmPy.F90} (100%) diff --git a/MOMENT_DISP_F90_OPENMP/src/Makefile b/MOMENT_DISP_F90_OPENMP/src/Makefile index 49cd6ec..c93376a 100644 --- a/MOMENT_DISP_F90_OPENMP/src/Makefile +++ b/MOMENT_DISP_F90_OPENMP/src/Makefile @@ -69,8 +69,9 @@ tar: ###################################### # PYTHON ###################################### + python: parameter.o dimension1.o fft2cd.o fsource.o dll2km.o axitra2py - f2py -c -m convmPy -DF2PY_REPORT_ON_ARRAY_COPY=1 $(F2PY) convmPy.f90 fft2cd.o fsource.o dll2km.o + f2py -c -m convmPy -DF2PY_REPORT_ON_ARRAY_COPY=1 $(F2PY) convmPy.F90 fsource.f90 parameter.f90 fft2cd.o dll2km.o axitra2py: dimension1.o dimension2.o parameter.o allocateArray.o initdata.o dll2km.o axitra2py.o $(FC) $(FFLAGS) -o $@ axitra2py.o dimension1.o dimension2.o allocateArray.o initdata.o dll2km.o parameter.o diff --git a/MOMENT_DISP_F90_OPENMP/src/convmPy.f90 b/MOMENT_DISP_F90_OPENMP/src/convmPy.F90 similarity index 100% rename from MOMENT_DISP_F90_OPENMP/src/convmPy.f90 rename to MOMENT_DISP_F90_OPENMP/src/convmPy.F90 diff --git a/MOMENT_DISP_F90_OPENMP/src/parameter.f90 b/MOMENT_DISP_F90_OPENMP/src/parameter.f90 index 06dd6cb..8a44104 100644 --- a/MOMENT_DISP_F90_OPENMP/src/parameter.f90 +++ b/MOMENT_DISP_F90_OPENMP/src/parameter.f90 @@ -9,13 +9,12 @@ ! ********************************************************************** module parameter - use iso_fortran_env implicit none ! size for kind declaration, fs= single precision, fd=double precision ! uses iso_fortran_env, can be replace by any sizeof if your compiler is not Fortran2003 compliant - integer :: fs,fd - parameter(fd=real64, fs=real32) + integer, parameter :: fs = kind(0.0) + integer, parameter :: fd = kind(0d0) complex(kind=fd) :: ai parameter(ai=(0., 1.)) @@ -49,10 +48,9 @@ module parameter contains function doubleEquality(x1, x2) result(t) - use ISO_FORTRAN_ENV implicit none - - real(kind=real64) :: x1, x2 + integer, parameter :: fd = kind(0d0) + real(kind=fd) :: x1, x2 logical :: t t = (abs(x1 - x2) <= epsilon(x1)) From ce2ec9af6cebdff78b3a14d370103b99c1d15817 Mon Sep 17 00:00:00 2001 From: Thomas-Ulrich Date: Wed, 1 Oct 2025 14:01:52 +0200 Subject: [PATCH 2/3] now the module can also be loaded --- MOMENT_DISP_F90_OPENMP/src/Makefile | 2 +- MOMENT_DISP_F90_OPENMP/src/dll2km.f90 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MOMENT_DISP_F90_OPENMP/src/Makefile b/MOMENT_DISP_F90_OPENMP/src/Makefile index c93376a..b298af2 100644 --- a/MOMENT_DISP_F90_OPENMP/src/Makefile +++ b/MOMENT_DISP_F90_OPENMP/src/Makefile @@ -71,7 +71,7 @@ tar: ###################################### python: parameter.o dimension1.o fft2cd.o fsource.o dll2km.o axitra2py - f2py -c -m convmPy -DF2PY_REPORT_ON_ARRAY_COPY=1 $(F2PY) convmPy.F90 fsource.f90 parameter.f90 fft2cd.o dll2km.o + f2py -c -m convmPy -DF2PY_REPORT_ON_ARRAY_COPY=1 $(F2PY) convmPy.F90 fsource.f90 parameter.f90 fft2cd.f90 dll2km.f90 axitra2py: dimension1.o dimension2.o parameter.o allocateArray.o initdata.o dll2km.o axitra2py.o $(FC) $(FFLAGS) -o $@ axitra2py.o dimension1.o dimension2.o allocateArray.o initdata.o dll2km.o parameter.o diff --git a/MOMENT_DISP_F90_OPENMP/src/dll2km.f90 b/MOMENT_DISP_F90_OPENMP/src/dll2km.f90 index 296c9da..2a8f1cb 100644 --- a/MOMENT_DISP_F90_OPENMP/src/dll2km.f90 +++ b/MOMENT_DISP_F90_OPENMP/src/dll2km.f90 @@ -48,7 +48,7 @@ subroutine projlcc(rlat,rlon,xloc,yloc,isens) implicit real*8 (a-h,o-z) common /laccproj/ rlon0,radius,p0,fcon,cone,pi4 - common /trig/ pi,radpdeg + common /trig/ radpdeg ! CONSTANTS SET IN EARLIER ROUTINE ! cone=alog(cos(radpdeg*stdlat1)/cos(radpdeg*stdlat2))/ @@ -79,7 +79,7 @@ subroutine init_lcc(rlat0,lon0,stdlat1,stdlat2) implicit real*8 (a-h,o-z) real*8 lon0 common /laccproj/ rlon0,radius,p0,fcon,cone,pi4 - common /trig/ pi,radpdeg + common /trig/ radpdeg rlon0=lon0 pi4=atan(1.) pi=pi4*4. From d56685bce143365fd214743760169e8400834d4b Mon Sep 17 00:00:00 2001 From: Thomas-Ulrich Date: Fri, 24 Oct 2025 08:45:03 +0200 Subject: [PATCH 3/3] fix build of convmPy --- MOMENT_DISP_F90_OPENMP/src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MOMENT_DISP_F90_OPENMP/src/Makefile b/MOMENT_DISP_F90_OPENMP/src/Makefile index b298af2..12d6e1a 100644 --- a/MOMENT_DISP_F90_OPENMP/src/Makefile +++ b/MOMENT_DISP_F90_OPENMP/src/Makefile @@ -71,7 +71,7 @@ tar: ###################################### python: parameter.o dimension1.o fft2cd.o fsource.o dll2km.o axitra2py - f2py -c -m convmPy -DF2PY_REPORT_ON_ARRAY_COPY=1 $(F2PY) convmPy.F90 fsource.f90 parameter.f90 fft2cd.f90 dll2km.f90 + f2py -c -m convmPy -DF2PY_REPORT_ON_ARRAY_COPY=1 $(F2PY) parameter.f90 convmPy.F90 fsource.f90 fft2cd.f90 dll2km.f90 axitra2py: dimension1.o dimension2.o parameter.o allocateArray.o initdata.o dll2km.o axitra2py.o $(FC) $(FFLAGS) -o $@ axitra2py.o dimension1.o dimension2.o allocateArray.o initdata.o dll2km.o parameter.o