From 49bbf7900c87270926197768bd050c7b461a8e55 Mon Sep 17 00:00:00 2001 From: Amidu Oloso Date: Tue, 14 Jan 2025 16:54:53 -0500 Subject: [PATCH 01/16] still trying to fix GOCART2G array indexing --- generic/OpenMP_Support.F90 | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/generic/OpenMP_Support.F90 b/generic/OpenMP_Support.F90 index 9cdf0a3ac1c8..661b5b0ace9a 100644 --- a/generic/OpenMP_Support.F90 +++ b/generic/OpenMP_Support.F90 @@ -6,6 +6,7 @@ module MAPL_OpenMP_Support use MAPL_maplgrid use MAPL_ExceptionHandling use mapl_KeywordEnforcerMod + use MAPL_BaseMod, only : MAPL_Grid_Interior !$ use omp_lib implicit none @@ -83,7 +84,7 @@ function make_subgrids_from_bounds(primary_grid, bounds, unusable, rc) result(su type(Interval), intent(in) :: bounds(:) class(KeywordEnforcer), optional, intent(in) :: unusable integer, optional, intent(out) :: rc - integer :: local_count(3) + integer :: local_count(3), global_count(3) integer :: status integer :: petMap(1,1,1) integer :: myPet, section, i, j, k, count, size_ @@ -102,7 +103,7 @@ function make_subgrids_from_bounds(primary_grid, bounds, unusable, rc) result(su !end do allocate(subgrids(size(bounds))) - call MAPL_GridGet(primary_grid,localcellcountPerDim=local_count, _RC) + call MAPL_GridGet(primary_grid,localcellcountPerDim=local_count, globalCellCountPerDim=global_count, _RC) call ESMF_VMGetCurrent(vm, _RC) call ESMF_VMGet(vm, localPET=myPET, _RC) @@ -175,6 +176,23 @@ function make_subgrids_from_bounds(primary_grid, bounds, unusable, rc) result(su itemCount = count, valueList=lons1d, _RC) call ESMF_AttributeSet(subgrids(i), name='GridCornerLats:', & itemCount = count, valueList=lats1d, _RC) + block + integer :: global_grid_info(10) + integer :: i1,i2,j1,j2 + call MAPL_Grid_Interior(primary_grid,i1,i2,j1,j2) + global_grid_info(1:3) = global_count + !global_grid_info(4:6) = local_count + global_grid_info(4) = size(new_lons,1) + global_grid_info(5) = size(new_lons,2) + global_grid_info(6) = local_count(3) + global_grid_info(7) = i1 + global_grid_info(8) = i2 + global_grid_info(9) = j1 + bounds(i)%min - 1 + global_grid_info(10) = j1 + bounds(i)%max - 1 + print '(a,i6,6i4)', __FILE__, __LINE__, myPet, i, j1, j2, global_grid_info(9), global_grid_info(10) + call ESMF_AttributeSet(subgrids(i), name="GLOBAL_GRID_INFO", & + itemCount=10, valueList=global_grid_info, _RC) + end block deallocate(lons1d, lats1d) deallocate(new_corner_lons, new_corner_lats) From ef5e0245d69388c971174b34faab7a66db820958 Mon Sep 17 00:00:00 2001 From: Benjamin Auer Date: Wed, 15 Jan 2025 11:31:47 -0500 Subject: [PATCH 02/16] more updates --- base/Base/Base_Base_implementation.F90 | 60 ++++++++++++++++++++------ base/MaplGrid.F90 | 9 ++++ 2 files changed, 57 insertions(+), 12 deletions(-) diff --git a/base/Base/Base_Base_implementation.F90 b/base/Base/Base_Base_implementation.F90 index b50e84e98897..6653bf2e38fa 100644 --- a/base/Base/Base_Base_implementation.F90 +++ b/base/Base/Base_Base_implementation.F90 @@ -1557,11 +1557,24 @@ module subroutine MAPL_GRID_INTERIOR(GRID,I1,IN,J1,JN) integer :: gridRank integer, allocatable :: localDeToDeMap(:) integer :: rc + logical :: isPresent + integer :: global_grid_info(10) i1=-1 j1=-1 in=-1 jn=-1 + + call ESMF_AttributeGet(grid, name="GLOBAL_GRID_INFO", isPresent=isPresent, _RC) + if (isPresent) then + call ESMF_AttributeGet(grid, name="GLOBAL_GRID_INFO", valueList=global_grid_info, _RC) + I1 = global_grid_info(7) + IN = global_grid_info(8) + j1 = global_grid_info(9) + JN = global_grid_info(10) + _RETURN(_SUCCESS) + end if + call ESMF_GridGet (GRID, dimCount=gridRank, distGrid=distGrid, _RC) call ESMF_DistGridGet(distGRID, delayout=layout, _RC) call ESMF_DELayoutGet(layout, deCount = nDEs, localDeCount=localDeCount,_RC) @@ -2138,6 +2151,24 @@ module subroutine MAPL_GridGetInterior(GRID,I1,IN,J1,JN) integer :: deId integer :: gridRank integer :: rc + logical :: isPresent + integer :: global_grid_info(10) + + i1=-1 + j1=-1 + in=-1 + jn=-1 + + call ESMF_AttributeGet(grid, name="GLOBAL_GRID_INFO", isPresent=isPresent, _RC) + if (isPresent) then + call ESMF_AttributeGet(grid, name="GLOBAL_GRID_INFO", valueList=global_grid_info, _RC) + I1 = global_grid_info(7) + IN = global_grid_info(8) + j1 = global_grid_info(9) + JN = global_grid_info(10) + _RETURN(_SUCCESS) + end if + call ESMF_GridGet (GRID, dimCount=gridRank, distGrid=distGrid, _RC) call ESMF_DistGridGet(distGRID, delayout=layout, _RC) @@ -2627,9 +2658,9 @@ module subroutine MAPL_GetHorzIJIndex(npts,II,JJ,lon,lat,lonR8,latR8,Grid, rc) tmp_lats = latR8 end if -!AOO change tusing GridType atribute if (im_world*6==jm_world) then - call ESMF_AttributeGet(grid, name='GridType', value=grid_type, _RC) - if(trim(grid_type) == "Cubed-Sphere") then + if (im_world*6==jm_world) then +! call ESMF_AttributeGet(grid, name='GridType', value=grid_type, _RC) +! if(trim(grid_type) == "Cubed-Sphere") then call MAPL_GetGlobalHorzIJIndex(npts, II, JJ, lon=lon, lat=lat, lonR8=lonR8, latR8=latR8, Grid=Grid, _RC) @@ -2868,28 +2899,33 @@ function grid_is_ok(grid) result(OK) type(ESMF_Grid), intent(inout) :: grid logical :: OK integer :: I1, I2, J1, J2, j - real(ESMF_KIND_R8), pointer :: corner_lons(:,:), corner_lats(:,:) + real(ESMF_KIND_R8), allocatable :: corner_lons(:,:), corner_lats(:,:) real(ESMF_KIND_R8), allocatable :: lonRe(:), latRe(:) real(ESMF_KIND_R8), allocatable :: accurate_lat(:), accurate_lon(:) real(ESMF_KIND_R8) :: stretch_factor, target_lon, target_lat, shift0 real :: tolerance + integer :: local_dims(3) tolerance = epsilon(1.0) call MAPL_GridGetInterior(grid,I1,I2,J1,J2) + call MAPL_GridGet(grid, localCellCountPerDim=local_dims, _RC) OK = .true. ! check the edge of face 1 along longitude - call ESMF_GridGetCoord(grid,localDE=0,coordDim=1,staggerloc=ESMF_STAGGERLOC_CORNER, & - farrayPtr=corner_lons, rc=status) - call ESMF_GridGetCoord(grid,localDE=0,coordDim=2,staggerloc=ESMF_STAGGERLOC_CORNER, & - farrayPtr=corner_lats, rc=status) + !call ESMF_GridGetCoord(grid,localDE=0,coordDim=1,staggerloc=ESMF_STAGGERLOC_CORNER, & + ! farrayPtr=corner_lons, _RC) + !call ESMF_GridGetCoord(grid,localDE=0,coordDim=2,staggerloc=ESMF_STAGGERLOC_CORNER, & + ! farrayPtr=corner_lats, _RC) + allocate(corner_lons(local_dims(1)+1, local_dims(2)+1)) + allocate(corner_lats(local_dims(1)+1, local_dims(2)+1)) + call MAPL_GridGetCorners(grid, corner_lons, corner_lats, _RC) if ( I1 == 1 .and. J1 == 1 ) then - allocate(lonRe(j2-j1+1), latRe(j2-j1+1)) - call MAPL_Reverse_Schmidt(grid, stretched, J2-J1+1, lonR8=corner_lons(1,:), & - latR8=corner_lats(1,:), lonRe=lonRe, latRe=latRe, _RC) + allocate(lonRe(local_dims(2)), latRe(local_dims(2))) + call MAPL_Reverse_Schmidt(grid, stretched, local_dims(2), lonR8=corner_lons(1,1:local_dims(2)), & + latR8=corner_lats(1,1:local_dims(2)), lonRe=lonRe, latRe=latRe, _RC) - allocate(accurate_lon(j2-j1+1), accurate_lat(j2-j1+1)) + allocate(accurate_lon(local_dims(2)), accurate_lat(local_dims(2))) shift0 = shift if (stretched) shift0 = 0 diff --git a/base/MaplGrid.F90 b/base/MaplGrid.F90 index fdac6371357e..153fdd11d865 100644 --- a/base/MaplGrid.F90 +++ b/base/MaplGrid.F90 @@ -265,10 +265,19 @@ subroutine MAPL_GridGet(GRID, globalCellCountPerDim, localCellCountPerDim, layou type(ESMF_DistGrid) :: distGrid integer, allocatable :: maxindex(:,:),minindex(:,:) integer, pointer :: ims(:),jms(:) + integer :: global_grid_info(10) pglobal = present(globalCellCountPerDim) plocal = present(localCellCountPerDim) + call ESMF_AttributeGet(grid, name="GLOBAL_GRID_INFO", isPresent=isPresent, _RC) + if (isPresent) then + call ESMF_AttributeGet(grid, name="GLOBAL_GRID_INFO", valueList=global_grid_info, _RC) + if (pglobal) globalCellCountPerDim = global_grid_info(1:3) + if (plocal) localCellCountPerDim = global_grid_info(4:6) + _RETURN(_SUCCESS) + end if + if (pglobal .or. plocal) then call ESMF_GridGet(grid, dimCount=gridRank, _RC) From 08bd7473eb848a8f4d92da8730e03421f56fa09f Mon Sep 17 00:00:00 2001 From: Amidu Oloso Date: Fri, 17 Jan 2025 12:09:37 -0500 Subject: [PATCH 03/16] removed unnecessary comments --- base/Base/Base_Base_implementation.F90 | 2 -- generic/OpenMP_Support.F90 | 1 - 2 files changed, 3 deletions(-) diff --git a/base/Base/Base_Base_implementation.F90 b/base/Base/Base_Base_implementation.F90 index 6653bf2e38fa..c04decee1501 100644 --- a/base/Base/Base_Base_implementation.F90 +++ b/base/Base/Base_Base_implementation.F90 @@ -2659,8 +2659,6 @@ module subroutine MAPL_GetHorzIJIndex(npts,II,JJ,lon,lat,lonR8,latR8,Grid, rc) end if if (im_world*6==jm_world) then -! call ESMF_AttributeGet(grid, name='GridType', value=grid_type, _RC) -! if(trim(grid_type) == "Cubed-Sphere") then call MAPL_GetGlobalHorzIJIndex(npts, II, JJ, lon=lon, lat=lat, lonR8=lonR8, latR8=latR8, Grid=Grid, _RC) diff --git a/generic/OpenMP_Support.F90 b/generic/OpenMP_Support.F90 index 661b5b0ace9a..9a9c33b629b1 100644 --- a/generic/OpenMP_Support.F90 +++ b/generic/OpenMP_Support.F90 @@ -189,7 +189,6 @@ function make_subgrids_from_bounds(primary_grid, bounds, unusable, rc) result(su global_grid_info(8) = i2 global_grid_info(9) = j1 + bounds(i)%min - 1 global_grid_info(10) = j1 + bounds(i)%max - 1 - print '(a,i6,6i4)', __FILE__, __LINE__, myPet, i, j1, j2, global_grid_info(9), global_grid_info(10) call ESMF_AttributeSet(subgrids(i), name="GLOBAL_GRID_INFO", & itemCount=10, valueList=global_grid_info, _RC) end block From 46c64734614bb3504dfe3e38adfd483d8d5b7de6 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Wed, 22 Jan 2025 10:29:03 -0500 Subject: [PATCH 04/16] Update to ESMA_env v4.34.1 --- CHANGELOG.md | 6 +++++- components.yaml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 643edd7ab418..8ef520106474 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option +- Update `components.yaml` + - `ESMA_env` v4.34.1 + - Fix GEOSpyD module on GMAO Desktops + ### Fixed ### Removed @@ -31,7 +36,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option - Changed MAPL_ESMFRegridder to require the dstMaskValues to be added as grid attribute to use fixed masking, fixes UFS issue - Increased formatting width of time index in ExtData2G diagnostic print - Updated GitHub checkout action to use blobless clones diff --git a/components.yaml b/components.yaml index bedab2379e88..27bfcc960af7 100644 --- a/components.yaml +++ b/components.yaml @@ -5,7 +5,7 @@ MAPL: ESMA_env: local: ./ESMA_env remote: ../ESMA_env.git - tag: v4.34.0 + tag: v4.34.1 develop: main ESMA_cmake: From 6bfafd9ecfb00606f9fa5933c051635ea62d52c4 Mon Sep 17 00:00:00 2001 From: Benjamin Auer Date: Wed, 22 Jan 2025 10:44:04 -0500 Subject: [PATCH 05/16] fix changlog and remove prints --- CHANGELOG.md | 3 +-- gridcomps/ExtData2G/ExtDataBracket.F90 | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 643edd7ab418..64ca8a4610ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option ### Fixed @@ -31,8 +32,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option -- Changed MAPL_ESMFRegridder to require the dstMaskValues to be added as grid attribute to use fixed masking, fixes UFS issue - Increased formatting width of time index in ExtData2G diagnostic print - Updated GitHub checkout action to use blobless clones - Update CI to use Baselibs 7.29.0 by default diff --git a/gridcomps/ExtData2G/ExtDataBracket.F90 b/gridcomps/ExtData2G/ExtDataBracket.F90 index 9fff7624bbb3..8c8c84da4f7f 100644 --- a/gridcomps/ExtData2G/ExtDataBracket.F90 +++ b/gridcomps/ExtData2G/ExtDataBracket.F90 @@ -188,8 +188,6 @@ subroutine interpolate_to_time(this,field,time,rc) right_node_set = this%right_node%check_if_initialized(_RC) left_node_set = this%left_node%check_if_initialized(_RC) - call ESMF_TimePrint(this%left_node%time,options='string',preString='left bracket time: ') - call ESMF_TimePrint(this%right_node%time,options='string',preString='right bracket time: ') alpha = 0.0 if ( (.not.this%disable_interpolation) .and. (.not.this%intermittent_disable) .and. right_node_set .and. left_node_set) then From f306557e9d4dc871344e913c7ca09a4c0bfd493b Mon Sep 17 00:00:00 2001 From: Benjamin Auer Date: Wed, 22 Jan 2025 13:05:48 -0500 Subject: [PATCH 06/16] restore missing line in changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64ca8a4610ba..ef026ba9b20a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Changed MAPL_ESMFRegridder to require the dstMaskValues to be added as grid attribute to use fixed masking, fixes UFS issue - Increased formatting width of time index in ExtData2G diagnostic print - Updated GitHub checkout action to use blobless clones - Update CI to use Baselibs 7.29.0 by default From b2aa81733b74a0ca35cfa5688c54cc152d0ca6c9 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Wed, 22 Jan 2025 18:13:28 -0500 Subject: [PATCH 07/16] Fix up changelog --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f99a4931799e..8ef520106474 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed -- Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option - Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option - Update `components.yaml` From 260d563d08ff0d3e8436ec33ed98a362110e731b Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 23 Jan 2025 13:35:20 -0500 Subject: [PATCH 08/16] Update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef026ba9b20a..25e2e361ff82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,10 +10,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed + - Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option ### Fixed +- Changes were made to add attributes to the subgrids (i.e. created by dividing the MPI subdomain into smaller subdomains equal to the number of OpenMP threads) such that the correct dimensions for the MPI subdomain could be retrieved from the subgrids where ever needed. + ### Removed ### Deprecated From beebb2927b831a2cc605386e7d1c0bec9f58eef6 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 24 Jan 2025 10:49:40 -0500 Subject: [PATCH 09/16] Prepare for 2.53.0 Release --- CHANGELOG.md | 14 ++++++++++---- CMakeLists.txt | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a15e7a69c76..5277ee59e9f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +### Fixed + +### Removed + +### Deprecated + +## [2.53.0] - 2025-01-24 + +### Changed + - Updated ExtData so that if files are missing in a sequence the last value will be perisisted if one has not chosen `exact` option - Update `components.yaml` - `ESMA_env` v4.34.1 @@ -20,10 +30,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Changes were made to add attributes to the subgrids (i.e. created by dividing the MPI subdomain into smaller subdomains equal to the number of OpenMP threads) such that the correct dimensions for the MPI subdomain could be retrieved from the subgrids where ever needed. -### Removed - -### Deprecated - ## [2.52.0] - 2025-01-17 ### Added diff --git a/CMakeLists.txt b/CMakeLists.txt index 83113960be62..4e8f157d3579 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ endif () project ( MAPL - VERSION 2.52.0 + VERSION 2.53.0 LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF # Set the possible values of build type for cmake-gui From e95bc86b3b20c63e753d00f3d94ac9ae3ed4b1c1 Mon Sep 17 00:00:00 2001 From: Benjamin Auer Date: Tue, 28 Jan 2025 13:52:56 -0500 Subject: [PATCH 10/16] fixes #3369 --- CHANGELOG.md | 2 ++ base/Base/Base_Base_implementation.F90 | 7 ++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5277ee59e9f8..fb7dc0197b7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed but with MAPL_GetHorzijIndex from previous release when not points are passed on a processor causing a deadlock + ### Removed ### Deprecated diff --git a/base/Base/Base_Base_implementation.F90 b/base/Base/Base_Base_implementation.F90 index c04decee1501..41639a687dd9 100644 --- a/base/Base/Base_Base_implementation.F90 +++ b/base/Base/Base_Base_implementation.F90 @@ -2632,7 +2632,6 @@ module subroutine MAPL_GetHorzIJIndex(npts,II,JJ,lon,lat,lonR8,latR8,Grid, rc) type(ESMF_CoordSys_Flag) :: coordSys character(len=ESMF_MAXSTR) :: grid_type - _RETURN_IF(npts == 0 ) ! if the grid is present then we can just get the prestored edges and the dimensions of the grid ! this also means we are running on a distributed grid ! if grid not present then the we just be running outside of ESMF and the user must @@ -2789,9 +2788,6 @@ module subroutine MAPL_GetGlobalHorzIJIndex(npts,II,JJ,lon,lat,lonR8,latR8,Grid, logical :: good_grid, stretched - ! Return if no local points - _RETURN_IF(npts == 0) - if ( .not. present(grid)) then _FAIL("need a cubed-sphere grid") endif @@ -2808,10 +2804,11 @@ module subroutine MAPL_GetGlobalHorzIJIndex(npts,II,JJ,lon,lat,lonR8,latR8,Grid, ! make sure the grid can be used in this subroutine good_grid = grid_is_ok(grid) - if ( .not. good_grid ) then _FAIL( "MAPL_GetGlobalHorzIJIndex cannot handle this grid") endif + ! Return if no local points + _RETURN_IF(npts==0) ! shift the grid away from Japan Fuji Mt. shift0 = shift From 79b932a3ee70ac0d720bc5b0eaace8f3b4709971 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Tue, 28 Jan 2025 18:11:59 -0500 Subject: [PATCH 11/16] Prepare for 2.53.1 Release --- CHANGELOG.md | 8 ++++++-- CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb7dc0197b7a..2d86ccb9d669 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,12 +13,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fixed but with MAPL_GetHorzijIndex from previous release when not points are passed on a processor causing a deadlock - ### Removed ### Deprecated +## [2.53.1] - 2025-01-29 + +### Fixed + +- Fixed bug with `MAPL_GetHorzijIndex` when not points are passed on a processor causing a deadlock + ## [2.53.0] - 2025-01-24 ### Changed diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e8f157d3579..727f3603eb11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ endif () project ( MAPL - VERSION 2.53.0 + VERSION 2.53.1 LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF # Set the possible values of build type for cmake-gui From 3628e72bfcabe11df9388f17ef87dbf29509bc74 Mon Sep 17 00:00:00 2001 From: Darian Boggs Date: Mon, 3 Feb 2025 15:10:15 -0500 Subject: [PATCH 12/16] Add ALIAS column to ACG StateSpec files --- Apps/MAPL_GridCompSpecs_ACG.py | 6 ++++++ CHANGELOG.md | 1 + 2 files changed, 7 insertions(+) diff --git a/Apps/MAPL_GridCompSpecs_ACG.py b/Apps/MAPL_GridCompSpecs_ACG.py index 13d113da3787..c35651e50eda 100755 --- a/Apps/MAPL_GridCompSpecs_ACG.py +++ b/Apps/MAPL_GridCompSpecs_ACG.py @@ -200,6 +200,7 @@ def get_mandatory_options(cls): 'VLOCATION': ('vlocation', VLOCATION_EMIT), 'VLOC': ('vlocation', VLOCATION_EMIT), # these are Options that are not output but used to write + 'ALIAS': ('alias', identity_emit, False, False), 'CONDITION': ('condition', identity_emit, False, False), 'COND': ('condition', identity_emit, False, False), 'ALLOC': ('alloc', identity_emit, False, False), @@ -463,6 +464,7 @@ def digest(specs, args): for spec in specs[category]: # spec from list dims = None ungridded = None + alias = None option_values = dict() # dict of option values for column in spec: # for spec emit value column_value = spec[column] @@ -480,6 +482,10 @@ def digest(specs, args): dims = option_value elif option == Option.UNGRIDDED: ungridded = option_value + elif option == Option.ALIAS: + alias = Option.ALIAS(column_value) + if alias: + option_values[Option.INTERNAL_NAME] = alias # MANDATORY for option in mandatory_options: if option not in option_values: diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d86ccb9d669..9d5789250a67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- Add column for ACG (ALIAS) that set the pointer variable to a different name than the `short_name` ### Fixed From ab8cd729e5bdd92fdf58fcb7fd776b92e9a2b933 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 6 Feb 2025 09:00:46 -0500 Subject: [PATCH 13/16] v2: Update CI with latest GFE --- .circleci/config.yml | 4 ++-- .github/workflows/workflow.yml | 4 ++-- CHANGELOG.md | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6d6cc4e4c934..c2943bb9b641 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,12 +16,12 @@ parameters: # Anchors to prevent forgetting to update a version os_version: &os_version ubuntu24 -baselibs_version: &baselibs_version v7.29.0 +baselibs_version: &baselibs_version v7.30.0 bcs_version: &bcs_version v11.6.0 tag_build_arg_name: &tag_build_arg_name maplversion orbs: - ci: geos-esm/circleci-tools@4 + ci: geos-esm/circleci-tools@dev:76b980fe7271aa8935d2f10bbcb525c14f3cf2ea workflows: build-and-test-MAPL: diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 865a7d3d7136..c75dd5cebdcc 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -38,7 +38,7 @@ jobs: name: Build and Test MAPL GNU runs-on: ubuntu-latest container: - image: gmao/ubuntu24-geos-env-mkl:v7.29.0-openmpi_5.0.5-gcc_14.2.0 + image: gmao/ubuntu24-geos-env-mkl:v7.30.0-openmpi_5.0.5-gcc_14.2.0 # Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495 # It seems like we might not need secrets on GitHub Actions which is good for forked # pull requests @@ -89,7 +89,7 @@ jobs: name: Build and Test MAPL Intel runs-on: ubuntu-latest container: - image: gmao/ubuntu24-geos-env:v7.29.0-intelmpi_2021.13-ifort_2021.13 + image: gmao/ubuntu24-geos-env:v7.30.0-intelmpi_2021.13-ifort_2021.13 # Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495 # It seems like we might not need secrets on GitHub Actions which is good for forked # pull requests diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d5789250a67..7a040fc026f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed + - Add column for ACG (ALIAS) that set the pointer variable to a different name than the `short_name` +- Updated CI to use Baselibs 7.30.0 + - Updates to GFE v1.17.0 ### Fixed From 1730908ad18c10a9a0222fdcc203de8b614ae852 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 6 Feb 2025 19:01:01 -0500 Subject: [PATCH 14/16] Update to Baselibs 7.31.0 --- .circleci/config.yml | 4 ++-- .github/workflows/workflow.yml | 4 ++-- CHANGELOG.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c2943bb9b641..5b274457e1a0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,12 +16,12 @@ parameters: # Anchors to prevent forgetting to update a version os_version: &os_version ubuntu24 -baselibs_version: &baselibs_version v7.30.0 +baselibs_version: &baselibs_version v7.31.0 bcs_version: &bcs_version v11.6.0 tag_build_arg_name: &tag_build_arg_name maplversion orbs: - ci: geos-esm/circleci-tools@dev:76b980fe7271aa8935d2f10bbcb525c14f3cf2ea + ci: geos-esm/circleci-tools@ev:f575a5374fb38d1fe2ed99af680db3b01c34a135 workflows: build-and-test-MAPL: diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index c75dd5cebdcc..d4260d2ee421 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -38,7 +38,7 @@ jobs: name: Build and Test MAPL GNU runs-on: ubuntu-latest container: - image: gmao/ubuntu24-geos-env-mkl:v7.30.0-openmpi_5.0.5-gcc_14.2.0 + image: gmao/ubuntu24-geos-env-mkl:v7.31.0-openmpi_5.0.5-gcc_14.2.0 # Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495 # It seems like we might not need secrets on GitHub Actions which is good for forked # pull requests @@ -89,7 +89,7 @@ jobs: name: Build and Test MAPL Intel runs-on: ubuntu-latest container: - image: gmao/ubuntu24-geos-env:v7.30.0-intelmpi_2021.13-ifort_2021.13 + image: gmao/ubuntu24-geos-env:v7.31.0-intelmpi_2021.13-ifort_2021.13 # Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495 # It seems like we might not need secrets on GitHub Actions which is good for forked # pull requests diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a040fc026f5..73441d35f995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Add column for ACG (ALIAS) that set the pointer variable to a different name than the `short_name` -- Updated CI to use Baselibs 7.30.0 - - Updates to GFE v1.17.0 +- Updated CI to use Baselibs 7.31.0 + - Updates to GFE v1.18.0 ### Fixed From 569fadaed6400cf4e2fe5ce4c040696a52e3a36c Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 6 Feb 2025 19:02:52 -0500 Subject: [PATCH 15/16] Fix typo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5b274457e1a0..3d602c05407b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,7 +21,7 @@ bcs_version: &bcs_version v11.6.0 tag_build_arg_name: &tag_build_arg_name maplversion orbs: - ci: geos-esm/circleci-tools@ev:f575a5374fb38d1fe2ed99af680db3b01c34a135 + ci: geos-esm/circleci-tools@dev:f575a5374fb38d1fe2ed99af680db3b01c34a135 workflows: build-and-test-MAPL: From 701cb1f1cabd38d729cb1f61ffe700dcf8520a25 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 6 Feb 2025 19:21:11 -0500 Subject: [PATCH 16/16] Back to orb v4 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3d602c05407b..d4221d22c6ce 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,7 +21,7 @@ bcs_version: &bcs_version v11.6.0 tag_build_arg_name: &tag_build_arg_name maplversion orbs: - ci: geos-esm/circleci-tools@dev:f575a5374fb38d1fe2ed99af680db3b01c34a135 + ci: geos-esm/circleci-tools@4 workflows: build-and-test-MAPL: