Skip to content

Commit

Permalink
Merge pull request #1248 from GEOS-ESM/develop
Browse files Browse the repository at this point in the history
Merge develop onto main for 2.14.1 release
  • Loading branch information
mathomp4 authored Dec 20, 2021
2 parents ed8e118 + 9c89cdd commit 9fabe9a
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 40 deletions.
24 changes: 12 additions & 12 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ executors:

ifort:
docker:
- image: gmao/ubuntu20-geos-env:v6.2.8-intelmpi_2021.2.0-intel_2021.2.0
- image: gmao/ubuntu20-geos-env:v6.2.8-intelmpi_2021.3.0-intel_2021.3.0
auth:
username: $DOCKERHUB_USER
password: $DOCKERHUB_AUTH_TOKEN
Expand All @@ -32,14 +32,14 @@ workflows:
matrix:
parameters:
compiler: [gfortran, ifort]
context:
context:
- docker-hub-creds
- build-GEOSgcm:
name: build-GEOSgcm-on-<< matrix.compiler >>
matrix:
parameters:
compiler: [gfortran, ifort]
context:
context:
- docker-hub-creds
###################################################
# - make-FV3-exp: #
Expand All @@ -66,7 +66,7 @@ workflows:
matrix:
parameters:
compiler: [gfortran, ifort]
context:
context:
- docker-hub-creds
#####################################################
# - build-GEOSadas: #
Expand All @@ -86,7 +86,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Versions, etc."
command: |
mpirun --version && << parameters.compiler >> --version && echo $BASEDIR && pwd && ls && echo "$(nproc)"
Expand All @@ -98,7 +98,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Checkout fixture"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}
Expand All @@ -114,7 +114,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Checkout branch on fixture"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/<< parameters.repo >>
Expand All @@ -127,7 +127,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Mepo clone external repos"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/<< parameters.repo >>
Expand All @@ -141,7 +141,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Mepo develop GEOSgcm_GridComp GEOSgcm_App GMAO_Shared"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/<< parameters.repo >>
Expand All @@ -158,7 +158,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Run CMake"
command: |
mkdir -p /logfiles
Expand All @@ -174,7 +174,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Build and install"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/workspace/build-<< parameters.repo >>
Expand All @@ -188,7 +188,7 @@ commands:
type: string
default: ""
steps:
- run:
- run:
name: "Mepo checkout MAPL branch"
command: |
cd ${CIRCLE_WORKING_DIRECTORY}/<< parameters.repo >>/src/Shared/@MAPL
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ jobs:
name: Build and Test MAPL Intel
runs-on: ubuntu-latest
container:
image: gmao/ubuntu20-geos-env:v6.2.8-intelmpi_2021.2.0-intel_2021.2.0
image: gmao/ubuntu20-geos-env:v6.2.8-intelmpi_2021.3.0-intel_2021.3.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
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Deprecated

## [2.14.1] - 2021-12-20

### Fixed

- gfortran can not associate an allocated string. Such blocks are changed

### Changed

- Updated `components.yaml`
- ESMA_env v3.8.0 (Use Intel 2021.3)
- ESMA_cmake v3.8.0 (Use `-march=core-avx2` for Intel Fortran)
- These are non-zero-diff for GEOS
- Updated the Intel CI image to Intel 2021.3

## [2.14.0] - 2021-12-16

### Fixed
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.14.0
VERSION 2.14.1
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF

# Set the default build type to release
Expand Down
4 changes: 2 additions & 2 deletions components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ MAPL:
ESMA_env:
local: ./ESMA_env
remote: ../ESMA_env.git
tag: v3.7.0
tag: v3.8.0
develop: main

ESMA_cmake:
local: ./ESMA_cmake
remote: ../ESMA_cmake.git
tag: v3.7.2
tag: v3.8.0
develop: develop

ecbuild:
Expand Down
42 changes: 21 additions & 21 deletions generic/MAPL_Generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -4600,7 +4600,7 @@ recursive integer function AddChildFromMeta(META, NAME, GRID, &
I = META%get_num_children() + 1
AddChildFromMeta = I

call AddChild_preamble(meta, I, name, grid, configfile, parentgc, petlist, child_meta, __RC__)
call AddChild_preamble(meta, I, name, grid=grid, configfile=configfile, parentGC=parentgc, petList=petlist, child_meta=child_meta, __RC__)
t_p => get_global_time_profiler()
call t_p%start(trim(NAME),__RC__)
call child_meta%t_profiler%start(__RC__)
Expand All @@ -4623,13 +4623,13 @@ recursive integer function AddChildFromMeta(META, NAME, GRID, &

end function AddChildFromMeta

recursive subroutine AddChild_preamble(meta, I, name, grid, configfile, parent_gc, petlist, child_meta, unusable, rc)
recursive subroutine AddChild_preamble(meta, I, name, grid, configfile, parentGC, petlist, child_meta, unusable, rc)
type(MAPL_MetaComp), target, intent(INOUT) :: meta
integer, intent(in) :: I
character(*), intent(in) :: name
type(ESMF_Grid), optional, intent(INout) :: grid
character(len=*), optional, intent(IN ) :: configfile
type(ESMF_GridComp), optional, intent(IN ) :: parent_gc
type(ESMF_GridComp), optional, intent(IN ) :: parentGC
integer, optional , intent(IN ) :: petList(:)
type(MAPL_MetaComp), pointer :: child_meta
class(KeywordEnforcer), optional, intent(in) :: unusable
Expand All @@ -4649,7 +4649,7 @@ recursive subroutine AddChild_preamble(meta, I, name, grid, configfile, parent_g
type(ESMF_VM) :: vm
integer :: comm

call make_full_name(name, child_name, parent_gc, __RC__)
call make_full_name(name, child_name, parentGC, __RC__)
call grow_children_names(meta%GCNamelist, child_name, __RC__)

allocate(tmp_meta, __STAT__)
Expand Down Expand Up @@ -4706,9 +4706,9 @@ recursive subroutine AddChild_preamble(meta, I, name, grid, configfile, parent_g
end select

! put parentGC there
if (present(parent_gc)) then
if (present(parentGC)) then
allocate(child_meta%parentGC, __STAT__)
child_meta%parentGC = parent_gc
child_meta%parentGC = parentGC
end if

lgr => logging%get_logger('MAPL.GENERIC')
Expand All @@ -4725,10 +4725,10 @@ recursive subroutine AddChild_preamble(meta, I, name, grid, configfile, parent_g
_UNUSED_DUMMY(unusable)
contains

subroutine make_full_name(name, child_name, parent_gc, unusable, rc)
subroutine make_full_name(name, child_name, parentGC, unusable, rc)
character(*), intent(in) :: name
character(*), intent(out) :: child_name
type(ESMF_GridComp), optional, intent(in) :: parent_gc
type(ESMF_GridComp), optional, intent(in) :: parentGC
class(KeywordEnforcer), optional, intent(in) :: unusable
integer, optional, intent(out) :: rc

Expand All @@ -4739,8 +4739,8 @@ subroutine make_full_name(name, child_name, parent_gc, unusable, rc)
child_name = trim(name)
! Adjust with parent name if provided
if (index(name,":") == 0) then
if (present(parent_gc)) then
tmp_gc = parent_gc
if (present(parentGC)) then
tmp_gc = parentGC
call ESMF_GridCompGet(tmp_gc, name=pname, __RC__)
child_name = pname(1:index(pname,":"))//trim(name)
end if
Expand Down Expand Up @@ -4830,6 +4830,7 @@ recursive integer function AddChildFromDSO(gc, name, userRoutine, grid, sharedOb

class(Logger), pointer :: lgr
character(len=:), allocatable :: shared_object_library_to_load
character(len=6) :: extension

call MAPL_InternalStateRetrieve(gc, meta, __RC__)

Expand All @@ -4841,24 +4842,23 @@ recursive integer function AddChildFromDSO(gc, name, userRoutine, grid, sharedOb
I = meta%get_num_children() + 1
AddChildFromDSO = I

call AddChild_preamble(meta, I, name, grid, configfile, gc, petlist, child_meta, __RC__)
call AddChild_preamble(meta, I, name, grid=grid, configfile=configfile, parentGC=gc, petList=petlist, child_meta=child_meta, __RC__)

t_p => get_global_time_profiler()
call t_p%start(trim(name),__RC__)
call child_meta%t_profiler%start(__RC__)
call child_meta%t_profiler%start('SetService',__RC__)

extension = get_file_extension(SharedObj)
_ASSERT(is_supported_dso_name(SharedObj), "AddChildFromDSO: Unsupported shared library extension '"//extension//",.")

associate (extension => get_file_extension(SharedObj))
_ASSERT(is_supported_dso_name(SharedObj), "AddChildFromDSO: Unsupported shared library extension '"//extension//",.")
if (.not. is_valid_dso_name(SharedObj)) then
lgr => logging%get_logger('MAPL.GENERIC')
call lgr%warning("AddChildFromDSO: changing shared library extension '%a~' to system specific extension '%a~'.", &
extension, SYSTEM_DSO_EXTENSION)
end if
end associate
if (.not. is_valid_dso_name(SharedObj)) then
lgr => logging%get_logger('MAPL.GENERIC')
call lgr%warning("AddChildFromDSO: changing shared library extension '%a~' to system specific extension '%a~'.", &
extension, SYSTEM_DSO_EXTENSION)
end if

shared_object_library_to_load = adjust_dso_name(sharedObj)

call ESMF_GridCompSetServices ( child_meta%gridcomp, userRoutine, &
sharedObj=shared_object_library_to_load,userRC=userRC,__RC__)
_VERIFY(userRC)
Expand Down Expand Up @@ -4889,7 +4889,7 @@ recursive integer function AddChildFromDSO_old(name, userRoutine, grid, ParentGC
integer :: status

_ASSERT(present(ParentGC),'must have a parent to use this interface')
addchildfromdso_old = addChildFromDSO(parentGC, name, userRoutine, grid, sharedObj, petList, configFile, __RC__)
addchildfromdso_old = addChildFromDSO(parentGC, name, userRoutine, grid=grid, sharedObj=sharedObj, petList=petList, configFile=configFile, __RC__)

_RETURN(ESMF_SUCCESS)
end function AddChildFromDSO_Old
Expand Down
4 changes: 1 addition & 3 deletions shared/DSO_Utilities.F90
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,7 @@ pure function adjust_dso_name(guess)
character(:), allocatable :: adjust_dso_name
character(*), intent(in) :: guess

associate (basename => get_file_basename(guess), extension => get_file_extension(guess))
adjust_dso_name = basename // SYSTEM_DSO_EXTENSION
end associate
adjust_dso_name = get_file_basename(guess) // SYSTEM_DSO_EXTENSION

end function adjust_dso_name

Expand Down

0 comments on commit 9fabe9a

Please sign in to comment.