See #515, e.g.
... it reduces the potential for errors if we only have one subroutine for calculating ice mass. Otherwise, it ends up being an inline code block multiple places in the code and we are potentially calculating ice mass differently in different places. This actually is already the case. In the neutral_drag_coeffs subroutine in 'icepack_atmo.F90', ice freeboard and draft are computed from ice mass neglecting pond mass entirely and assuming a prescribed ice density. I think that the CICE dynamics also neglects pond mass (perhaps that is fair when the ponds are 'virtual').
... pond mass has been neglected ... That was originally done for conservation purposes in coupled systems because the ponds were all virtual; the topo scheme is inconsistent in that regard.
Originally posted by @eclare108213 in #515 (comment)