Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge release/2.18.0 branch into main for release #1387

Merged
merged 76 commits into from
Feb 23, 2022
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
4107511
Enable GEOSadas build in CI (ifort only)
mathomp4 Aug 17, 2021
c66567b
Update CHANGELOG
mathomp4 Aug 17, 2021
55daa60
Build GEOSadas with Release
mathomp4 Aug 17, 2021
5f25594
Maybe try xlarge
mathomp4 Aug 17, 2021
56754d6
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Aug 17, 2021
60b89df
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Sep 15, 2021
a87ddd3
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Nov 1, 2021
6c865e6
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Dec 22, 2021
91c8e64
Fix issue with Ninja presets
mathomp4 Jan 27, 2022
96f4916
Merge pull request #1321 from GEOS-ESM/feature/mathomp4/fix-cmakepres…
tclune Jan 27, 2022
5d0a5ac
Fixes #1282. Make History metadata configurable
mathomp4 Jan 27, 2022
683e26c
update changelog
mathomp4 Jan 27, 2022
6efafa0
Use _RC and other fixes
mathomp4 Jan 28, 2022
80120c3
a small performance improvement. cycle => exit
weiyuan-jiang Jan 28, 2022
b72077f
change log
weiyuan-jiang Jan 28, 2022
1269f29
Update CHANGELOG.md
weiyuan-jiang Jan 28, 2022
852cd94
Merge pull request #1326 from GEOS-ESM/feature/wjiang/exit_after_conn…
atrayano Jan 28, 2022
da62055
bug fix. remove cycle
weiyuan-jiang Jan 31, 2022
467dec0
Update CHANGELOG.md
mathomp4 Jan 31, 2022
ccccd31
Merge pull request #1330 from GEOS-ESM/bugfix/wjiang/remove_cycle
mathomp4 Jan 31, 2022
8f58d68
Merge branch 'develop' into feature/mathomp4/#1282-configurable-metadata
mathomp4 Jan 31, 2022
45509eb
Remove more _verify
mathomp4 Feb 1, 2022
d15555f
And more _verify
mathomp4 Feb 1, 2022
0caf714
fix io profiler width
weiyuan-jiang Feb 1, 2022
6e43618
change log
weiyuan-jiang Feb 1, 2022
62621e3
Merge pull request #1325 from GEOS-ESM/feature/mathomp4/#1282-configu…
tclune Feb 1, 2022
21105d2
Merge branch 'develop' into feature/wjiang/fix_io_profiler_width
tclune Feb 1, 2022
28a874e
Merge pull request #1333 from GEOS-ESM/feature/wjiang/fix_io_profiler…
mathomp4 Feb 1, 2022
695a509
Update ESMA_cmake and ecbuild
mathomp4 Feb 4, 2022
ca03044
Merge pull request #1336 from GEOS-ESM/feature/mathomp4/update-cmake-…
mathomp4 Feb 7, 2022
5753ac0
Merge branch 'develop'
mathomp4 Feb 7, 2022
67f1e3b
Merge branch 'main' into develop
mathomp4 Feb 7, 2022
3863d9a
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Feb 7, 2022
57bb639
Update CHANGELOG
mathomp4 Feb 7, 2022
c40ef95
Update circleci to use xlarge for adas
mathomp4 Feb 7, 2022
f906051
Use develop ESMA_cmake with GEOSadas
mathomp4 Feb 7, 2022
87594ea
Don't mepodevelop with adas
mathomp4 Feb 7, 2022
f56c8b5
Update to 0.8.0 orb and add 8 rebuild_procs
mathomp4 Feb 7, 2022
1c3ef99
Merge pull request #1343 from GEOS-ESM/merge/mathomp4/handmerge-main-…
mathomp4 Feb 7, 2022
283edd0
Add option to make time an integer variable if needed for backwards c…
bena-nasa Feb 7, 2022
dd065d4
Merge branch 'develop' into featuer/bmauer/integer_time_option_history
bena-nasa Feb 7, 2022
bbc1dfe
Use branch of geosana that fixes debug build
mathomp4 Feb 7, 2022
02d8279
Add like-UFS CI build
mathomp4 Feb 7, 2022
60522a2
make requested changes
bena-nasa Feb 7, 2022
6690015
fix typo in last commit
bena-nasa Feb 7, 2022
233ec74
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Feb 7, 2022
6f1584a
Merge pull request #1345 from GEOS-ESM/featuer/bmauer/integer_time_op…
tclune Feb 8, 2022
226c26f
Merge branch 'develop' into feature/mathomp4/add-ufs-build
mathomp4 Feb 8, 2022
fec67be
Merge branch 'develop' into feature/mathomp4/enable-adas-ci
mathomp4 Feb 8, 2022
8e5b705
Merge pull request #975 from GEOS-ESM/feature/mathomp4/enable-adas-ci
mathomp4 Feb 8, 2022
3378f8f
Merge branch 'develop' into feature/mathomp4/add-ufs-build
mathomp4 Feb 8, 2022
963e7f6
add mapL_stubcomponent to the top level MAPL package
bena-nasa Feb 8, 2022
eb8994c
Merge pull request #1352 from GEOS-ESM/featuer/bmauer/add_stubcomp_to…
bena-nasa Feb 8, 2022
6e5d664
Merge branch 'develop' into feature/mathomp4/add-ufs-build
mathomp4 Feb 10, 2022
0fa491e
Fixes #1346. Avoid macOS memutils crash
mathomp4 Feb 10, 2022
61f029b
Merge pull request #1355 from GEOS-ESM/bugfix/mathomp4/#1352-fix-memu…
atrayano Feb 10, 2022
c4ca965
Merge branch 'develop' into feature/mathomp4/add-ufs-build
mathomp4 Feb 11, 2022
50df25a
Merge pull request #1347 from GEOS-ESM/feature/mathomp4/add-ufs-build
mathomp4 Feb 11, 2022
bdff0ec
Update for GEOSadas CI
mathomp4 Feb 14, 2022
e45e7da
Fixes #1363. The main change to create a copy of the exports, so we c…
atrayano Feb 15, 2022
389fd6d
Added details in CHANGELOG
atrayano Feb 15, 2022
fbed639
Merge pull request #1361 from GEOS-ESM/feature/mathomp4/update-circleci
mathomp4 Feb 16, 2022
0f9d684
Merge branch 'develop' into feature/atrayano/#1363_split_field
mathomp4 Feb 16, 2022
4bbea8e
Spelling fixes
mathomp4 Feb 16, 2022
ba3f238
Merge branch 'develop'
mathomp4 Feb 16, 2022
87bbd99
Merge branch 'main' into develop
mathomp4 Feb 16, 2022
c258703
Fix up changelog
mathomp4 Feb 16, 2022
b0f9a8f
Fixes to make develop like main
mathomp4 Feb 16, 2022
b05beb8
Merge pull request #1373 from GEOS-ESM/merge/mathomp4/handmerge-main-…
mathomp4 Feb 16, 2022
d061433
Merge branch 'develop' into feature/atrayano/#1363_split_field
mathomp4 Feb 16, 2022
fc5e540
Fixes #1363. Moved the split field logic to where we
atrayano Feb 18, 2022
04888c8
Fixes #1363. Fixed a bug related to an optional argument not passed in
atrayano Feb 22, 2022
4c7d4c7
Fixed logic with resizing r8_to_r4, etc.
atrayano Feb 23, 2022
87af383
Merge pull request #1364 from GEOS-ESM/feature/atrayano/#1363_split_f…
mathomp4 Feb 23, 2022
6775a90
Update CHANGELOG and CMakeLists for 2.18.0 Release
mathomp4 Feb 23, 2022
405cb11
Fix changelog convention=>conventions
mathomp4 Feb 23, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 66 additions & 15 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: 2.1

