-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dynamics U points are active when T points are not #925
Comments
I'm not sure this is a bug. The point is you may have a change in ice concentration in a cell, and we have a region around the edge of the ice pack where we still compute the velocities so we have something to advect the ice in our out. @eclare108213 can expand on this. |
That's true, we do have a row of cells around the edge of the pack to allow advection there. So I guess the possibility is that there's a cell in that row, which is empty of ice, but it's neighboring cells receives ice by advection and therefore the U point between them becomes active. That would make sense. But when the ice T- and U-masks are defined, I don't think this should be true. @TillRasmussen is this coming up immediately after new ice masks are defined, or later? |
I added a check just after the umask/iceXmask was calculated. See branch |
@eclare108213, @dabail10 I have looked a bit more at this and It extends a bit more than just the t and u mask. It also means that stresses (indirectly from calculations of seabed_stress and strength) and velocities (step_u) are based on different ice concentrations. |
Just getting back to this one. Do we have a fix? |
The easy fix is to replace aice_init with aice in ice_dyn_evp.F90, ice_dyn_eap.F90 and ice_dyn_vp.F90. I can make the change and make a pull request. Then we can take it from there. |
According to the formulation of the U points should not be the active when T mask is not. This is the case and the reason is that aice_init is used to find the ice concentration at U points and aice is used to find the ice concentration at T points. This is inconsistent and I think that is a bug. The fix is easy ensure that the same ice concentrations are used in the evp, eap and the vp subroutines.
My guess is that it is aice that should be used but I would like an opinion from others before I change it.
An example where this issue occur is the test.
freya_gnu_smoke_gx3_8x2_diag24_medium_run1year_debug.baseline_dump_debug
It happens in many other test as well.
Som output
aiX(i,j) , Xmass(i,j) ! average of mass and ice concentration in U point
0.10282E-02 0.62235E-01
The following values are the following points
(i-1, j+1), (i, j+1), (i+1, j+1)
(i-1, j ), (i, j ), (i+1, j )
(i-1, j+1), (i, j+1), (i+1, j+1)
aice
0.42316E-04 0.42015E-03 0.41475E-04
0.95482E-04 0.18367E-03 0.24394E-03
0.13911E-05 0.61725E-05 0.13087E-04
aice_init
0.44378E-04 0.44704E-03 0.35680E-02
0.96238E-04 0.18468E-03 0.24933E-03
0.14013E-05 0.62042E-05 0.13143E-04
aiX is the average of the 4 upper right points ((i, j+1), (i+1, j+1) (i, j ), (i+1, j )) and T uses
The text was updated successfully, but these errors were encountered: