Skip to content

Commit

Permalink
Merge branch 'develop' into bugfix/acollow/#280-cedspathsforg2gdevelop
Browse files Browse the repository at this point in the history
  • Loading branch information
jrjoshi1 authored Aug 12, 2024
2 parents 228818d + 87fdd39 commit a8af211
Show file tree
Hide file tree
Showing 13 changed files with 179 additions and 113 deletions.
32 changes: 26 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### 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


- 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
-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.3.3
- ESMA_env v4.20.6 (Baselibs 7.14.0, Updates for SLES15 at NCCS)
- ESMA_cmake v3.36.0 (Fixes for NAS, debug flags, Updates for SLES15 at NCCS)
- GMAO_Shared v1.9.6 (Bug fix for MITgcm, CI fixes, SLES15 Updates)
- MAPL 2.42.0 (Various fixes and features)
- 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
63 changes: 42 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.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 ()
# 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 Down Expand Up @@ -87,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
8 changes: 4 additions & 4 deletions ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@ category: EXPORT
*PSOA | kg m-2 s-1 | xy | N | | * Aerosol SOA Production
*SMASS | kg m-3 | xy | N | | * Aerosol Surface Mass Concentration
*CMASS | kg m-2 | xy | N | | * Aerosol Column Mass Density
*EXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | * Aerosol Extinction AOT
*STEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | * Aerosol Extinction AOT Stratosphere
*SCATAU | 1 | xy | N | size(self%wavelengths_vertint) | * Aerosol Scattering AOT
*STSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | * Aerosol Scattering AOT Stratosphere
*EXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | * Aerosol Optical Depth
*STEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | * Stratospheric Aerosol Optical Thickness
*SCATAU | 1 | xy | N | size(self%wavelengths_vertint) | * Aerosol Optical Depth Due to Scattering
*STSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | * Stratospheric Aerosol Optical Thickness Due to Scattering
*ANGSTR | 1 | xy | N | | * Aerosol Angstrom parameter [470-870 nm]
*FLUXU | kg m-1 s-1 | xy | N | | * Aerosol column u-wind mass flux
*FLUXV | kg m-1 s-1 | xy | N | | * Aerosol column v-wind mass flux
Expand Down
20 changes: 10 additions & 10 deletions ESMF/GOCART2G_GridComp/DU2G_GridComp/DU2G_StateSpecs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -71,19 +71,19 @@ category: EXPORT
#........................................................................................
DUSMASS | kg m-3 | xy | N | | Dust Surface Mass Concentration
DUCMASS | kg m-2 | xy | N | | Dust Column Mass Density
DUEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Extinction AOT
DUSTEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Extinction AOT Stratosphere
DUSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Scattering AOT
DUSTSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Scattering AOT Stratosphere
DUSMASS25 | kg m-3 | xy | N | | Dust Surface Mass Concentration - PM 2.5
DUCMASS25 | kg m-2 | xy | N | | Dust Column Mass Density - PM 2.5
DUEXTT25 | 1 | xy | N | size(self%wavelengths_vertint) | Dust Extinction AOT - PM 2.5
DUSCAT25 | 1 | xy | N | size(self%wavelengths_vertint) | Dust Scattering AOT - PM 2.5
DUEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Aerosol Optical Depth
DUSTEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Stratospheric Aerosol Optical Thickness
DUSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Aerosol Optical Depth Due to Scattering
DUSTSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Dust Stratospheric Aerosol Optical Thickness Due to Scattering
DUSMASS25 | kg m-3 | xy | N | | Dust Surface Mass Concentration of Particulate Matter < 2.5 microns (PM 2.5)
DUCMASS25 | kg m-2 | xy | N | | Dust Column Mass Density of Particulate Matter < 2.5 microns (PM 2.5)
DUEXTT25 | 1 | xy | N | size(self%wavelengths_vertint) | Dust Aerosol Optical Depth from Particulate Matter < 2.5 microns (PM2.5)
DUSCAT25 | 1 | xy | N | size(self%wavelengths_vertint) | Dust Aerosol Optical Depth Due to Scattering from Particulate Matter < 2.5 microns (PM2.5)
DUAERIDX | 1 | xy | N | | Dust TOMS UV Aerosol Index
DUFLUXU | kg m-1 s-1 | xy | N | | Dust column u-wind mass flux
DUFLUXV | kg m-1 s-1 | xy | N | | Dust column v-wind mass flux
DUEXTTFM | 1 | xy | N | size(self%wavelengths_vertint) | Dust Extinction AOT - PM 1.0 um
DUSCATFM | 1 | xy | N | size(self%wavelengths_vertint) | Dust Scattering AOT - PM 1.0 um
DUEXTTFM | 1 | xy | N | size(self%wavelengths_vertint) | Dust Aerosol Optical Depth from Particulate Matter < 1 micron (PM1.0)
DUSCATFM | 1 | xy | N | size(self%wavelengths_vertint) | Dust Aerosol Optical Depth Due to Scattering from Particulate Matter < 1 micron (PM1.0)
DUANGSTR | 1 | xy | N | | Dust Angstrom parameter [470-870 nm]
DUEM | kg m-2 s-1 | xy | N | self%nbins | Dust Emission (Bin %d)
DUSD | kg m-2 s-1 | xy | N | self%nbins | Dust Sedimentation (Bin %d)
Expand Down
28 changes: 14 additions & 14 deletions ESMF/GOCART2G_GridComp/GOCART2G_StateSpecs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ category: EXPORT
#----------------------------------------------------------------------------------------
PSO4TOT | kg m-2 s-1 | xyz | C | | Total Sulfate Produced in GOCART
#........................................................................................
TOTEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Extinction AOT [550 nm]
TOTSTEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Extinction AOT [550 nm] Stratosphere
TOTSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Scattering AOT [550 nm]
TOTSTSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Scattering AOT [550 nm] Stratosphere
TOTEXTT25 | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Extinction AOT [550 nm] - PM2.5
TOTSCAT25 | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Extinction AOT [550 nm] - PM2.5
TOTEXTTFM | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Extinction AOT [550 nm] - PM1.0
TOTSCATFM | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Extinction AOT [550 nm] - PM1.0
TOTEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Optical Depth at 550 nm
TOTSTEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Stratospheric Aerosol Optical Thickness at 550 nm
TOTSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Optical Depth at 550 nm Due to Scattering
TOTSTSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Total Stratospheric Aerosol Optical Thickness at 550 nm Due to Scattering
TOTEXTT25 | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Optical Depth at 550 nm from Particluate Matter < 2.5 microns (PM2.5)
TOTSCAT25 | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Optical Depth at 550 nm Due to Scattering from Particulate Matter < 2.5 microns (PM2.5)
TOTEXTTFM | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Optical Depth at 550 nm from Particluate Matter < 1 micron (PM1.0)
TOTSCATFM | 1 | xy | N | size(self%wavelengths_vertint) | Total Aerosol Optical Depth at 550 nm Due to Scattering from Particulate Matter < 1 micron (PM1.0)
TOTANGSTR | 1 | xy | N | | Total Aerosol Angstrom parameter [470-870 nm]
TOTEXTCOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Total Aerosol Extinction coefficient
TOTEXTCOEFRH20 | m-1 | xyz | C | size(self%wavelengths_profile) | Total Aerosol Extinction coefficient - Fixed RH=20%
Expand All @@ -39,12 +39,12 @@ category: EXPORT
TOTBCKCOEF | m-1 sr-1 | xyz | C | size(self%wavelengths_profile) | Total Aerosol Single Scattering Backscatter coefficient
TOTABCKTOA | m-1 sr-1 | xyz | C | | Total Attenuated Backscatter Coefficient from TOA [532nm]
TOTABCKSFC | m-1 sr-1 | xyz | C | | Total Attenuated Backscatter Coefficient from surface [532nm]
PM | kg m-3 | xy | N | | Total reconstructed PM
PM_RH35 | kg m-3 | xy | N | | Total reconstructed PM(RH=35%)
PM_RH50 | kg m-3 | xy | N | | Total reconstructed PM(RH=50%)
PM25 | kg m-3 | xy | N | | Total reconstructed PM2.5
PM25_RH35 | kg m-3 | xy | N | | Total reconstructed PM2.5(RH=35%)
PM25_RH50 | kg m-3 | xy | N | | Total reconstructed PM2.5(RH=50%)
PM | kg m-3 | xy | N | | Total Reconstructed Dry Particulate Matter
PM_RH35 | kg m-3 | xy | N | | Total Reconstructed Particulate Matter at 35% Relative Humidity
PM_RH50 | kg m-3 | xy | N | | Total Reconstructed Particulate Matter at 50% Relative Humidity
PM25 | kg m-3 | xy | N | | Total Reconstructed Dry Particulate Matter < 2.5 microns (PM2.5)
PM25_RH35 | kg m-3 | xy | N | | Total Reconstructed Particulate Matter < 2.5 microns (PM2.5) at 35% Relative Humidity
PM25_RH50 | kg m-3 | xy | N | | Total Reconstructed Particulate Matter < 2.5 microns (PM2.5) at 50% Relative Humidity

category: INTERNAL
#----------------------------------------------------------------------------------------
Expand Down
Loading

0 comments on commit a8af211

Please sign in to comment.