orbs:
circleci-tools: geos-esm/circleci-tools@0.5.0
circleci-tools: geos-esm/circleci-tools@0.11.0

workflows:
build-and-test:
Expand All @@ -13,6 +13,13 @@ workflows:
compiler: [gfortran, ifort]
context:
- docker-hub-creds
- build-UFS-MAPL:
name: build-UFS-MAPL-on-<< matrix.compiler >>
matrix:
parameters:
compiler: [ifort]
context:
- docker-hub-creds
- build-GEOSgcm:
name: build-GEOSgcm-on-<< matrix.compiler >>
matrix:
Expand Down Expand Up @@ -47,15 +54,13 @@ workflows:
compiler: [gfortran, ifort]
context:
- docker-hub-creds
#####################################################
# - build-GEOSadas: #
# name: build-GEOSadas-on-<< matrix.compiler >> #
# matrix: #
# parameters: #
# compiler: [ifort] #
# context: #
# - docker-hub-creds #
#####################################################
- build-GEOSadas:
name: build-GEOSadas-on-<< matrix.compiler >>
matrix:
parameters:
compiler: [ifort]
context:
- docker-hub-creds

jobs:
build-and-test-MAPL:
Expand All @@ -81,7 +86,40 @@ jobs:
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-MAPL
make -j"$(nproc)" build-tests |& tee /logfiles/build-tests.log
#MEDIUM# make -j4 build-tests |& tee /logfiles/build-tests.log
- run:
name: "Run MAPL Unit Tests"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-MAPL
# skip Performance tests (maybe doable on CircleCI?)
ctest -R MAPL -LE PERFORMANCE --output-on-failure |& tee /logfiles/ctest.log
- circleci-tools/compress_artifacts
- store_artifacts:
path: /logfiles

build-UFS-MAPL:
parameters:
compiler:
type: string
executor: circleci-tools/<< parameters.compiler >>
working_directory: /root/project
steps:
- checkout:
path: MAPL
- circleci-tools/versions:
compiler: << parameters.compiler >>
- circleci-tools/mepoclone:
repo: MAPL
- circleci-tools/cmake:
repo: MAPL
compiler: << parameters.compiler >>
extra_cmake_options: "-DBUILD_WITH_FLAP=OFF -DBUILD_WITH_PFLOGGER=OFF -DBUILD_SHARED_MAPL=OFF"
- circleci-tools/buildinstall:
repo: MAPL
- run:
name: "Build MAPL Unit Tests"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-MAPL
make -j"$(nproc)" build-tests |& tee /logfiles/build-tests.log
- run:
name: "Run MAPL Unit Tests"
command: |
Expand Down Expand Up @@ -148,23 +186,36 @@ jobs:
parameters:
compiler:
type: string
executor: circleci-tools/<< parameters.compiler >>
resource_class: xlarge
executor:
name: circleci-tools/<< parameters.compiler >>
resource_class: xlarge
working_directory: /root/project
steps:
- circleci-tools/checkout_fixture:
repo: GEOSadas
- circleci-tools/mepoclone:
- circleci-tools/checkout_branch_on_fixture:
repo: GEOSadas
- circleci-tools/mepodevelop:
branch: develop
- circleci-tools/mepoclone:
repo: GEOSadas
- circleci-tools/checkout_mapl_branch:
repo: GEOSadas
# Until GEOSadas is closer to modern GEOSgcm, we need to update the ESMA_cmake
- circleci-tools/checkout_branch_on_subrepo:
repo: GEOSadas
branch: develop
subrepo: cmake
# There is currently an issue building GEOSadas with Debug Intel.
- circleci-tools/checkout_branch_on_subrepo:
repo: GEOSadas
branch: develop
subrepo: GEOSana_GridComp
- circleci-tools/cmake:
repo: GEOSadas
compiler: << parameters.compiler >>
- circleci-tools/buildinstall:
repo: GEOSadas
rebuild_procs: 8
- circleci-tools/compress_artifacts
- store_artifacts:
path: /logfiles
Expand Down
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Deprecated

## [2.18.0] - 2022-02-23

### Fixed

- Fixed issue in `CMakePresets.json` where Ninja presets were broken
- Fixed io profiler report format
- Fixed issue on macOS where enabling memutils caused crash

### Added

- Option to force integer time variable in History output via the History.rc file (IntegerTime: .true./.false. default .false.) rather than the default float time variable if allowed by frequency of output
- Added mapl_StubComponent to MAPL package
- Updates to CircleCI
- Added GEOSadas CI ifort build test
- Add "like-UFS" build to CI. This is no FLAP and pFlogger, and static build

### Changed

- Changed the naming convention for the split name(s): we now take the entries from the field alias(es) without appending any digits. Also allowing the user to specify more entries in the alias, so that HISTORY.rc does not need to change when running GOCART with more wavelengths
- A small performance improvement. cycle => exit in MAPL_Generic.F90
- Made history global metadata configurable. This can be done in two ways
1. Globally for all collections by setting `COMMENT:`, `CONTACT:`, `CONVENTION:`, `INSTITUTION:`, `REFERENCES:`, and `SOURCE:` at the top of `HISTORY.rc` like `EXPDSC:`
2. On a per-collection bases by setting `collection.comment:`, `collection.contact:`, `collection.convention:`, `collection.institution:`, `collection.references:`, and `collection.source:`
- The default settings for these are to match that of MAPL 2.17.0
- Updated `components.yaml`. These changes are to support using Spack to build MAPL
- ESMA_cmake v3.10.0 (add `FindESMF.cmake` from NOAA-EMC)
- ecbuild geos/v1.2.0 (updat `FindNetCDF.cmake` to that from NOAA-EMC)

## [2.17.2] - 2022-02-16

### Fixed

- Fixes for Global Attributes to match FP 5.27
- Changed `lev` variable `standard_name` to `model_layers`
- Changed global attribute `Convention` to `Conventions`
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cmake_policy (SET CMP0054 NEW)

