Skip to content

CICE Recent Changes

Tony Craig edited this page May 20, 2024 · 127 revisions

Important changes to the code on the master branch since the last numbered release

Date of last update: 20 May 2023

By: T. Craig

Last numbered release: CICE 6.5.0 (Oct 30, 2023)

Important NOTES

Major Changes

  • Update the 1D evp solver. This solver compresses the CICE dynamics data to 1D and uses OpenMP to parallelize the dynamics solver. #895

Bug fixes

Enhancements

  • Refactor and clean up grid variables in dynamics. #921
  • Update calculation of uvel and vvel in evp dynamics, remove extra calculations and update documentation. #953
  • Add vorticity as a diagnostic quantity for B and C grids. #924
  • Add sndmassdyn and dvsdtd diagnostic quantities. #940
  • Refactor CMIP history variables, add avg_ice_present and mask_ice_free_points as history field attributes to improve code reuse. #906
  • Allow per stream suffix for history filenames. #912
  • Update PIO and netcdf error checks. #927
  • Update PIO and netcdf formats (cdf1, cdf2, cdf5, hdf5, pnetcdf1, pnetcdf2, pnetcdf5, etc), add new namelist controls for hdf5 compression and chunking, add namelist for PIO rearranger, add namelist for PIO tasks/root/stride settings. Add CPPs NO_CDF2, NO_CDF5, NO_HDF5 to allow compilation with older versions of the netcdf library or versions that don't include some features. #928 #938 #956
  • Support disabling coordinate variables in history files. #935
  • Add checks to ensure individual history streams have unique filenames #943
  • Update nprocs implementation to compute number of tasks automatically with nprocs=-1, improve max_blocks estimate when max_blocks=-1. #949
  • Update calculation of max_blocks=-1, compute exact number of blocks per task and allow that to vary by task. Fix a couple bugs related to having different numbers of max_blocks per task. #954
  • Updated single channel test's use of Fortran "huge", switch to local large values due to problems with MPI. #922
  • Add reusuable subroutine ice_memusage_allocErr to check allocation and deallocation errors #954
  • Update Icepack version. #913 #955
  • Update opticep unit tests to use latest main code. #913
  • Update github actions testing related to MacOS upgrade. #922 #948
  • Update DMI nuopc driver. Add missing logical variable timer_states. #910
  • Update cmeps nuopc driver. Update dealloc_grid. #911. Update single column formulation. #926. Fix ice_mesh_mod grid defaults. #929. #957 Update idate0 and date init settings. #936. Fix missing j loop indices and variable return code. #944
  • Port to Carpenter. #939 #942
  • Port to Gadi. #947

Documentation

  • Split the infrastructure and dynamics developer guide documentation, add coding standard section. #913
  • Update Pull Request template to request additional details about PR. #931
  • Update documentation in general. #934 #955