From 9167d613d656dfa7767a2e4ddc47723983667781 Mon Sep 17 00:00:00 2001 From: Sylvain Tricot Date: Thu, 3 Apr 2025 21:56:15 +0200 Subject: [PATCH] Fix lmax bug There was a limit in the lmax value due to too large numbers in spherical harmonics. This was due to large arguments in exponential function in EXPFAC_MOD and EXPFAC2_MOD. We changed the kind from REAL to REAL*8 --- src/msspec/spec/fortran/common_sub/read_data.f | 3 ++- src/msspec/spec/fortran/memalloc/modules.f | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/msspec/spec/fortran/common_sub/read_data.f b/src/msspec/spec/fortran/common_sub/read_data.f index 4354ebd..adee88e 100644 --- a/src/msspec/spec/fortran/common_sub/read_data.f +++ b/src/msspec/spec/fortran/common_sub/read_data.f @@ -83,8 +83,9 @@ C REAL TEXTE1(10),TEXTE2(10),TEXTE3(10) REAL TEXTE4(10),TEXTE5(10),TEXTE6(10) REAL TEXTE6B(10),TEXTE7(10) - REAL THFWD(NATP_M),THBWD(NATP_M),GLG(0:N_GAUNT),NJ(0:N_GAUNT) + REAL THFWD(NATP_M),THBWD(NATP_M) REAL ALPHAR,BETAR,RACC + REAL*8 GLG(0:N_GAUNT),NJ(0:N_GAUNT) C C C diff --git a/src/msspec/spec/fortran/memalloc/modules.f b/src/msspec/spec/fortran/memalloc/modules.f index 99fead6..36f2f67 100644 --- a/src/msspec/spec/fortran/memalloc/modules.f +++ b/src/msspec/spec/fortran/memalloc/modules.f @@ -781,7 +781,7 @@ C======================================================================= C======================================================================= MODULE EXPFAC_MOD IMPLICIT NONE - REAL, ALLOCATABLE, DIMENSION(:,:) :: EXPF + REAL*8, ALLOCATABLE, DIMENSION(:,:) :: EXPF CONTAINS SUBROUTINE ALLOC_EXPFAC() USE DIM_MOD @@ -837,7 +837,7 @@ C======================================================================= C======================================================================= MODULE EXPFAC2_MOD IMPLICIT NONE - REAL, ALLOCATABLE, DIMENSION(:,:) :: EXPF2 + REAL*8, ALLOCATABLE, DIMENSION(:,:) :: EXPF2 CONTAINS SUBROUTINE ALLOC_EXPFAC2() USE DIM_MOD