Skip to content

Commit 1f5d79a

Browse files
committed
GCHP 14.6.3 release
This is the official release commit of GCHP 14.6.3. Updated version numbers in: - CHANGELOG.md - CMakeLists.txt - docs/source/conf.py Updated GEOS-Chem submodule to version 14.6.3. Updated HEMCO submodule to version 14.6.3. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
2 parents 54bf9e4 + 6386f46 commit 1f5d79a

File tree

12 files changed

+182
-39
lines changed

12 files changed

+182
-39
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,23 @@ This file documents all notable changes to the GCHP wrapper repository starting
99

1010
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).
1111

12+
## [14.6.3] - 2025-07-28
13+
### Added
14+
- Added `-DSANITIZE` option for use with GNU Fortran compiler to check for memory leaks
15+
- Added "Known Bugs" page under "Reference" section of the ReadTheDocs documentation
16+
17+
### Changed
18+
- Updated ReadTheDocs documentation to state that we are using Spack v0.23.1 in the Spack installation guide
19+
- Reordered entries in the ReadTheDocs reference section to match the GCClassic documentation
20+
- Updated GEOS-Chem submodule to 14.6.3
21+
- Updated HEMCO submodule to 3.11.2
22+
23+
### Fixed
24+
- Fixed bug in GCHP adjoint code to compute mass fluxes after first run
25+
26+
### Removed
27+
- Removed descriptions of GEOS-IT as "beta release" in ReadTheDocs documentation
28+
1229
## [14.6.2] - 2025-06-12
1330
### Changed
1431
- Updated GEOS-Chem submodule to 14.6.2

CMakeLists.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required (VERSION 3.13)
22
project (gchp_ctm
3-
VERSION 14.6.2
3+
VERSION 14.6.3
44
LANGUAGES Fortran CXX C
55
)
66

@@ -64,6 +64,18 @@ if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU")
6464
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-none")
6565
endif()
6666

67+
# Add code sanitation options (GNU Fortran only), e.g. memory leak checking
68+
set(SANITIZE OFF CACHE BOOL
69+
"Switch to turn on code sanitization (i.e. identify memory leaks and similar conditions)"
70+
)
71+
if(${SANITIZE})
72+
if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU")
73+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-none -fsanitize=leak -fsanitize=address -fsanitize=undefined")
74+
else()
75+
message( FATAL_ERROR "The SANITIZE option is only defined for GNU Fortran.")
76+
endif()
77+
endif()
78+
6779
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod)
6880

6981
# Add the directory with gchp_ctm's source code

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
author = 'GEOS-Chem Support Team'
2424

2525
# The full version, including alpha/beta/rc tags
26-
release = '14.6.2'
26+
release = '14.6.3'
2727

2828

2929
# -- General configuration ---------------------------------------------------

docs/source/getting-started/quick-start.rst

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,28 @@ the prompts:
6868
$ cd run/
6969
$ ./createRunDir.sh
7070
71-
.. important::
72-
73-
The convection scheme used for GEOS-FP met generation changed
74-
from RAS to Grell-Freitas with impact on GEOS-FP meteorology
75-
files starting June 1, 2020, specifically enhanced vertical
76-
transport. If you plan to do simulations across this boundary
77-
consider using MERRA2 instead. For more information see
78-
`GEOS-Chem GitHub issue #1409 <https://github.com/geoschem/geos-chem/issues/1409/>`__.
71+
.. attention::
72+
73+
The convection scheme used to generate archived GEOS-FP meteorology
74+
files changed from RAS to Grell-Freitas starting 01 June 2020 with
75+
impact on vertical transport. Discussion and analysis of the impact
76+
is available at
77+
https://github.com/geoschem/geos-chem/issues/1409.
78+
79+
To fix this issue, different GEOS-Chem convection schemes are
80+
called based on simulation start time. This ensures comparability
81+
in GEOS-Chem runs using GEOS-FP fields generated using the RAS
82+
convection scheme and fields generated using Grell-Freitas, but
83+
only if the simulation does not cross the 01 June 2020 boundary. We
84+
therefore recommend splitting up GEOS-FP runs in time such that a
85+
single simulation does not span this date. For example, configure
86+
one run to end on 01 June 2020 and then use its output restart to
87+
start another run on 01 June 2020.. Alternatively consider using
88+
MERRA2 which was entirely generated with RAS, or GEOS-IT which was
89+
entirely generated with Grell-Freitas. If you wish to use a GEOS-FP
90+
meteorology year different from your simulation year please create
91+
a GEOS-Chem GitHub issue for assistance to avoid accidentally using
92+
zero convective precipitation flux.
7993

8094
=======================
8195
3. Configure your build

docs/source/index.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ use Spack to install GCHP's dependencies if needed.
7979
geos-chem-shared-docs/simulations/fullchem.rst
8080
geos-chem-shared-docs/simulations/tago3.rst
8181
geos-chem-shared-docs/simulations/transport-tracers.rst
82-
82+
8383
.. toctree::
8484
:maxdepth: 1
8585
:caption: Supplemental Guides
@@ -108,10 +108,11 @@ use Spack to install GCHP's dependencies if needed.
108108
:maxdepth: 1
109109
:caption: Help & Reference
110110

111-
reference/SUPPORT.md
111+
reference/versioning.rst
112+
reference/known-bugs.rst
112113
reference/CONTRIBUTING.md
114+
reference/SUPPORT.md
113115
geos-chem-shared-docs/editing_these_docs.rst
114116
reference/git-submodules.rst
115117
reference/glossary.rst
116-
reference/versioning.rst
117118
reference/uploading_to_spack.rst
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
.. _gchp-known-bugs:
2+
3+
#####################
4+
Known bugs and issues
5+
#####################
6+
7+
Please see our `Issue tracker on GitHub
8+
<https://github.com/geoschem/gchp/issues>`_ for a list of recent
9+
bugs and fixes.
10+
11+
===================
12+
Current bug reports
13+
===================
14+
15+
These `bug reports (on GitHub)
16+
<https://github.com/geoschem/gchp/issues?q=is%3Aissue+is%3Aopen+label%3A%22category%3A+Bug%22>`_
17+
are currently unresolved. We hope to fix these in future releases.
18+
19+
.. _gc-known-bugs-gcc12:
20+
21+
=======================================
22+
Other issues that you should know about
23+
=======================================
24+
25+
GCC 12.2.0 is discontinued in Spack v1.0.0
26+
------------------------------------------
27+
28+
As of Spack v1.0, `spack-packages <https://packages.spack.io/>`_ has
29+
been split off into its own separate repository. This change includes
30+
the unfortunate deprecation of the :program:`GNU Compiler Collection
31+
(GCC)` version 12.2.0. It appears that only the most recent minor
32+
release in each major release is now treated as stable. These
33+
deprecations are updated promptly for example, GCC 12.4.0 is already
34+
marked as deprecated just 10 days after the release of GCC 12.5.0.
35+
36+
Deprecated GCC versions are no longer listed with the :command:`spack
37+
info` command, so rather than warning users about deprecation, Spack
38+
simply fails with an unhelpful error message about not being able to
39+
satisfy the request.
40+
41+
For the time being, we recommend that you use `Spack release v0.23.1
42+
<https://github.com/spack/spack/releases/tag/v0.23.1>`_ which still
43+
supports GCC 12.2.0 and related libraries. Please see our
44+
supplemental guide entitled :ref:`spackguide` for an updated Spack
45+
installation workflow.
46+
47+
We will likely need to wait until MAPL 2.55 is implemented in GCHP
48+
before we can build the GCHP library environment with Spack v1.0.
49+
MAPL 2.55 should be compatible with GCC 14 and later versions, but we
50+
will need to test this.
51+
52+
Discontinuity in GEOS-FP convection at 01 Jun 2020
53+
--------------------------------------------------
54+
55+
The convection scheme used to generate archived GEOS-FP meteorology
56+
files changed from RAS to Grell-Freitas starting 01 June 2020 with
57+
impact on vertical transport. Discussion and analysis of the impact is
58+
available at https://github.com/geoschem/geos-chem/issues/1409.
59+
60+
In addition, there is a bug in convective precipitation flux following
61+
the switch where all values are zero. While this bug is automatically
62+
fixed by calling different convection schemes in GEOS-Chem, the
63+
convection scheme called is based only on run start date. This means
64+
that using meteorology for a year different than simulation year may
65+
result in choosing the wrong convection scheme. It also means that
66+
simulations which span 01 June 2020 will incorrectly use the same
67+
convection scheme for the entire run.
68+
69+
Due to these issues we recommend splitting up GEOS-FP runs in time
70+
such that a single simulation does not run across 01 June 2020.
71+
Instead. set one run to stop on 01 June 2020 and then restart a new
72+
run from there. If you wish to use a GEOS-FP meteorology year
73+
different from your simulation year please create a GEOS-Chem GitHub
74+
issue for assistance.
75+
76+
============================
77+
Bugs that have been resolved
78+
============================
79+
80+
These `bugs (reported on GitHub) <https://github.com/geoschem/gchp/issues?q=+label%3A%22category%3A+Bug+Fix%22+>`_ have been resolved.

