Skip to content

Commit

Permalink
Merge pull request #193 from GEOS-ESM/develop
Browse files Browse the repository at this point in the history
CHANGELOG update
  • Loading branch information
amdasilva authored Oct 7, 2022
2 parents 4c94179 + d0e68cf commit 984fc49
Show file tree
Hide file tree
Showing 17 changed files with 599 additions and 277 deletions.
17 changes: 16 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2.1

# Anchors to prevent forgetting to update a version
baselibs_version: &baselibs_version v7.5.0
bcs_version: &bcs_version v10.22.5
bcs_version: &bcs_version v10.23.0

orbs:
ci: geos-esm/circleci-tools@1
Expand All @@ -24,6 +24,21 @@ workflows:
mepodevelop: true
develop_repos: GMAO_Shared
persist_workspace: false # Needs to be true to run fv3/gcm experiment, costs extra
# Build GOCART like UFS
- ci/build:
name: build-GOCART2G-like-UFS-on-<< matrix.compiler >>
context:
- docker-hub-creds
matrix:
parameters:
compiler: [gfortran, ifort]
baselibs_version: *baselibs_version
repo: GOCART
buildtarget: GOCART2G_GridComp
mepodevelop: true
develop_repos: GMAO_Shared
extra_cmake_options: "-DBUILD_WITH_FLAP=OFF -DBUILD_WITH_PFLOGGER=OFF -DBUILD_SHARED_MAPL=OFF -DUSE_EXTDATA2G=OFF"
persist_workspace: false # Needs to be true to run fv3/gcm experiment, costs extra
# Build GEOSgcm
- ci/build:
name: build-GEOSgcm-on-<< matrix.compiler >>
Expand Down
26 changes: 23 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

### Fixed
### Fixed

### Changed

## [2.1.2] - 2022-10-07

### Added

- Extinction exports with RH=20% and RH=80%

### Fixed

### Changed

## [2.1.1] - 2022-09-16

### Fixed

- Remove GOCART requirement for gFTL, pFlogger and yaFyaml. These are requirements of MAPL. (#184)
- Update BCs version in CI for GEOSgcm run

### Added

- Added CI test for building GOCART like UFS does

## [2.1.0] - 2022-08-24

Expand All @@ -22,8 +42,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- This matches the styles currently used in MAPL (2 space indents in CMake and yaml, 4 spaces for Python)
- Add YAML validator GitHub Action
- This action makes sure all YAML files are valid (to a relaxed standard)
- Initial implementation of offline simulator for 3D profiles of extinction based on the new GOCART2G-Mie interface. Work for the 2D simulator in progress.
- Initial implementation of offline simulator for 3D profiles of extinction based on the new GOCART2G-Mie interface. Work for the 2D simulator in progress.

### Fixed

- Added protection guard for pointer DU_SRC. fixed issue #148
Expand Down
8 changes: 2 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cmake_policy (SET CMP0054 NEW)

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

if ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
Expand Down Expand Up @@ -57,14 +57,10 @@ if (NOT Baselibs_FOUND)
if (NOT ESMF_FOUND)
find_package (ESMF REQUIRED)
endif ()

find_package (GFTL REQUIRED)
find_package (GFTL_SHARED REQUIRED)
find_package (PFLOGGER QUIET)
find_package (YAFYAML REQUIRED)
endif ()

if (UFS_GOCART)
find_package (GFTL_SHARED REQUIRED)
find_package (MAPL REQUIRED)
include(mapl_acg)
elseif (IS_DIRECTORY "${PROJECT_SOURCE_DIR}/ESMF/Shared/MAPL@")
Expand Down
26 changes: 25 additions & 1 deletion ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,8 @@ subroutine Run2 (GC, import, export, clock, RC)
real, pointer, dimension(:,:,:) :: intPtr_phobic, intPtr_philic

real, parameter :: cpd = 1004.16

integer :: i1, j1, i2, j2, km
real, target, allocatable, dimension(:,:,:) :: RH20,RH80
#include "CA2G_DeclarePointer___.h"

__Iam__('Run2')
Expand Down Expand Up @@ -1026,6 +1027,29 @@ subroutine Run2 (GC, import, export, clock, RC)
NO3nFlag=.false., __RC__)


i1 = lbound(RH2, 1); i2 = ubound(RH2, 1)
j1 = lbound(RH2, 2); j2 = ubound(RH2, 2)
km = ubound(RH2, 3)

