Skip to content

Commit

Permalink
Merge branch 'develop' into feature/acollow/#194_selfconsistentradii
Browse files Browse the repository at this point in the history
  • Loading branch information
vbuchard authored Aug 13, 2024
2 parents 8a70fdc + b0ba434 commit b9cf112
Show file tree
Hide file tree
Showing 58 changed files with 549 additions and 1,874 deletions.
14 changes: 7 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
version: 2.1

# Anchors to prevent forgetting to update a version
baselibs_version: &baselibs_version v7.7.0
bcs_version: &bcs_version v11.00.0
# Anchors in case we need to override the defaults from the orb
#baselibs_version: &baselibs_version v7.17.0
#bcs_version: &bcs_version v11.3.0

orbs:
ci: geos-esm/circleci-tools@1
ci: geos-esm/circleci-tools@2

workflows:
build-and-test:
Expand All @@ -18,7 +18,7 @@ workflows:
matrix:
parameters:
compiler: [gfortran, ifort]
baselibs_version: *baselibs_version
#baselibs_version: *baselibs_version
repo: GOCART
buildtarget: GOCART2G_GridComp
mepodevelop: true
Expand All @@ -32,7 +32,7 @@ workflows:
matrix:
parameters:
compiler: [gfortran, ifort]
baselibs_version: *baselibs_version
#baselibs_version: *baselibs_version
repo: GOCART
buildtarget: GOCART2G_GridComp
mepodevelop: true
Expand All @@ -47,7 +47,7 @@ workflows:
matrix:
parameters:
compiler: [gfortran, ifort]
baselibs_version: *baselibs_version
#baselibs_version: *baselibs_version
repo: GEOSgcm
checkout_fixture: true
mepodevelop: true
Expand Down
52 changes: 50 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,62 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Removed

- Removed all ExtData.rc files

### Changed
- Modified the file paths in carbon, sulfate, and nitrate ExtData.yaml files to used the revised version of the CEDS anthropogenic emissions. Note the previous version has an incorrect seasonal cycle.


## [Unreleased] - 2024-05-14

### Added

- Required attributes for the 2D GOCART export fields in AERO_DP bundle have been set in subroutine append_to_bundle in Chem_AeroGeneric.F90. These export fields are imported by OBIO via Surface GC, and the missing of the attributes was causing the writing of surface import checkpoint to fail. The issue has been explained in detail on https://github.com/GEOS-ESM/GOCART/issues/258


## [Unreleased] - 2023-07-24


### Fixed


- Add replay import patch for ozone.

- corrected reading variable 'rhod' from files ( it was mispelled as 'rhop')

- Silenced unwarranted error messages from wavelength/channel retrieval functions occurring when 470nm and/or 870nm channels are not included in GOCART resource file.

- Add explicit `find_package()` calls for missing dependencies for MAPL for builds with spack-stack. Will eventually be fixed in MAPL in later versions
- Corrected the units of the gravimetric soil moisture to percent instead of fractional in the FENGSHA dust scheme.
- Fix issue of GOCART/GEOSgcm circular CMake dependencies when used as external project

### Added

- Additional tuning parameters for the soil moisture and drylimit calculations for application specific tuning.

### Changed
-Changed Chem_SettlingSimple in the process library to call Mie Query for radius and rhop inputs to the settling velocity calculation. The calls to Chem_SettlingSimple were then changed accordingly in each of the species' grid comps. Since the RH flag is no longer needed, it was removed from GA_EnvironmentMod.F90 and each of the instance RC files.

- Changed Chem_SettlingSimple in the process library to call Mie Query for radius and rhop inputs to the settling velocity calculation. The calls to Chem_SettlingSimple were then changed accordingly in each of the species' grid comps. Since the RH flag is no longer needed, it was removed from GA_EnvironmentMod.F90 and each of the instance RC files.


- State Spec RC files for GOCART2G, CA, DU, NI, SU, and SS were updated such that the long names for AOD are more intuitive

- Modified ExtData.yaml files to persist as climatological anthropogenic emissions after the end of the CEDS dataset in 2019. Analogous rc files removed as this capability is only available with ExtData2G

- Update `components.yaml` to match that of GEOSgcm v11.6.1
- ESMA_env v4.29.0 (Baselibs 7.24.0, Updates for SLES15 at NCCS, various fixes)
- ESMA_cmake v3.48.0 (Fixes for NAS, debug flags, Updates for SLES15 at NCCS, MPI detection, ESMF and MPI CMake fixes for Spack)
- GMAO_Shared v1.9.8 (Bug fix for MITgcm, CI fixes, SLES15 Updates)
- MAPL 2.47.1 (Various fixes and features, support for Spack)
- Update CI to use Baselibs by default from CircleCI Orb
- Correct soil moisture parameterization in FENGSHA
- Add `soil_moisture_factor` to the DU2G_instance_DU.rc (same name used in the K14 scheme) and DU2G_GridCompMod.F90 files for FENGSHA
- Add `soil_drylimit_factor` to the DU2G_instance_DU.rc and DU2G_GridCompMod.F90 files for FENGSHA

- Moved process library macros to header file.

## [v2.2.1] - 2023-05-30

### Fixed
Expand Down
69 changes: 48 additions & 21 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,42 @@ cmake_minimum_required (VERSION 3.17)
cmake_policy (SET CMP0053 NEW)
cmake_policy (SET CMP0054 NEW)

project (
GOCART
VERSION 2.1.1
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF

if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
message(SEND_ERROR "In-source builds are disabled. Please
issue cmake command in separate build directory.")
endif ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")

# Set the default build type to release
if (NOT CMAKE_BUILD_TYPE)
message (STATUS "Setting build type to 'Release' as none was specified.")
set (CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property (CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif ()
# Let's look for the ESMA cmake directory in a few places
# to see if we are building standalone
set (ESMA_CMAKE_DIRS
cmake
@cmake
cmake@
)

foreach (dir IN LISTS ESMA_CMAKE_DIRS)
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/${dir})
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/${dir}")
set (ESMA_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}/${dir}" CACHE PATH "Path to ESMA_cmake code")
set(GOCART_STANDALONE TRUE)
endif ()
endforeach ()

if (GOCART_STANDALONE)
project (
GOCART
VERSION 2.2.1
LANGUAGES Fortran CXX C) # Note - CXX is required for ESMF

if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
message(SEND_ERROR "In-source builds are disabled. Please
issue cmake command in separate build directory.")
endif ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")

# Set the default build type to release
if (NOT CMAKE_BUILD_TYPE)
message (STATUS "Setting build type to 'Release' as none was specified.")
set (CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property (CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif ()
endif()

# Set build options
option (UFS_GOCART "Build GOCART component for UFS" OFF)
Expand All @@ -41,11 +59,12 @@ if (UFS_GOCART)
endif()

if (NOT COMMAND esma)
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake@")
include (esma)
endif()

ecbuild_declare_project()
if(GOCART_STANDALONE)
ecbuild_declare_project()
endif()

if (NOT Baselibs_FOUND)
# Find dependencies
Expand All @@ -61,6 +80,12 @@ endif ()

if (UFS_GOCART)
find_package (GFTL_SHARED REQUIRED)
# Dom Heinzeller 2023/08/30 - workaround until https://github.com/GEOS-ESM/MAPL/pull/2320
# is merged and finds its way into the ufs-weather-model dependency tree
find_package (YAFYAML QUIET)
find_package (FARGPARSE QUIET)
find_package (PFLOGGER QUIET)
#
find_package (MAPL REQUIRED)
include(mapl_acg)
elseif (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/ESMF/Shared/MAPL@")
Expand All @@ -81,7 +106,9 @@ include_directories(${MPI_Fortran_INCLUDE_PATH})
add_subdirectory (ESMF)
add_subdirectory (Process_Library)

ecbuild_install_project (NAME GOCART)
if(GOCART_STANDALONE)
ecbuild_install_project (NAME GOCART)
endif()

# https://www.scivision.dev/cmake-auto-gitignore-build-dir/
# --- auto-ignore build directory
Expand Down
128 changes: 0 additions & 128 deletions ESMF/GOCART2G_GridComp/CA2G_GridComp/AMIP.20C/CA2G_GridComp_ExtData.rc

This file was deleted.

Loading

0 comments on commit b9cf112

Please sign in to comment.