From 9c044bcdec41bb5f3f1ebac7ffb53350bcc0e320 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 30 Dec 2021 09:22:57 -0700 Subject: [PATCH 1/2] Change ifdef statement for quad precision in kinddef.F90 --- kinddef.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kinddef.F90 b/kinddef.F90 index ef369d9..43cd3d4 100644 --- a/kinddef.F90 +++ b/kinddef.F90 @@ -16,7 +16,7 @@ module kinddef integer, parameter :: kind_dbl_prec = 8 integer, parameter :: kind_io8 = 8 -#ifdef __PGI +#ifdef NO_QUAD_PRECISION integer, parameter :: kind_qdt_prec = 8 #else integer, parameter :: kind_qdt_prec = 16 From a26bd6de5101fff8b2e043c7a6b2de8b30a13e64 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 30 Dec 2021 11:20:08 -0700 Subject: [PATCH 2/2] Reduce convergence criteria when NO_QUAD_PRECISION is used --- spectral_transforms.F90 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spectral_transforms.F90 b/spectral_transforms.F90 index 71e14bb..59eeb9a 100644 --- a/spectral_transforms.F90 +++ b/spectral_transforms.F90 @@ -1972,7 +1972,12 @@ subroutine glats_stochy(lgghaf,colrad,wgt,rcs2) cons2 = 2.d0, cons4 = 4.d0, & cons180 = 180.d0, & cons0p25 = 0.25d0 +#ifdef NO_QUAD_PRECISION + real(kind=kind_qdt_prec), parameter :: eps = 1.d-12 +#else real(kind=kind_qdt_prec), parameter :: eps = 1.d-20 +#endif + ! ! for better accuracy to select smaller number ! eps = 1.d-12