allocate(RH20(i1:i2,j1:j2,km), __STAT__)
allocate(RH80(i1:i2,j1:j2,km), __STAT__)

RH20(:,:,:) = 0.20
call Aero_Compute_Diags (mie=self%diag_Mie, km=self%km, klid=self%klid, nbegin=1, nbins=2, &
wavelengths_profile=self%wavelengths_profile*1.0e-9, &
wavelengths_vertint=self%wavelengths_vertint*1.0e-9, aerosol=int_arr, grav=MAPL_GRAV, &
tmpu=t, rhoa=airdens, rh=rh20, u=u, v=v, delp=delp, ple=ple, tropp=tropp, &
extcoef=EXTCOEFRH20, scacoef=SCACOEFRH20, NO3nFlag=.false., __RC__)


RH80(:,:,:) = 0.80
call Aero_Compute_Diags (mie=self%diag_Mie, km=self%km, klid=self%klid, nbegin=1, nbins=2, &
wavelengths_profile=self%wavelengths_profile*1.0e-9, &
wavelengths_vertint=self%wavelengths_vertint*1.0e-9, aerosol=int_arr, grav=MAPL_GRAV, &
tmpu=t, rhoa=airdens, rh=rh80, u=u, v=v, delp=delp, ple=ple, tropp=tropp, &
extcoef=EXTCOEFRH80, scacoef=SCACOEFRH80, NO3nFlag=.false., __RC__)

deallocate(RH20,RH80)
RETURN_(ESMF_SUCCESS)

end subroutine Run2
Expand Down
58 changes: 31 additions & 27 deletions ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_StateSpecs.rc
Original file line number Diff line number Diff line change
Expand Up @@ -72,34 +72,38 @@ category: EXPORT
#----------------------------------------------------------------------------------------
# VARIABLE | DIMENSIONS | Additional Metadata
#----------------------------------------------------------------------------------------
NAME | UNITS | DIMS | VLOC | UNGRIDDED | LONG NAME
NAME | UNITS | DIMS | VLOC | UNGRIDDED | LONG NAME
#----------------------------------------------------------------------------------------
*MASS | kg kg-1 | xyz | C | | Carbonaceous Aerosol Mass Mixing Ratio
*CONC | kg m-3 | xyz | C | | Carbonaceous Aerosol Mass Concentration
*EXTCOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Extinction Coefficient
*SCACOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Scattering Coefficient
#........... | ............ | ..... | ..... | ....... | ............................................
*EM | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Emission (Bin %d)
*SD | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Sedimentation (Bin %d)
*DP | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Dry Deposition (Bin %d)
*WT | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Wet Deposition (Bin %d)
*SV | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Convective Scavenging (Bin %d)
*EMAN | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Anthropogenic Emissions
*EMBB | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Biomass Burning Emissions
*EMBF | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Biofuel Emissions
*EMBG | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Biogenic Emissions
*HYPHIL | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Hydrophobic to Hydrophilic
*PSOA | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol SOA Production
*SMASS | kg m-3 | xy | N | | Carbonaceous Aerosol Surface Mass Concentration
*CMASS | kg m-2 | xy | N | | Carbonaceous Aerosol Column Mass Density
*EXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Extinction AOT
*STEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Extinction AOT Stratosphere
*SCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Scattering AOT
*STSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Scattering AOT Stratosphere
*ANGSTR | 1 | xy | N | | Carbonaceous Aerosol Angstrom parameter [470-870 nm]
*FLUXU | kg m-1 s-1 | xy | N | | Carbonaceous Aerosol column u-wind mass flux
*FLUXV | kg m-1 s-1 | xy | N | | Carbonaceous Aerosol column v-wind mass flux
*AERIDX | 1 | xy | N | | Carbonaceous Aerosol TOMS UV Aerosol Index
*MASS | kg kg-1 | xyz | C | | Carbonaceous Aerosol Mass Mixing Ratio
*CONC | kg m-3 | xyz | C | | Carbonaceous Aerosol Mass Concentration
*EXTCOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Extinction Coefficient
*EXTCOEFRH20 | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Extinction Coefficient - Fixed RH=20%
*EXTCOEFRH80 | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Extinction Coefficient - Fixed RH=80%
*SCACOEF | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Scattering Coefficient
*SCACOEFRH20 | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Scattering Coefficient - Fixed RH=20%
*SCACOEFRH80 | m-1 | xyz | C | size(self%wavelengths_profile) | Carbonaceous Aerosol Scattering Coefficient - Fixed RH=80%
#............ | ............ | ..... | ..... | ....... | ............................................
*EM | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Emission (Bin %d)
*SD | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Sedimentation (Bin %d)
*DP | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Dry Deposition (Bin %d)
*WT | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Wet Deposition (Bin %d)
*SV | kg m-2 s-1 | xy | N | nbins | Carbonaceous Aerosol Convective Scavenging (Bin %d)
*EMAN | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Anthropogenic Emissions
*EMBB | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Biomass Burning Emissions
*EMBF | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Biofuel Emissions
*EMBG | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Biogenic Emissions
*HYPHIL | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol Hydrophobic to Hydrophilic
*PSOA | kg m-2 s-1 | xy | N | | Carbonaceous Aerosol SOA Production
*SMASS | kg m-3 | xy | N | | Carbonaceous Aerosol Surface Mass Concentration
*CMASS | kg m-2 | xy | N | | Carbonaceous Aerosol Column Mass Density
*EXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Extinction AOT
*STEXTTAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Extinction AOT Stratosphere
*SCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Scattering AOT
*STSCATAU | 1 | xy | N | size(self%wavelengths_vertint) | Carbonaceous Aerosol Scattering AOT Stratosphere
*ANGSTR | 1 | xy | N | | Carbonaceous Aerosol Angstrom parameter [470-870 nm]
*FLUXU | kg m-1 s-1 | xy | N | | Carbonaceous Aerosol column u-wind mass flux
*FLUXV | kg m-1 s-1 | xy | N | | Carbonaceous Aerosol column v-wind mass flux
*AERIDX | 1 | xy | N | | Carbonaceous Aerosol TOMS UV Aerosol Index



