#1128 closed Bug (fixed)
Agrif sponge
Reported by: | jchanut | Owned by: | nemo |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | AGRIF | Version: | v3.4 |
Severity: | Keywords: | v3.4 | |
Cc: |
Description
I guess that the definition of sponge coefficients does not account for possible regional domain open boundary corners.
Moreover, as it is defined, the sponge layer is active all along the regional domain boundaries. This implies that even if the outermost points of the zoom domain are in land, the sponge is still active up to 6 points inside. This means that you may have have unwanted damping in some bays close to the regional domain boundaries.
Jerome
Commit History (0)
(No commits)
Attachments (1)
Change History (13)
comment:1 Changed 10 years ago by jchanut
comment:2 Changed 10 years ago by smasson
Can you gave us a little more details about your first sentence? I didn't really understood your point :-)
comment:3 Changed 10 years ago by jchanut
That's not really clear, indeed.
The "zlocalviscsponge" array (which defines the sponge viscosities) is reset for each open boundary. One should have maybe something like that:
ztmp = visc_tra * ( ispongearea-jj ) * z1spongearea
zlocalviscsponge(ji,jj)=Max(zlocalviscsponge(ji,jj),ztmp)
to account for bdy corners. Otherwise you may have a discontinuity in the coefficient
Hum. May be more easy in French ;-)
Changed 10 years ago by jchanut
Here is what I think would be the correct way to do. Seb: I wait for your approval.
comment:4 Changed 10 years ago by jchanut
Possible patch for nemo_3_5_alpha attached. Seb: waiting for your approval.
comment:5 Changed 10 years ago by smasson
I carefully looked at your code.
I liked it and It looks ok to me expect 3 points:
- when you compute the arrays for the dynamics (spe1ur2 and spe2vr2) you use zlocalviscsponge that was multiplied by visc_tra or in this part of the code it should be multiplied by visc_dyn
- there is a small typo
IF (( .NOT. spongedoneT ).OR.( .NOT. spongedoneT )) THEN
should be
IF (( .NOT. spongedoneT ).OR.( .NOT. spongedoneU )) THEN
- lk_spdone should be named ll_spdone
comment:6 Changed 10 years ago by jchanut
- Resolution set to fixed
- Status changed from new to closed
comment:7 Changed 7 years ago by nicolasmartin
- Keywords agrif removed
comment:8 Changed 7 years ago by nicolasmartin
- Keywords nemo_v3_4* added
comment:9 Changed 7 years ago by nicolasmartin
- Keywords sponge removed
comment:10 Changed 5 years ago by nemo
- Keywords release-3.4* added; nemo_v3_4* removed
comment:11 Changed 5 years ago by nemo
- Keywords release-3.4* removed
comment:12 Changed 14 months ago by nemo
- Keywords v3.4 added
"6 points inside" is valid for a refinement factor of 3... That's rather "2 coarse grid points".