Skip to content

Releases: CICE-Consortium/CICE

CICE6.1.2

10 Jun 17:37
f31cfc9
Compare
Choose a tag to compare

CICE6.1.2 is a minor update of CICE6.1.1 from March, 2020. It includes Icepack1.2.2. This and the Icepack tag include water isotopes as well as a couple of minor bug fixes that shouldn't affect science. This release updates the tx1 grid forcing dataset to JRA55, adds a couple of new namelist variables to improve model control, and contains several minor updates to scripts. Documentation has also been updated.

Major changes:

  • Added water isotopes as diagnostic tracers in Icepack #423

Bug fixes:

  • Set max_blocks=1 instead of 0, only problematic in some atypical decompositions #431
  • Fix some general bugs in the IO implementation. These were not causing problems in standard configurations, but were detected with extended IO testing #444, #447

Enhancements:

  • Update icepack to version 1.2.2 #460

  • Update tx1 test forcing to JRA55 #435

  • Add snow conductivity (ksno) into namelist #433

  • Add precision namelist to control real and double precision history files #446

  • Add conserv_check namelist to turn on internal conservation checks. This results in an abort if the internal check does not verify #450

  • Add ustar convergence control via a new atmiter_conv namelist variable #452

  • Upgrades for data assimilation using JEDI #427

  • Update HYCOM wind file forcing notation #425

  • Add some additional namelist checks and modify namelist checks abort message #459

  • Add ability to set compile cppdefs via ICE_CPPDEFS variable in the cice.settings file #448, #460

  • Improved test reporting for suites #428

  • Add pio testing on cheyenne leveraging prebuilt pio libraries #447

  • Remove old vector directives #453 (Note that this changed answers for cray compilers)

  • Add code coverage testing capability #434, #436

  • Update test suite to improve coverage #447, #450

  • Migrate input data to zenodo #424

  • Machine updates including ports to hera intel, orion intel, cheyenne pgi, and cheyenne gnu #418, #424, #432, #438, #372, #447, #449, #460, #462

Documentation

  • Update namelist tables including documentation of internal code defaults #459
  • Update documentation in general

CICE6.1.1

16 Mar 18:54
771aecb
Compare
Choose a tag to compare

CICE6.1.1 is a minor update of CICE6.1.0 from December, 2019. It includes Icepack1.2.1. This and the Icepack tag fix a couple of bugs in the floe size distribution implementation. This release includes several enhancements including the ability to run on Mac and Linux hardware by leveraging conda to download a compiler and other software. Documentation has also been updated.

Bug fixes:

  • Correct logic for floe size distribution wave_spec_type (changes answers for fsd12 option) #394
  • Fix threading in macros files for some machines #396
  • Change order of operations in albedo calculation for restart consistency #414, does not change answers in standard test cases

Enhancements:

  • Use MPI module instead of Fortran include statement #389
  • Update wave_spec_frac filename handling, namelist input now specifies path and filename #417
  • Add conda environment to run on personal computers #393 #400 #402
  • Update run status output based on diag_type setting #396
  • Update machines/compilers for izumi #401, for cori #416
  • Generalize cice.setup script to allow setup-only, setup+build, setup+build+run and setup+build+submit #395 and fix bug introduced by the upgrade #406
  • Update ice_open to use 8-byte integers #410
  • Update Icepack version #409, #414, #416, #417

Documentation

  • Add html anchors when reporting results #388
  • Update community bulletin board/forum links #391
  • Add information for contributing #392
  • Update documentation #397 #400
  • Update copyright and internal version number #409

CICE6.1.0

09 Dec 17:18
73fb4d0
Compare
Choose a tag to compare

CICE version 6.1.0 is released with Icepack version 1.2.0. This release includes a major new physics parameterization in Icepack, the joint thickness and floe size distribution (FSD) of L. Roach and colleagues, and a new directory structure for drivers used in host models, especially NUOPC caps.