docs/source/reference/uploading_to_spack.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
###############
12
Upload to Spack
2-
===============
3+
###############
4+
5+
.. note::
6+
7+
This page is now obsolete. GCHP is no longer maintained as a Spack package.
8+
39

410
This page describes how to upload recipe changes to Spack. Common recipe changes include updating available versions of GCHP
511
and changing version requirements for dependencies.

docs/source/user-guide/rundir-init.rst

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -106,25 +106,31 @@ would like to use from the dataset.
106106
-----------------------------------------------------------
107107
1. MERRA-2 (Recommended)
108108
2. GEOS-FP
109-
3. GEOS-IT (Beta release)
109+
3. GEOS-IT
110110
>>>
111111
112-
.. important::
113-
114-
The convection scheme used for GEOS-FP met generation changed
115-
from RAS to Grell-Freitas with impact on GEOS-FP meteorology
116-
files starting June 1, 2020, specifically enhanced vertical
117-
transport. In addition, there is a bug in convective
118-
precipitation flux following the switch where all values are
119-
zero. While this bug is automatically fixed by computing fluxes
120-
online for runs starting on or after June 1 2020, the fix
121-
assumes meteorology year corresponds to simulation year. Due to
122-
these issues we recommend splitting up GEOS-FP runs in time such
123-
that a single simulation does not run across June
124-
1, 2020. Instead. set one run to stop on June 1 2020 and then
125-
restart a new run from there. If you wish to use a GEOS-FP
126-
meteorology year different from your simulation year please
127-
create a GEOS-Chem GitHub issue for assistance.
112+
.. attention::
113+
114+
The convection scheme used to generate archived GEOS-FP meteorology
115+
files changed from RAS to Grell-Freitas starting 01 June 2020 with
116+
impact on vertical transport. Discussion and analysis of the impact
117+
is available at
118+
https://github.com/geoschem/geos-chem/issues/1409.
119+
120+
To fix this issue, different GEOS-Chem convection schemes are
121+
called based on simulation start time. This ensures comparability
122+
in GEOS-Chem runs using GEOS-FP fields generated using the RAS
123+
convection scheme and fields generated using Grell-Freitas, but
124+
only if the simulation does not cross the 01 June 2020 boundary. We
125+
therefore recommend splitting up GEOS-FP runs in time such that a
126+
single simulation does not span this date. For example, configure
127+
one run to end on 01 June 2020 and then use its output restart to
128+
start another run on 01 June 2020.. Alternatively consider using
129+
MERRA2 which was entirely generated with RAS, or GEOS-IT which was
130+
entirely generated with Grell-Freitas. If you wish to use a GEOS-FP
131+
meteorology year different from your simulation year please create
132+
a GEOS-Chem GitHub issue for assistance to avoid accidentally using
133+
zero convective precipitation flux.
128134

129135
Enter run directory path
130136
------------------------

src/GCHP_GridComp/GCHPctmEnv_GridComp/GCHPctmEnv_GridCompMod.F90

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,10 @@ subroutine prepare_massflux_exports(IMPORT, EXPORT, PLE, dt, RC)
842842
real(r8), pointer, dimension(:,:,:) :: UCr8 => null()
843843
real(r8), pointer, dimension(:,:,:) :: VCr8 => null()
844844

845+
#ifdef ADJOINT
846+
logical, save :: firstRun = .true.
847+
#endif
848+
845849
!=====================================
846850
! prepare_massflux_exports starts here
847851
!=====================================
@@ -931,14 +935,17 @@ subroutine prepare_massflux_exports(IMPORT, EXPORT, PLE, dt, RC)
931935
UCr8 = dble(UC)
932936
VCr8 = dble(VC)
933937

934-
#ifdef ADJOINT
938+
#ifndef ADJOINT
939+
! Calculate mass fluxes and courant numbers
940+
call fv_computeMassFluxes(UCr8, VCr8, PLE, &
941+
MFX_EXPORT, MFY_EXPORT, &
942+
CX_EXPORT, CY_EXPORT, dt)
943+
#else
935944
if (.not. firstRun) THEN
936-
#endif
937945
! Calculate mass fluxes and courant numbers
938946
call fv_computeMassFluxes(UCr8, VCr8, PLE, &
939-
MFX_EXPORT, MFY_EXPORT, &
940-
CX_EXPORT, CY_EXPORT, dt)
941-
#ifdef ADJOINT
947+
MFX_EXPORT, MFY_EXPORT, &
948+
CX_EXPORT, CY_EXPORT, dt)
942949
endif
943950
firstRun = .false.
944951
#endif

0 commit comments

Comments
 (0)