[MITgcm-devel] stevens boundary conditions

Martin Losch Martin.Losch at awi.de
Mon Dec 12 09:34:38 EST 2011


Hi Jean-Michel,

rather than introducing another df-field, I decided to apply the maskInC directly in the gmredi routines (gmredi_rtransport and gmredi_calc_diff). All the changes that I did to implement option 2 did not change any results, so I am ready to check this in, if you do not object.

Martin

Index: generic_advdiff/gad_advection.F
===================================================================
RCS file: /u/gcmpack/MITgcm/pkg/generic_advdiff/gad_advection.F,v
retrieving revision 1.69
diff -r1.69 gad_advection.F
810c810
<      &        )*rkSign
---
>      &        )*rkSign*maskInC(i,j,bi,bj)
Index: generic_advdiff/gad_calc_rhs.F
===================================================================
RCS file: /u/gcmpack/MITgcm/pkg/generic_advdiff/gad_calc_rhs.F,v
retrieving revision 1.58
diff -r1.58 gad_calc_rhs.F
522c522
<           fVerT(i,j,kUp) = fVerT(i,j,kUp) + af(i,j)
---
>           fVerT(i,j,kUp) = fVerT(i,j,kUp) + af(i,j)*maskInC(i,j,bi,bj)
718a719
> C     for Stevens OBC: keep only vertical diffusive contribution on boundaries
724,725c725,726
<      &   *( (fZon(i+1,j)-fZon(i,j))
<      &     +(fMer(i,j+1)-fMer(i,j))
---
>      &   *( (fZon(i+1,j)-fZon(i,j))*maskInC(i,j,bi,bj)
>      &     +(fMer(i,j+1)-fMer(i,j))*maskInC(i,j,bi,bj)
730c731
<      &                  )
---
>      &                  )*maskInC(i,j,bi,bj)
Index: gmredi/gmredi_calc_diff.F
===================================================================
RCS file: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_calc_diff.F,v
retrieving revision 1.10
diff -r1.10 gmredi_calc_diff.F
58a59
>      &           *maskInC(i,j,bi,bj)
64a66
>      &           *maskInC(i,j,bi,bj)
75a78
>      &           *maskInC(i,j,bi,bj)
81a85
>      &           *maskInC(i,j,bi,bj)
Index: gmredi/gmredi_rtransport.F
===================================================================
RCS file: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_rtransport.F,v
retrieving revision 1.16
diff -r1.16 gmredi_rtransport.F
133c133
<      &      - _rA(i,j,bi,bj)
---
>      &      - _rA(i,j,bi,bj)*maskInC(i,j,bi,bj)
137c137
<      &      - _rA(i,j,bi,bj)
---
>      &      - _rA(i,j,bi,bj)*maskInC(i,j,bi,bj)
167a168
>      &        *maskInC(i,j,bi,bj)
184a186
> c    &    *maskInC(i,j,bi,bj)


On Dec 12, 2011, at 3:03 PM, Jean-Michel Campin wrote:

> Hi Martin,
> 
> I did some tests to check that seaice obcs were clean
> (but don't remember how I did them !),
> and did not pass unless I put useKPP=F (would need to
> investigate within KPP code how to make diffusivity & viscosity
> independant of value from the other side). I think GGL90
> might also have similar issues but should be easier to fix.
> 
> Cheers,
> Jean-Michel
> 
> On Mon, Dec 12, 2011 at 01:34:39PM +0100, Martin Losch wrote:
>> On Dec 12, 2011, at 12:41 PM, Martin Losch wrote:
>> 
>>>> (in fact, in seaice_obcs test.exp. 
>>>> which is using KPP, some of the western OB values already 
>>>> influence the Eastern side).
>> 
>> How do you see that? Do I need to modify the exp to see that? Or is the flag OBCS_uvApplyFac enough?
>> 
>> M.
>> 
>> 
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list