From d14b271a3ee13eeac29057f09f9362de03e8f617 Mon Sep 17 00:00:00 2001 From: Purnendu Chakraborty Date: Wed, 14 Jan 2026 09:59:58 -0500 Subject: [PATCH 1/2] Revert "Back to using MAPL_RemapBounds - gfortran has trouble with bounds remapping" This reverts commit 441f5b1bdf91cf7bb64c8147b83f1ed6dccbcc2b. --- DynCore_GridCompMod.F90 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/DynCore_GridCompMod.F90 b/DynCore_GridCompMod.F90 index fd27efa..948655c 100644 --- a/DynCore_GridCompMod.F90 +++ b/DynCore_GridCompMod.F90 @@ -27,7 +27,6 @@ module FVdycoreCubed_GridComp use MAPL_AbstractRegridderMod, only: AbstractRegridder ! pchakrab - TODO: need MAPL3 equivalent ! use MAPL_SunMod, only: MAPL_SunOrbit, MAPL_SunGetInsolation - use MAPL_BaseMod, only: MAPL_RemapBounds use MAPL_GridManagerMod, only: grid_manager use MAPL_RegridderManagerMod, only: regridder_manager use MAPL_RegridMethods, only: REGRID_METHOD_BILINEAR @@ -3584,10 +3583,7 @@ subroutine PULL_Q(self, import, QQQ, iNXQ, InFieldName, rc) self%vars%TRACER(N)%TNAME = fieldname if ( self%vars%TRACER(N)%IS_R4 ) then call ESMF_ArrayGet(array, localDE=0, farrayptr=ptr_r4, _RC) - ! gfortran has trouble with pointer bounds remapping - ! (Error: Rank remapping target must be rank 1 or simply contiguous) - ! self%vars%tracer(n)%content_r4(i1:in, j1:jn, 1:km) => ptr_r4 - self%vars%tracer(n)%content_r4 => MAPL_RemapBounds(ptr_r4, i1, in, j1, jn, 1, km) + self%vars%tracer(n)%content_r4(i1:in, j1:jn, 1:km) => ptr_r4 if (fieldname == QFieldName) then qqq%is_r4 = .true. qqq%content_r4 => self%vars%tracer(n)%content_r4 From 6a0425ca69355a699a06bca17dc99d273c1e03ca Mon Sep 17 00:00:00 2001 From: Purnendu Chakraborty Date: Wed, 14 Jan 2026 10:18:23 -0500 Subject: [PATCH 2/2] Using pointer's contiguous attribute to try to get around gfortran issue --- DynCore_GridCompMod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DynCore_GridCompMod.F90 b/DynCore_GridCompMod.F90 index 948655c..8851e0f 100644 --- a/DynCore_GridCompMod.F90 +++ b/DynCore_GridCompMod.F90 @@ -3543,7 +3543,7 @@ subroutine PULL_Q(self, import, QQQ, iNXQ, InFieldName, rc) type(ESMF_Field) :: field type(ESMF_Array) :: array type(ESMF_TypeKind_Flag) :: kind - real(r4), pointer :: ptr_r4(:,:,:) + real(r4), pointer, contiguous :: ptr_r4(:,:,:) real(r8), pointer :: ptr_r8(:,:,:) integer :: N,NQ integer :: i1, in, j1, jn, im, jm, km