[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