Skip to content

Releases: CICE-Consortium/CICE

CICE6.2.0

08 Apr 03:07
9b51179

Choose a tag to compare

CICE6.2.0 is a major update of CICE6.1.4 from December, 2020. It includes Icepack1.2.5. This release includes updates to the default model initial conditions, updates to the default JRA55 forcing, and an update gx1 ocean mixed layer forcing file. It also includes an update to the time manager and a tool to generate JRA55 forcing data offline. A probabilistic grounding scheme was also added to the landfast ice implementation. Several minor bug fixes were also included and the default emissivity value was changed to 0.985.

This implementation should generate the same climate as prior versions in coupled systems. However, the emissivity change should be noted in particular. In addition, there were changes to the time manager that could impact how models are coupled. In particular, the prognostic time manager variables are now myear, mmonth, mday, and msec and the timestep counter is diagnostic. These changes are documented in the user guide, https://cice-consortium-cice.readthedocs.io/en/cice6.2.0/user_guide/ug_implementation.html#time-manager-and-initialization.

The standalone model results are different from prior versions due to the new initial condition and forcing even though the climate is similar.

Major changes:

  • Update the Time Manager #566, #586
  • Add probabilistic grounding scheme for landfast ice #565 and update landice tests #586
  • Update the gx1 initial condition file based on the JRA55 spinup to Jan 1, 2005 and update the gx1prod namelist setup #586

Bug fixes:

  • Fix hmix minimum value #586
  • Fix halo fill for padded blocks, fix some uninitialized data #579
  • Fix reading of mixed layer ocean model dataset #578 and update gx1 SOM dataset #586
  • Use cell-centered ice velocity for high frequency wind stress calculation #576
  • Proper configuration of zsalinity parameterization #549
  • Remove unused private variable for OpenMP #561
  • Correct input slices and time interpolation of JRA forcing for multi-year runs #562

Enhancements:

  • Update 1D EVP kernel #561
  • Improve maxblocks internal computation and add some additional debugging checks as well as a namelist flag #587
  • Add JRA55 dataset generation tool and add documentation #582
  • Update Icepack to newer version #580, #590
  • Change landfast ice parameter value to published value #574
  • Adjust emissivity to 0.985, set default NBGCLYR=1 #553
  • Add test for zsalinity parameterization #548
  • Add automated Github Actions testing on Pull Requests and Pushes to master and releases #555, Update github Actions automated testing script #586
  • Update color labels in test reporting script #586
  • Update conda macos port #590
  • Port to Compy #581

Documentation

  • Add documentation for the JRA55 dataset generation tool #582
  • Update landfast ice documentation #574
  • Update readthedocs requirements for bibtex #545
  • Update copyright year #570 #571

CICE6.1.4

18 Dec 19:35

Choose a tag to compare

CICE6.1.4 is a minor update of CICE6.1.3 from August, 2020. It includes Icepack1.2.4. This release includes a new implicit solver for the VP rheology as well as a couple minor bug fixes in Icepack and in the box2001 forcing case. It also includes a couple changes to the namelists and updates to documentation.

Major changes:

  • Add an implicit solver for the VP rheology based on Picard iteration. This is a significant new option for solving the dynamics. It includes several new namelist variables and is triggered by setting kdyn=3 in the CICE namelist. The implementation is documented in the user guide and in the Pull Request. This is an initial version and is still being fully validated. #491

Bug fixes:

  • Update Icepack to Icepack1.2.4. This includes two bug fixes. First, an extra and slightly different value for the floeshape parameter was removed. Now floeshape is defined consistently throughout as 0.66. This will change answers slightly but only for fsd cases. Second, the convergence check of Z/L, ustar, tstar, and qstar in atmo_boundary_layer was fixed. This may change answers but shouldn't affect science. #536
  • Fix an error in the masked halo update that was introduced in #491. This bug was on master only for 3 days, and it only affects padded decompositions. #517
  • Fix computation of stresses used in box2001 forcing by multiplying by ice concentrations correctly. This changes answers but only for box2001 forcing cases. #525, #526

