boxslotcyl failure with C grid and l_fixed_area=T
JFLemieux73 opened this issue · 6 comments
The error appears right away (istep1=1):
New mass < 0, i, j = 81 81
Old mass = 1.00000000000000
New mass = -0.530255960863720
Net transport = -1.53025596086372
(print_state) negative area (open
(print_state) istep1, my_task, i, j, iblk: 1 0 81 81 1
(print_state) Global block: 1
(print_state) Global i and j: 80 80
(print_state) Lat, Lon (degrees): 78.4107863491870 -149.439217124369
It looks here that the error is for i=j=80...is there ice at this point?
Hum...for most of the points there is no ice (aice=0). But the velocitites are defined everywhere. It is probably a question of mask that is not right. I guess we would never see that in more realistic test cases (with kdyn=1).
Quick tests:
C grid, l_fixed_area=T : fail
C grid, l_fixed_area=F : pass
B grid, l_fixed_area=T : pass
B grid, l_fixed_area=F : pass
I have looked at the velocity fields in the netcdf file (initial conditions). Compared to uvelE, uvel has an extra column: uvel(77,j) ne 0 while uvelE(77,j)=0. Same idea for vvelN compared to vvel: vvel(i,77) ne 0 while vvelN(i,77)=0.
In ice_init the velocities are defined on the B grid (uvel, vvel). Is it possible also that some velocities are defined on land? The first ocean cell is tmask(4,4)=T. The last one is tmask(79,79)=T.
This is now fixed. See PR #833 for details.