Skip to content

Bring in CMIP6 compset modifiers, output usermods and bit-for-bit fixes from dev014 and dev015

Pre-release
Pre-release
Compare
Choose a tag to compare
@ekluzek ekluzek released this 30 Oct 16:57
· 11556 commits to master since this release

Bring in all changes from ctsm1.0.dev014 and ctsm1.0.dev015:

From ctsm1.0.dev015:

(1) Support %BGC-CROP-CMIP6DECK and %BGC-CROP-CMIP6WACCMDECK compset
modifiers, so that we can turn on the necessary options
(output-related and others) via new CMIP6-specific compsets.

(2) Turn on carbon isotopes in CMIP6 runs (from Erik Kluzek)

(3) Remove setting of CCSM_BGC=CO2A in the cmip6 usermods

(4) Add usermods directories for getting typical extra output that's
wanted in many cases: output_crop, output_crop_highfreq, output_bgc,
output_bgc_highfreq, output_sp, and output_sp_highfreq. These can be
enabled by adding something like '--user-mods-dir output_crop' on
the create_newcase line (that short-hand works for an I compset; for
F or B compsets, you need to provide the full path to the usermod
directory).

(4) Allow holes in the number of history tapes. Holes are cases where,
for example, we have h0, h1 and h3 tapes, but no h2 tape (because
there are no fields on the h2 tape). (This is needed for (3).)

(5) Fix reading and writing of 1-d logical global arrays. This fixes
#24 for real (rather than just preventing an attempt to
read/write 1-d logical arrays, as was done in the previous 'fix').

(6) Add C13_NBP and C14_NBP diagnostic fields (from Keith Oleson)

(7) Make a bunch of carbon isotope diagnostic fields inactive by default

(8) Don't allow interpolation (use_init_interp) from a case without
carbon isotopes to a case with carbon isotopes: Due to
#67, interpolation from a case
without carbon isotopes to a case with carbon isotopes yields
incorrect initialization values for the carbon isotopes. Now that
we're turning carbon isotopes on via some semi-out-of-the-box
usermods (for cmip6), it is becoming more important to check to make
sure someone doesn't shoot themselves in the foot this way.

(9) Add tests of the new output usermods as well as of the CMIP6 compset
modifiers

From ctsm1.0.dev014: Four miscellaneous minor, bit-for-bit bug fixes:

(1) Py3 pylint check and address cime issue ESMCI/cime#2822 (from Jim
Edwards: #526)

(2) Change uppercase DEBUG variables to lowercase debug (requested by
Jim Edwards to avoid conflicting with the DEBUG CPP token)
(Fixes #534)

(3) Remove unnecessary line of code in LunaMod.F90 that was causing
problems with some compilers due to an uninitialized variable
(Fixes #322)

(4) Add r8 to 0 constant to fix build issue with XLF compiler (from Jim
Edwards: #531)