Expand Down
33 changes: 31 additions & 2 deletions ESMF/GOCART2G_GridComp/DU2G_GridComp/DU2G_GridCompMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -876,8 +876,9 @@ subroutine Run2 (GC, import, export, clock, RC)
real :: fwet
logical :: KIN

integer :: i1, j1, i2, j2, km
real, parameter :: cpd = 1004.16

real, target, allocatable, dimension(:,:,:) :: RH20,RH80
#include "DU2G_DeclarePointer___.h"

__Iam__('Run2')
Expand Down Expand Up @@ -962,7 +963,35 @@ subroutine Run2 (GC, import, export, clock, RC)
DUFLUXU, DUFLUXV, DUCONC, DUEXTCOEF, DUSCACOEF, &
DUEXTTFM, DUSCATFM, DUANGSTR, DUAERIDX, NO3nFlag=.false., __RC__ )

RETURN_(ESMF_SUCCESS)

i1 = lbound(RH2, 1); i2 = ubound(RH2, 1)
j1 = lbound(RH2, 2); j2 = ubound(RH2, 2)
km = ubound(RH2, 3)

allocate(RH20(i1:i2,j1:j2,km), __STAT__)
allocate(RH80(i1:i2,j1:j2,km), __STAT__)

RH20(:,:,:) = 0.20
call Aero_Compute_Diags (mie=self%diag_Mie, km=self%km, klid=self%klid, nbegin=1, &
nbins=self%nbins, rlow=self%rlow, &
rup=self%rup, wavelengths_profile=self%wavelengths_profile*1.0e-9, &
wavelengths_vertint=self%wavelengths_vertint*1.0e-9, aerosol=DU, &
grav=MAPL_GRAV, tmpu=t, rhoa=airdens, &
rh=rh20, u=u, v=v, delp=delp, ple=ple,tropp=tropp, &
extcoef = DUEXTCOEFRH20, scacoef = DUSCACOEFRH20, NO3nFlag=.False., __RC__)

RH80(:,:,:) = 0.80

call Aero_Compute_Diags (mie=self%diag_Mie, km=self%km, klid=self%klid, nbegin=1, &
nbins=self%nbins, rlow=self%rlow, &
rup=self%rup, wavelengths_profile=self%wavelengths_profile*1.0e-9, &
wavelengths_vertint=self%wavelengths_vertint*1.0e-9, aerosol=DU, &
grav=MAPL_GRAV, tmpu=t, rhoa=airdens, &
rh=rh80, u=u, v=v, delp=delp, ple=ple,tropp=tropp, &
extcoef = DUEXTCOEFRH80, scacoef = DUSCACOEFRH80, NO3nFlag=.False., __RC__)

deallocate(RH20,RH80)
RETURN_(ESMF_SUCCESS)

end subroutine Run2

Expand Down
Loading

0 comments on commit 984fc49

Please sign in to comment.