Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge updates from HEMCO 3.10.1 into the dev/3.11.0 branch #303

Merged
merged 36 commits into from
Jan 10, 2025
Merged

Conversation

yantosca
Copy link
Contributor

@yantosca yantosca commented Jan 10, 2025

Name and Institution (Required)

Name: Bob Yantosca
Institution: Harvard + GCST

Describe the update

This PR will bring updates from the recently-released HEMCO 3.10.1 into the HEMCO 3.11.0 development stream. These are mostly the HEMCO log file updates.

Expected changes

This is a no-diff-to-benchmark update.

Related Github Issue

…EMCO

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…_in_mpi

Remove excessive prints when using MPI
…ng MPI

This update is relevant only for use of HEMCO read routines within
MPI models. It does not impact GCHP.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Default is 6 if not passed to ConfigInit. In GEOS-Chem this corresponds
to standard output. This enables specifying destination other than stdout
or HEMCO.log for HEMCO prints in models. For example, in CESM this allows
printing to atm.log rather than cesm.log (stdout) by using
HcoConfig%outLun in write statements.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
This update allows specifying which log prints in HCO_ERROR, HCO_MSG,
and HCO_WARNING should be printed to if called without passed a HEMCO
Err object.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
-Remove mandatory verb=.TRUE. argument in HCO_MSG without Err object passed
  The verb argument is an artifact of when verbose was level rather than
  logical. Calling HCO_MSG without the Err object should always result in
  a print. This supported by the currently implementation which always
  pass as verb=.true. when it is called.
-Update comments about error handling and log files
-If Err object passed to HCO_MSG is not associated then just print message
- Write to stdout in HCO_MSG with Err object passed only if err log not open
   This removes a check for negative LUN and only looks at logical for if
   file is open. CESM uses negative LUN so output should not be directed
   to stdout if LUN is negative.
-Always initialize Err object logical LogIsOpen to true if using CESM
   The CAM log is always open when HEMCO starts in CESM.
-Move summary print from HCO_LogFile_Close to HCO_Error_Final
   The log file is not closed in CESM. Doing the error summary print where
   logfile is closed therefore results in not error summary printed in CESM.
-Remove HcoErr values in type declaration; initialize all in HCO_ERROR_SET
  Previously almost all of the type members had initial values also
  initializaed in HCO_ERROR_SET which was redundant. Comments explaining
  what each field is are now added as well.
-Initialized Err%LogIsOpen to true if using custom LUN or LogFile is *
  Err%LUN is also now initialized to 6 (stdout) if LogFile is *.
-Exit HCO_LOGFILE_OPEN and HCO_LOGFILE_CLOSED if using CESM
  The CESM log file does not need to be opened and closed by HEMCO
-Update HCO_LOGFILE_CLOSE to return if Err%LogFile is stdout
-Update HCO_LOGFILE_OPEN to return if Err%LogFile is stdout
-Update subroutine descriptions to be more clear about when prints occur
-Reorder HCO_WarningErr to return early if not verbose or Err defined
-Remove verbose arg from HCO_WarningNoErr; pass Err within hcox_dustdead
  There are no remaining instances of calling HCO_Warning without passing
  the Err object.
-Rewrite documentation at the top of hco_error_mod for clarity and accuracy
-Pass HcoState%Config%outLUN to HCO_MSG calls without passing Err object
  This specifies where to write the messages since log information in
  the Err object is not used.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
- HCO_IsVerb is replaced with use of HcoState%Config%doVerbose.
  This avoids checking if HcoState%Config%Err is associated every time
  there is a verbose print.
- HCO_Error, HCO_Warning, and HCO_Msg are no longer interfaces. They are
  now each a single subroutine. None of them take HcoState%Config%Err as
  an argument. Where to write output is configurable via an LUN argument.
  All will always print from all cores unless called within an if
  statement for amIRoot or doVerbose. This provides greater clarity and
  control over when prints will occur.
- Most calls to HCO_Warning are now in doVerbose blocks
- HcoState%Config%hcoLogLun is initialized to Hco_State%Config%stdLogLUN.
  This allows using it before a dedicated HEMCO log is opened (if using)


Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
The warnings count is removed since it is not used now that we do not
write to a dedicated HEMCO log. It also has limited value since not all
warnings are important, e.g. unit mismatch of '1' vs 'mol mol-1'.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
HCO_WARNING, like HCO_MSG, will not cause the model to fail and therefore
does not RC passed as an argument.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
This generally makes the log looks cleaner.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…_in_hemco

Improve log flexibility in HEMCO
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
docs/source/geos-chem-shared-docs
- Submodule update: Added KPP-Standalone Supplemental Guide (bc4d75c)

docs/source/index.rst
- Added KPP-Standalone Supplemental Guide to toctree

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This commit informs the HEMCO superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

18712bb Add extra examples to supplemental-guides/error-guide.rst

This update adds documentation for additional common errors to the
"Understanding what error messages mean" supplemental guide.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
docs/source/hco-ref-guide/hemco-config.rst
- Updated the documentation for HEMCO 3.10.1, namely:
  - * sends logfile output to stdout
  - A file name sends logfile output to that file
  - When using CESM, logfile output goes to "atm.log"

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings the dev/no-diff-to-benchmark branch commits into
the HEMCO 3.10.1 release branch, in anticipation of the 3.10.1 release.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings ReadTheDocs documentation updates for HEMCO 3.10.1
(in the docs/dev branch) into the release/3.10.1 branch.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Updated version numbers in:
- CHANGELOG.md
- CMakeLists.txt
- docs/source/conf.py
- src/Core/hco_error_mod.F90

Updated docs/source/geos-chem-shared-docs submodule hash to 18712bb

Please see the CHANGELOG.md for updates included in this version.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
@yantosca yantosca added category: Feature Request New feature or request no-diff-to-benchmark This update will have no impact on benchmark simulations labels Jan 10, 2025
@yantosca yantosca added this to the 3.11.0 milestone Jan 10, 2025
@yantosca yantosca requested a review from msulprizio January 10, 2025 22:08
@yantosca yantosca self-assigned this Jan 10, 2025
@yantosca yantosca changed the title Merge updates from HEMCO 3.11.0 into the dev/3.11.0 branch Merge updates from HEMCO 3.10.1 into the dev/3.11.0 branch Jan 10, 2025
@yantosca yantosca merged commit 0ae25d2 into dev/3.11.0 Jan 10, 2025
6 checks passed
@yantosca
Copy link
Contributor Author

Actually this did not need a merge since dev/3.11.0 had no changes since the 3.10.0 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: Feature Request New feature or request no-diff-to-benchmark This update will have no impact on benchmark simulations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants