Hi everyone
After working with the ROMS sea ice model for some months now, I have made some changes to the official ROMS code in order for the sea ice model to work correctly. All my changes are available at https://github.com/taleMET/roms-seaice/tree/develop. A summary of the changes can be found below:
1. Allocation and initialization of ice model boundary states for all ice state variables are moved to ROMS/Modules/mod_boundary.F. Read of boundary data for ice state variables is added to ROMS/Nonlinear/get_data.F and ROMS/Nonlinear/set_data.F, and the boundary state variables are added to the varinfo file.
2. The ice strength Pstar is now read from the ice.in file. Without this, the ice was completely slushy and would move almost only dependent on the ocean currents.
3. For the closed lateral boundary condition for internal ice temperature (T_i) the temperature is set to be the same as in the point next to it, instead of using the computed enthalpy and the ice thickness. This leads to a more stable boundary, where without this, some blobs of warmer ice would come in from the boundaries.
4. In the ice bulk flux scheme, the transfer coefficients for sensible heat (Ch) and latent heat (Ce) are set to constants (1.75E-3_r8). This is consistent with the code developed by Kate earlier. In the previous implementation (before my changes), these constants are set to Ch=Wstar(i)*Tstar(i)/(-Wspeed*delT(i)+0.0098_r8*blk_ZT(ng)) and Ce=Wstar(i)*Qstar(i)/(-Wspeed*delQ(i)+eps). However, this would lead to very large numbers as the denominator could possibly be 0 (or a very small number). I also think these equations might be wrong, and that the intent was something else when this was implemented.
Let me know if there are any questions or comments about this.
Tale