project (
MAPL
VERSION 2.17.2
VERSION 2.18.0
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF

# Set the default build type to release
Expand Down
33 changes: 25 additions & 8 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
"binaryDir": "${sourceDir}/build-${presetName}",
"cacheVariables": {
"BASEDIR": "$env{BASEDIR}",
"CMAKE_INSTALL_PREFIX": "${sourceDir}/install-${presetName}",
"CMAKE_BUILD_TYPE": "${presetName}"
"CMAKE_INSTALL_PREFIX": "${sourceDir}/install-${presetName}"
}
},
{
Expand All @@ -38,37 +37,55 @@
"name": "Release",
"inherits": "base-gnu",
"displayName": "Release Configure",
"description": "Release build using GNU Make generator"
"description": "Release build using GNU Make generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "Debug",
"inherits": "base-gnu",
"displayName": "Debug Configure",
"description": "Debug build using GNU Make generator"
"description": "Debug build using GNU Make generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "Aggressive",
"inherits": "base-gnu",
"displayName": "Aggressive Configure",
"description": "Aggressive build using GNU Make generator"
"description": "Aggressive build using GNU Make generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Aggressive"
}
},
{
"name": "Release-Ninja",
"inherits": "base-ninja",
"displayName": "Release Ninja Configure",
"description": "Release build using Ninja generator"
"description": "Release build using Ninja generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "Debug-Ninja",
"inherits": "base-ninja",
"displayName": "Debug Ninja Configure",
"description": "Debug build using Ninja generator"
"description": "Debug build using Ninja generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "Aggressive-Ninja",
"inherits": "base-ninja",
"displayName": "Aggressive Ninja Configure",
"description": "Aggressive build using Ninja generator"
"description": "Aggressive build using Ninja generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Aggressive"
}
}
],
"buildPresets": [
Expand Down
1 change: 1 addition & 0 deletions MAPL/MAPL.F90
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ module MAPL
use ESMF_CFIOMod
use pFIO
use MAPL_GridCompsMod
use mapl_StubComponent
implicit none
end module MAPL

Expand Down
78 changes: 45 additions & 33 deletions base/Base/Base_Base_implementation.F90
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include "MAPL_Exceptions.h"
#include "MAPL_ErrLog.h"
#include "unused_dummy.H"

Expand Down Expand Up @@ -3662,45 +3663,56 @@ subroutine genAlias(name, n, splitNameArray, aliasName, rc)

integer :: i, k
integer :: k1, k2, kk, count
integer :: nn
character(len=ESMF_MAXSTR), allocatable :: tmp(:)
character(len=ESMF_MAXSTR) :: aliasName_

if (present(aliasName)) then
aliasName_ = aliasName
else
aliasName_ = name
end if

allocate(splitNameArray(n), stat=status)
_VERIFY(status)
if (present(aliasName)) then
! count the separators (";") in aliasName
! if they match n (i.e. the count = n-1) use each
! else if count is 0, append 00i to aliasName
! else return an error

! parse the aliasName
count = 0
k1 = 1
kk = len_trim(aliasName)
do k=1,kk
if (aliasName(k:k) == ";") then
count = count+1
k2=k-1
_ASSERT(count < n, 'Too many split separators')
splitNameArray(count) = aliasName(k1:k2)
k1 = k+1
end if
end do
if (count == 0) then
do i=1,n
write(splitNameArray(i),'(A,I3.3)') trim(aliasName), i
end do
else if(count == n-1) then
k2 = kk

! parse the aliasName
! count the separators (";") in aliasName
count = 0
k1 = 1
kk = len_trim(aliasName_)
do k=1,kk
if (aliasName_(k:k) == ";") then
count = count+1
splitNameArray(count) = aliasName(k1:k2)
else
_ASSERT(.false.,'Inconsistent number of split separators')
end if
end do
nn = count+1
allocate(tmp(nn), __STAT__)

else
do i=1,n
write(splitNameArray(i),'(A,I3.3)') trim(name), i
end do
end if
count = 0
do k=1,kk
if (aliasName_(k:k) == ";") then
count = count+1
k2=k-1
if (count > n) exit ! use atmost n of the aliases
tmp(count) = aliasName_(k1:k2)
k1 = k+1
end if
end do
count = count+1
k2 = kk
tmp(count) = aliasName_(k1:k2)

do i=1,min(nn,n)
splitNameArray(i) = tmp(i)
end do
deallocate(tmp)
! if the user did no supply enough separated alias field names,
! append 00i to the original field name
do i=nn+1,n
write(splitNameArray(i),'(A,I3.3)') trim(name), i
end do

_RETURN(ESMF_SUCCESS)
end subroutine GenAlias
end subroutine MAPL_FieldSplit
Expand Down
5 changes: 5 additions & 0 deletions base/MAPL_MemUtils.F90
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,12 @@ module MAPL_MemUtilsMod
#ifdef _CRAYT90
public :: stklen
#endif

#ifdef sysDarwin
logical, save :: DISABLED = .true.
#else
logical, save :: DISABLED = .false.
#endif

integer, public, parameter :: MAPL_MemUtilsModeNode = 2
integer, public, parameter :: MAPL_MemUtilsModeFull = 1
Expand Down
Loading