Skip to content

Commit

Permalink
Merge branch 'fix_lilac_pio2'
Browse files Browse the repository at this point in the history
Fix LILAC interface to PIO

Fixes the LILAC interface to PIO.

This involved splitting shr_pio_mod into two pieces:

(1) Reading configuration files and initializing PIO appropriately

(2) Storing information about PIO (io system descriptors, io types, io
formats) and providing an interface to query this information

Piece (2) lives in the share code and is used regardless of the driver.
Piece (1) is driver-specific, so for now we have three versions of that
piece: one in CMEPS (created by extracting the initialization pieces
from cmeps/cesm/nuopc_cap_share/shr_pio_mod.F90), one in the cpl7 repo
(created by extracting the initialization pieces from
share/src/shr_pio_mod.F90), and one in CTSM's LILAC directory (which is
essentially identical to the one in the cpl7 repo). Piece (2) – the
actual share code piece – is used by components (their use statements
stay exactly as they are now) as well as by piece (1) (which is
responsible for setting the module-level variables in piece (2)). See
#1759 (comment) for
more context.

Much of the work here was in externals:
ESCOMP/CESM_share#34,
ESCOMP/CMEPS#306 and
ESCOMP/CESM_CPL7andDataComps#16. So this PR
updates those externals to versions with those changes. In addition,
changes were needed within LILAC - to implement the LILAC version of
piece (1) described above.

Resolves #1759 (LILAC test failing in ctsm5.1.dev095 with
cime/share/pio update)
  • Loading branch information
billsacks committed Jul 11, 2022
2 parents 2eaf94b + 7b26060 commit 1e380f8
Show file tree
Hide file tree
Showing 7 changed files with 889 additions and 19 deletions.
6 changes: 3 additions & 3 deletions Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ tag = cime6.0.27
required = True

[cmeps]
tag = cmeps0.13.63
tag = cmeps0.13.68
protocol = git
repo_url = https://github.com/ESCOMP/CMEPS.git
local_path = components/cmeps
Expand All @@ -63,14 +63,14 @@ externals = Externals_CDEPS.cfg
required = True

[cpl7]
tag = cpl7.0.12
tag = cpl7.0.13
protocol = git
repo_url = https://github.com/ESCOMP/CESM_CPL7andDataComps
local_path = components/cpl7
required = True

[share]
tag = share1.0.11
tag = share1.0.12
protocol = git
repo_url = https://github.com/ESCOMP/CESM_share
local_path = share
Expand Down
7 changes: 0 additions & 7 deletions cime_config/testdefs/ExpectedTestFails.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,6 @@
</phase>
</test>

<test name="LILACSMOKE_D_Ld2.f10_f10_mg37.I2000Ctsm50NwpSpAsRs.cheyenne_intel.clm-lilac">
<phase name="MODEL_BUILD">
<status>FAIL</status>
<issue>#1759</issue>
</phase>
</test>

<!-- fates test suite failures -->

<test name="SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruRsGs.izumi_nag.clm-FatesColdDefHydro">
Expand Down
100 changes: 100 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,104 @@
===============================================================
Tag name: ctsm5.1.dev102
Originator(s): sacks (Bill Sacks)
Date: Mon Jul 11 12:14:48 MDT 2022
One-line Summary: Fix LILAC interface to PIO

Purpose and description of changes
----------------------------------

Fixes the LILAC interface to PIO.

This involved splitting shr_pio_mod into two pieces:

(1) Reading configuration files and initializing PIO appropriately

(2) Storing information about PIO (io system descriptors, io types, io
formats) and providing an interface to query this information

Piece (2) lives in the share code and is used regardless of the driver.
Piece (1) is driver-specific, so for now we have three versions of that
piece: one in CMEPS (created by extracting the initialization pieces
from cmeps/cesm/nuopc_cap_share/shr_pio_mod.F90), one in the cpl7 repo
(created by extracting the initialization pieces from
share/src/shr_pio_mod.F90), and one in CTSM's LILAC directory (which is
essentially identical to the one in the cpl7 repo). Piece (2) – the
actual share code piece – is used by components (their use statements
stay exactly as they are now) as well as by piece (1) (which is
responsible for setting the module-level variables in piece (2)). See
https://github.com/ESCOMP/CTSM/issues/1759#issuecomment-1171779485 for
more context.

Much of the work here was in externals:
https://github.com/ESCOMP/CESM_share/pull/34,
https://github.com/ESCOMP/CMEPS/pull/306 and
https://github.com/ESCOMP/CESM_CPL7andDataComps/pull/16. So this PR
updates those externals to versions with those changes. In addition,
changes were needed within LILAC - to implement the LILAC version of
piece (1) described above.

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[Put an [X] in the box for any configuration with significant answer changes.]

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed or introduced
------------------------
CTSM issues fixed (include CTSM Issue #):
- Resolves ESCOMP/CTSM#1759 (LILAC test failing in ctsm5.1.dev095 with
cime/share/pio update)

Externals issues fixed (include issue #):
- https://github.com/ESCOMP/CESM_share/issues/33 (ctsm lilac should use
old shr_pio_mod.F90)


Testing summary:
----------------

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

cheyenne ---- PASS
izumi ------- PASS

In addition, to verify that the LILAC changes don't change answers, I ran
LILACSMOKE_D_Ld2.f10_f10_mg37.I2000Ctsm50NwpSpAsRs.cheyenne_intel.clm-lilac
with my changes rebased onto dev097 (in order to avoid recent answer
changing tags), with comparisons against dev094 (which was the last
time that test passed). It was bit-for-bit.

Answer changes
--------------

Changes answers relative to baseline: NO

Other details
-------------
List any externals directories updated (cime, rtm, mosart, cism, fates, etc.):
- CMEPS: cmeps0.13.63 -> cmeps0.13.68
- CPL7: cpl7.0.12 -> cpl7.0.13
- share: share1.0.11 -> share1.0.12

Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/CTSM/pull/1800
https://github.com/ESCOMP/CESM_share/pull/34
https://github.com/ESCOMP/CMEPS/pull/306
https://github.com/ESCOMP/CESM_CPL7andDataComps/pull/16

===============================================================
===============================================================
Tag name: ctsm5.1.dev101
Originator(s): samrabin (Sam Rabin)
Date: Mon Jul 11 11:48:48 MDT 2022
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.1.dev102 sacks 07/11/2022 Fix LILAC interface to PIO
ctsm5.1.dev101 samrabin 07/11/2022 Fix winter wheat sowing window bugs
ctsm5.1.dev100 erik 07/05/2022 Start bringing in matrixcn overall options and sparse matrix multiplier code, misc updates
ctsm5.1.dev099 rgknox 06/21/2022 Enabling FATES control over the number of patches on the natural land unit
Expand Down
Loading

0 comments on commit 1e380f8

Please sign in to comment.