Enhancements:

  • Update the verbose log output to improve formatting and fix a few issues #540
  • Move sw_redist, sw_frac, sw_dtemp from the thermo to the shortwave namelist. Prior namelist files may not be backwards compatible #540
  • Update the timeseries plotting scripts, timeseries.csh and timeseries.py to improve data extraction from the log file #539
  • Add floediam and hfrazilmin to CICE namelist #536
  • Reintroduce upwind advection. This had been deprecated a few months ago. #535
  • Fix undefined tmpstr2 in ice_init #532
  • Check additional return codes in the bfbcomp testing tool to improve test reporting #532
  • Remove keys_ CPPs. These were being used to define the global MPI communicator inside CICE. The MPI communicator should be passed thru the init_communicate interface instead. This may affect Oasis, NEMO, and other applications. #532
  • Add 4 new distinct shortwave variables in the call to scale_fluxes. #515
  • Update machine ports. Add -no-wrap-margin for ECCC machines compiling with intel #522. Add machine freya #517.

Documentation

  • Add porting links to the quickstart user guide #532
  • Add aliases documentation to user guide #532
  • Remove CPP keys_ documentation #532
  • Add documentation for the implicit vp solver #491
  • Fix ice strength documentation #513
  • Update sphinx requirements to fix a recent change (pushed directly to the release branch)

CICE6.1.3

27 Aug 22:17
7888bc8

Choose a tag to compare

CICE6.1.3 is a minor update of CICE6.1.2 from June, 2020. It includes Icepack1.2.3. This and the Icepack tag fix a couple of minor bugs in the old aerosol scheme and the snow melt budget. The upwind advection scheme has been deprecrated and the shortwave redistribution has been refactored to allow redistribution in both the Bitz/Lipscomb and mushy schemes. Several other minor features were added and documentation was updated.

Major changes:

Bug fixes:

  • Update Icepack which includes a snow melt bug fix (CICE-Consortium/Icepack#328) and a fix to aerosols (CICE-Consortium/Icepack#330). These fixes will probably change answers but not science. #499 #511
  • Remove iblk from write statements; fix cpp NEMO_IN_CICE. This does not affect answers. #463
  • OMP bug fixes. This fixes some failing BGC tests with a PGI compiler, but does not change answers. #478

Enhancements:

  • Deprecate upwind advection option #508
  • Fix bug in bgc initialization when starting from ice state but no bgc #507
  • Generalize sw_redist implementation in Icepack (CICE-Consortium/Icepack#326), so it can be turned on with both ktherm=1 (Bitz/Lipscomb) and ktherm=2 (mushy-layer). By default, the sw_redist is now off. In the prior implementation, it was on with ktherm=1 and off with ktherm=2. This change is bit-for-bit with prior results if the namelist are set consistently. #497
  • Compute and add ability to send shortwave penetration by radiation category #495, #500
  • Update plots to use scientific notation #506
  • Add ability to define some cice options by default using .cice_set and add some warning messages when multiple cice_setup options conflict. Change results reporting and code coverage so it clones with --depth=1 only #494
  • Clean up and document C Preprocessor (CPP) flags #490, #496
  • Add restart_coszen namelist to write extra field to restart files #480
  • Addition of fswthru by components #479
  • Add Pstar and Cstar to namelist #475 #477
  • Verbose diagnostic output for model configuration #468 #488, #494
  • Allow for read of tlat, tlon, anglet with popgrid #463
  • Optionally rotate wind/stress from to computational grid (from true north). Set via new namelist, rotate_wind, with default set to true. This default is consistent with prior implementation. #473
  • Changes to the nuopc/dmi driver. Allow for coupling to both nemo and hycom in the nuopc/dmi driver #474.
  • Changes to the nuopc/cmeps driver #478, #480, #500
  • Update the Makefile to support compilation of CICE into a library, use of external ESMF, and DEPFILE #478
  • Add MACHINFO and ENVINFO to env files #466
  • Add lcov code coverage tool #467 #470

Documentation

  • Update version number #511
  • Update documentation of box2001 test #510
  • Update citation info #487
  • Update lcov and env documentation #476
  • Update documentation in general

CICE6.1.2

10 Jun 17:37
f31cfc9

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

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

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

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

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

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

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