Hi-
I am working on a ROMS model for a large freshwater lake and have recently implemented sea ice in my model. I've noticed some odd behavior while testing things out in a simple 5 by 5 by 20 grid. My model run begins in early June (latitude 48 N). I've set minimum ice concentration to 0.00. Despite the lack of ice a model run with sea ice implemented and a model run without sea ice implemented show distinctly different behavior during the first summer. I'm thinking that they should look identical until the run with sea ice is actually affected by ice (i.e. the first winter). Unlike the run without ice, my run with sea ice shows little or no momentum transfer from winds to surface water until ice forms in the winter (?). The model run with ice shows relatively high surface water temperatures during the first summer, but relatively little of this energy is translated to deeper waters. Also, you do not see the fall turn-over driven spike in temperature in deeper water which does occur in the run without ice.
Any suggestions as to why there is so little wind-surface water momentum transfer despite the supposed lack of ice during the beginning of the run? Or what else might be causing the weird behavior I'm seeing?
Thanks!
Brooke
Sea Ice Question (wind-water momentum transfer?)
By which sea ice I'm using I assume you mean code version? I'm using ROMS 3.1. The header in the ice.in file says 'version 2.0' though I'm not sure if that's referring to the version of the sea ice code or is a remnant of when the sea code was included with ROMS 2.0.
I received the code with sea ice module from Jay Austin who believes he obtained it from you, Kate.
I hope that's the info you're looking for!
I received the code with sea ice module from Jay Austin who believes he obtained it from you, Kate.
I hope that's the info you're looking for!
Re: Sea Ice Question (wind-water momentum transfer?)
The version of the sea ice code that I have did have a bug in the wind/open water momentum transfer, but only if you're using BULK_FLUX to calculate the wind stress for the open water from wind speed.
In ice_vbc.F, sustr_aw and svstr_aw are assumed to be in N/m^2 and are divided by rho0 to get to the needed m^2/s^2 for the total (ice and wind) stress on the water. I assume that when one is reading in NCEP (or other) fluxes, the stress is given N/m^2 and this is fine. However, in bulk_flux.F, where the sustr_aw and svstr_aw are set if you're not reading in stresses:
sustr(i,j) is already in units of m^2/s^2 (the Taux that it's calculated from is in N/m^2). So, if you're using the sea ice and calculating the open water stress from bulk_flux.F, the open water portion of the total stress on the water will be too low by a factor of rho0. The wind stresses on the ice are still fine.
I've just simply fixed this by multiplying sustr_aw by rho0 in the bulk_flux.F code so that I didn't have to mess with the ice code. Paul Budgell knows about this and (I believe) has fixed it in his current release. I don't know what version you have, but this sounds like it could be the problem.
Good luck.
In ice_vbc.F, sustr_aw and svstr_aw are assumed to be in N/m^2 and are divided by rho0 to get to the needed m^2/s^2 for the total (ice and wind) stress on the water. I assume that when one is reading in NCEP (or other) fluxes, the stress is given N/m^2 and this is fine. However, in bulk_flux.F, where the sustr_aw and svstr_aw are set if you're not reading in stresses:
Code: Select all
!
! Compute kinematic, surface wind stress (m2/s2).
!
cff=0.5_r8/rho0
DO j=JstrR,JendR
DO i=Istr,IendR
sustr(i,j)=cff*(Taux(i-1,j)+Taux(i,j))
# ifdef MASKING
sustr(i,j)=sustr(i,j)*umask(i,j)
# endif
# ifdef ICE_MODEL
sustr_aw(i,j) = sustr(i,j)
# endif
END DO
END DO
I've just simply fixed this by multiplying sustr_aw by rho0 in the bulk_flux.F code so that I didn't have to mess with the ice code. Paul Budgell knows about this and (I believe) has fixed it in his current release. I don't know what version you have, but this sounds like it could be the problem.
Good luck.