We continue to work toward an interface for Icepack that is flexible, extensible and easy to maintain, so that future Icepack upgrades minimize the amount of changes required in host models. Toward that goal, this release includes changes to the interface that are not backwards compatible, which are detailed in the Icepack v1.2 release notes.

Major changes:

  • Add the joint thickness and floe size distribution (FSD) #382
  • Rearrange the driver directory to accommodate NUOPC caps #376 #377 #383

Enhancements:

  • Update Icepack version #379, #387
  • Update Icepack interface calls to use keywords #378
    and to be consistent with recent refactoring of the interface (see Icepack #285. Icepack #289) #379, #385
  • Improve automation of test reporting and Zenodo links #370
  • Improve method for launching serial runs #369

Bug fixes:

  • Use dyrect in box test #361
  • Correct calculation of ANGLET #377 (affects coupled fields)

CICE6.0.2

17 Oct 00:41
333a5a2
Compare
Choose a tag to compare

CICE version 6.0.2 is released with Icepack version 1.1.2. This is an incremental release on top of CICE6.0.1 that includes a number of enhancements as well as a new, JRA55 forcing capability.

Major changes:

  • add JRA55 forcing capability #350 and add forcing data on the ftp input data site

Enhancements:

  • update icepack to version 1.1.2 and update cice version number to 6.0.2 #368
  • update revp #331. Change stress initialization to previous time step for revp, to be up-to-date with literature.
  • update local solar time computation #323
  • add method to determine model depths based on a pop grid file for fast ice #367
  • code cleanup
    • update boxslotcyl advection test to use icepack parameters #358
    • code cleanup based on nag compiler output #361
    • unify MPI interface access #365
    • combine 3 modules in ice_dyn_evp_1d to 1 module and rename interfaces to meet coding standard #367
  • scripts
    • add optional machine limit settings on total pe counts and batch wall times #349.
    • minor update to qc test validation #337
    • update qc post-process plotting capabilities #355
    • update timeseries plotting tools, add a python version with additional capabilities #345
  • build system
    • add circular dependency checks in the build scripts #336
    • refresh and improve build system including new targets and new features #354
  • update machines
    • add limits to brooks machine #351
    • travis xenial update #338
    • cori upgrade #339
    • cheyenne upgrade #341
    • badger upgrade #351
    • port to izumi #356
    • update serial job launching on conrad, gordon, onyx #369
  • update documentation

Bug fixes:

CICE Version 6.0.1

25 Jul 21:23
Compare
Choose a tag to compare

CICE version 6.0.1 is released with Icepack version 1.1.1. This is an incremental release on top of CICE6.0.0 that includes minor enhancements as well as a new, vectorized EVP kernel and an updated implementation to generate bit-for-bit global sums in diagnostic output when running the same case on different decompositions or pe counts.

Major changes:

  • new, vectorized EVP kernel #278, #318
  • refactor code to enable bit-for-bit testing #300

Enhancements:

  • update grounding scheme to apply only at depths less than 30m #325
  • add option to write restarts each timestep #312
  • update scripts to improve robustness #311, #315
  • reuse test suites #310
  • improve build #307
  • update documentation #271, #321, #324, #326
  • machine updates #272, #280, #290, #303, #304, #309, #313, #314, #319
  • make bulletin board more visible in online info #276
  • commit used to test webhooks, etc #277
  • add ability for user to set the test directory #281

Bug fixes:

  • default for --bgen failed for single tests #300
  • poll_queue.csh failed for ubuntu #300

CICE version 6.0.0

04 Dec 00:49
Compare
Choose a tag to compare

CICE version 6.0.0 is released with Icepack version 1.1.0. Icepack contains the column physics within CICE, first released as an independent software package in February 2018. Because the code refactoring associated with Icepack introduced significant differences with the previous CICE release (v5.1.2), we created an “alpha” version of CICE v6 in March 2018 while enhancements for the full v6 release were completed.

Since the v6.0.0.alpha release, we updated Icepack to version 1.1.0, implemented dynamic allocation for most arrays, enhanced all rheology options (EVP, rEVP, EAP), simplified the initialization procedure for tracers, added support for CMIP6 history output, improved the quality control and compliance tests, added new test configurations to the test suites, and automated basic testing using Travis CI. This release also includes many other improvements since version 5.1.2, most notably a new landfast-ice parameterization with tensile strength, and full vertical biogeochemistry with shortwave feedback on sea ice physics. The source code and forcing data directories have been restructured to allow extensions for other sea ice model components, and we implemented a flexible, extensible, robust interface between Icepack and the sea ice model driver. The code, scripts, development procedures and tasks/issues are documented online, and automated test reporting is available.

Major changes:

  • Update icepack #163 #188 #223 #250 #262
  • Add CMIP6 support #191 #195
  • Add dynamic allocation #194
  • Move tracer pre-processing information to namelist #196
  • Add tripole grid and test #201
  • Add bathymetry files for testing landfast ice #222
  • Revise rEVP #229 #226
  • Refactor tracer initialization to take advantage of dynamic allocation #235
  • Set EVP subcycling ndte=240 (increased from 120) #250

Enhancements:

  • Travis CI #111
  • Enhance machine support #120 #125 #153 #220 #261
  • Add queue information to scripts #143 #147
  • Add version number in netcdf output #121
  • Increase test coverage #129
  • Implement box model tests #151 #254
  • Support coupling in RASM #152 #253
  • Rename some variables and subroutines #158
  • Test the QC testing process #167
  • Add subname to each routine, for diagnostics #173
  • Move emissivity into namelist #176
  • Clean up dummy and unused variables #180
  • Add output variables for vector speed/direction quantities (ice, atm, ocn) #199
  • Compare log files in addition to restart files for regression tests #202
  • Change namelist flags, settings for consistency with Icepack #208
  • Clarify test output #209
  • Enhance scripts #215
  • Move k1 to namelist #220
  • Add HYCOM forcing for DMI #230
  • Consolidate BGC namelist flags and clean up initialization #240
  • Improve EAP efficiency #257
  • Update documentation

Bug fixes:

  • Handle effective sample size > 30 in QC script #108
  • Comment out non-thread-safe threading #111
  • Fix QC false failures and update per Roberts et al 2018 #145 #161
  • Broadcast calendar fields #146
  • Fix binary restarts #148
  • Mask restoring variables by land #149
  • Fix failing tests #163
  • Fix units for trsig in history output #198
  • Correct parameter k1 for basal grounding scheme #206
  • Debug zbgc #207
  • Fix threading problem for dfresh, dfsalt #228
  • Fix array-out-of-bounds in EAP #257

CICE version 6.0.0.alpha

22 Mar 22:42
Compare
Choose a tag to compare
Pre-release

This is a preliminary, "alpha" release for CICE version 6. There have been numerous code modifications since version 5.1.2 (2015), including a major restructuring and refactoring of the code. Many of these changes are outlined below, some with links to the code changes themselves. The primary purpose of this alpha release is to provide a DOI number for referencing this CICE repository and the current code. This version of the code has been minimally tested; a number of upgrades, new tests and other modifications to this code base will occur before CICE version 6 released for production simulations.

Important changes to the code since CICE v5.1.2

Background:

CICE v5.1.2 was tagged at r954 of the subversion trunk. The last commit to the trunk was r1134. All changes after that were merged into “colpkg” branches. The rasm_colpkg branch was the starting point for what became the new github CICE repository. Subversion revision numbers not linked below [rnnnn] were in private branches of the svn repository and later merged into the trunk.

Major changes:

  • A new fast-ice parameterization
  • Full vertical biogeochemistry
  • Independent column physics package Icepack implemented as a git submodule
  • A flexible, extensible, robust interface between the column physics modules and the driver
  • A warning package that captures diagnostic and error information from within the column physics, for printing by the driver
  • Restructured code and forcing data directories
  • An entirely new scripting system
  • A comprehensive test suite of various configuration options, with quality control and compliance tests
  • Automated testing using Travis CI
  • Automated test reporting organized by hash, version, machine and branch, for both the primary Consortium repository and user forks
  • Online documentation
  • See also updates in Icepack releases and recent changes

Enhancements:

  • Change use of ULAT to TLAT to determine what latitudes initial ice is present in set_state_var [r970]
  • Add 4d fields to history (categories, vertical ice) r1076
  • Update PIO; Universal large file support [r1094]
  • Remove calendar_type from namelist options and initialize it based on the namelist flag use_leap_years. [r1098]
  • Add fbot to history output [r1107]
  • Add shortwave diagnostics [r1108]
  • Modifications to enable ocean and ice biogeochemical coupling [r1111, r1200]
  • Remove the computational overhead of coupling BGC when it is not being used [r1123]
  • Change reference to char_len in stop_label [r1143]
  • Add grounding scheme and tensile strength #52
  • Add new namelist options for dynamics parameters #52
  • Update Icepack version in CICE (Icepack v1.0.0 #81)
  • Modifications to stress diagnostics, including principal stress normalization and internal pressure #99

Bug fixes:

  • Properly read and rotate ocean currents from 3D gx1 netcdf data r959
  • Correct diagnostic output 'avg salinity' [r1022]
  • Bug fix for padded domains. r1031
  • Use VGRD instead of VGRDi for 3D [r1037]
  • change shortwave calculation to depend on the net shortwave sum instead of cosine of the zenith angle (not BFB: in addition to the different shortwave calculation, albedo output in history is different).
    r1076
  • Correct available history fields. [r1082]
  • Fix coupled restart bug; initialize coszen; adjust calendar_type implementation [r1094]
  • Port miscellaneous changes from the various column package branches back to the trunk. BFB in the standard configuration, but the initializations and conditional changes for coszen could change the answers in other configurations. Also the flux calculation change in ice_therm_itd.F90 could change the answers in coupled simulations. 1102
  • Ensure fractions of snow, ponds and bare ice add to one r1120
  • Zero out thin-pond fraction for radiation in cesm, topo pond schemes (not BFB), and set albedo=1 where/when there is no incoming shortwave (changes the average-albedo diagnostic), and fix thin (cesm) ponds overlapping snow. [r1126, r1132]
  • Fix padding when using the extended-grid functionality, to prevent arrays out of bounds. [r1128]
  • Change dynamics halo update mask from icetmask to iceumask (fixes occasional exact restart problem and error in halo update) [r1133]
  • Add surface flooding and surface runoff terms which increase with open water area in surface condition for update_hbrine, z_salinity, z_biogeochemistry [r1161]
  • Set all tracer values to c0 over land after initialization #16
  • Remove OpenMP directives for loops that do not appear to be thread safe #25
  • Remove iblk from timer starts #98

Additional information:

Regarding logic behind the ice_therm_itd.F90 modification at revision 1102, there are two namelist
flags in play here:

update_ocn_f = true if the ocean model being coupled does not assume fresh water
and salt content of frazil ice (e.g. HadGEM, ACME); otherwise update_ocn_f = false.

ktherm = 2 includes the fresh water and salt content of frazil ice in its
calculations, consistent with update_ocn_f = true, and therefore if
update_ocn_f = false then these need to be removed from the fluxes.
ktherm = 0 and 1 do not include fresh water and salt content in their
calculations, and therefore if update_ocn_f = true then they need to be added.

Diagnostics also change at r 1130:
do not include frazil ice formation for the case ktherm=2
and update_ocn_f = F, by implementing a new variable frazil_diag. (POP
assumes fresh water and salt fluxes due to frazil ice are not included in
the coupling fluxes.) Reduces errors in the water and salt diagnostics.

Previous numbered release