Skip to content

Commit 06344c1

Browse files
GitFlow: Merge release/v2 into main for release (#4936)
* check before assign tilelons and tilelats in MAPL_Locstreamget when built by gfortran (#4901) Co-authored-by: Matt Thompson <matthew.thompson@nasa.gov> * v2: Prepare for 2.69.1 release (#4935) * v2: Try and fix up CI (#4937) --------- Co-authored-by: Weiyuan Jiang <52509753+weiyuan-jiang@users.noreply.github.com>
2 parents d3a1b9e + 078d860 commit 06344c1

7 files changed

Lines changed: 54 additions & 34 deletions

File tree

.circleci/config.yml

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -63,25 +63,6 @@ workflows:
6363
- build-and-test-MAPL-as-<< matrix.build_type >>-on-<< matrix.compiler >>-using-Unix Makefiles
6464
baselibs_version: *baselibs_version
6565

66-
# Builds MAPL like UFS does (no pFlogger, fargparse, pfunit, static)
67-
- ci/build:
68-
name: build-UFS-MAPL-as-<< matrix.build_type >>-on-<< matrix.compiler >>
69-
context:
70-
- docker-hub-creds
71-
matrix:
72-
parameters:
73-
compiler: [ifort]
74-
build_type: ['Debug']
75-
baselibs_version: *baselibs_version
76-
repo: MAPL
77-
mepodevelop: false
78-
remove_flap: true
79-
remove_pflogger: true
80-
remove_pfunit: true
81-
extra_cmake_options: "-DBUILD_WITH_FLAP=OFF -DBUILD_WITH_PFLOGGER=OFF -DBUILD_WITH_FARGPARSE=OFF -DUSE_EXTDATA2G=OFF -DBUILD_SHARED_MAPL=OFF"
82-
run_unit_tests: true
83-
ctest_options: "-L 'ESSENTIAL' --output-on-failure"
84-
8566
build-and-run-GEOSgcm:
8667
jobs:
8768
# Build GEOSgcm

.github/actions/ci-build-and-test-mapl/action.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ inputs:
1515
extra-cmake-args:
1616
description: "Extra CMake arguments"
1717
required: false
18+
skip-tests:
19+
description: "Skip running tests (useful when test frameworks are disabled)"
20+
required: false
21+
default: "false"
1822

1923
runs:
2024
using: "composite"
@@ -55,6 +59,7 @@ runs:
5559
cmake --install build
5660
5761
- name: Run MAPL Tests
62+
if: inputs.skip-tests != 'true'
5863
shell: bash
5964
run: |
6065
cmake --build build --target build-tests --parallel 4

.github/workflows/enforce-labels.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ concurrency:
1010

1111
jobs:
1212
require-label:
13-
runs-on: ubuntu-latest
13+
runs-on: ubuntu-slim
1414
steps:
1515
- uses: mheap/github-action-required-labels@v5
1616
env:
@@ -23,7 +23,7 @@ jobs:
2323
message: "This PR is being prevented from merging because you have not added one of our required labels: {{ provided }}. Please add one so that the PR can be merged."
2424

2525
blocking-label:
26-
runs-on: ubuntu-latest
26+
runs-on: ubuntu-slim
2727
steps:
2828
- uses: mheap/github-action-required-labels@v5
2929
env:

.github/workflows/workflow.yml

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
doc-folder: docs/Ford/ci-doc
4242
deploy-token: ${{ secrets.DOCS_DEPLOY_PAT }}
4343

44-
build_test_mapl_gnu:
44+
build_test_mapl_gnu14:
4545
name: gfortran / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }}
4646
if: github.event.pull_request.draft == false
4747
runs-on: ubuntu-latest
@@ -151,12 +151,34 @@ jobs:
151151
cmake-generator: ${{ matrix.cmake-generator }}
152152
fortran-compiler: ifx
153153

154+
build_test_mapl_ifort_no_optional:
155+
name: ifort / Debug / no pFlogger+fArgParse+pFUnit
156+
if: github.event.pull_request.draft == false
157+
runs-on: ubuntu-latest
158+
container:
159+
image: gmao/ubuntu24-geos-env:v8.27.0-intelmpi_2021.13-ifort_2021.13
160+
steps:
161+
- name: Checkout
162+
uses: actions/checkout@v6
163+
with:
164+
fetch-depth: 1
165+
filter: blob:none
166+
167+
- name: Build MAPL without optional packages
168+
uses: ./.github/actions/ci-build-and-test-mapl
169+
with:
170+
cmake-build-type: Debug
171+
cmake-generator: Unix Makefiles
172+
fortran-compiler: ifort
173+
extra-cmake-args: -DBUILD_WITH_PFLOGGER=OFF -DBUILD_WITH_FARGPARSE=OFF -DBUILD_WITH_PFUNIT=OFF
174+
skip-tests: "true"
175+
154176
build_gcm:
155177
if: github.event.pull_request.draft == false
156178
strategy:
157179
fail-fast: false
158180
matrix:
159-
compiler: [ifort, gfortran-14, gfortran-15]
181+
compiler: [ifort, ifx, gfortran-14, gfortran-15]
160182
build-type: [Debug]
161183
uses: GEOS-ESM/CI-workflows/.github/workflows/geosgcm_build_tests.yml@project/geosgcm
162184
with:

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1717

1818
### Deprecated
1919

20+
## [2.69.1] - 2026-05-19
21+
22+
### Fixed
23+
24+
- Check before assigning tilelons and tilelats in `MAPL_Locstreamget`
25+
2026
## [2.69.0] - 2026-05-15
2127

2228
### Fixed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ endif ()
88

99
project (
1010
MAPL
11-
VERSION 2.69.0
11+
VERSION 2.69.1
1212
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF
1313

1414
# Set the possible values of build type for cmake-gui

base/MAPL_LocStreamMod.F90

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -252,23 +252,29 @@ subroutine MAPL_LocStreamGet(LocStream, NT_LOCAL, nt_global, TILETYPE, TILEKIND,
252252
! to make sure this works.
253253
if (present(tilelons)) then
254254
#ifdef __GFORTRAN__
255-
allocate(tmp_rptr(lbound(locstream%Ptr%Local_GeoLocation,1):ubound(locstream%Ptr%Local_GeoLocation,1)))
256-
do i = lbound(locstream%Ptr%Local_GeoLocation,1), ubound(locstream%Ptr%Local_GeoLocation,1)
257-
tmp_rptr(i) = locstream%Ptr%Local_GeoLocation(i)%x
258-
enddo
259-
tilelons => tmp_rptr
255+
tilelons => null()
256+
if (associated(locstream%Ptr%Local_GeoLocation)) then
257+
allocate(tmp_rptr(lbound(locstream%Ptr%Local_GeoLocation,1):ubound(locstream%Ptr%Local_GeoLocation,1)))
258+
do i = lbound(locstream%Ptr%Local_GeoLocation,1), ubound(locstream%Ptr%Local_GeoLocation,1)
259+
tmp_rptr(i) = locstream%Ptr%Local_GeoLocation(i)%x
260+
enddo
261+
tilelons => tmp_rptr
262+
endif
260263
#else
261264
tilelons => locstream%Ptr%Local_GeoLocation(:)%x
262265
#endif
263266
end if
264267

265268
if (present(tilelats)) then
266269
#ifdef __GFORTRAN__
267-
allocate(tmp_rptr(lbound(locstream%Ptr%Local_GeoLocation,1):ubound(locstream%Ptr%Local_GeoLocation,1)))
268-
do i = lbound(locstream%Ptr%Local_GeoLocation,1), ubound(locstream%Ptr%Local_GeoLocation,1)
269-
tmp_rptr(i) = locstream%Ptr%Local_GeoLocation(i)%y
270-
enddo
271-
tilelats => tmp_rptr
270+
tilelats => null()
271+
if (associated(locstream%Ptr%Local_GeoLocation)) then
272+
allocate(tmp_rptr(lbound(locstream%Ptr%Local_GeoLocation,1):ubound(locstream%Ptr%Local_GeoLocation,1)))
273+
do i = lbound(locstream%Ptr%Local_GeoLocation,1), ubound(locstream%Ptr%Local_GeoLocation,1)
274+
tmp_rptr(i) = locstream%Ptr%Local_GeoLocation(i)%y
275+
enddo
276+
tilelats => tmp_rptr
277+
endif
272278
#else
273279
tilelats => locstream%Ptr%Local_GeoLocation(:)%y
274280
#endif

0 commit comments

Comments
 (0)