[MITgcm-devel] Bug in KPP

David Ferreira dfer at mit.edu
Tue May 26 10:08:12 EDT 2009


Dimitris Menemenlis wrote:
> What I am not clear on is whether the correction for mismatch should 
> occur
> in ri_iwmix in transferring KPPvisc and KPPdiff to vdfiff or in
> kpp_calc in transferring vddiff back to KPPvisc and KPPdiff
>
> there is a possiblity that both of these options are wrong depending on
> whether vddiff is defined at the tracer points or at the interface?
I think the problem is in ri_iwmix. vddiff is defined at the interface (with
k=0 corresponding to the air-sea interface), so the lines in ri_iwmix
should be changed from:
diffus(i,ki,3) = diffusKzT(i,ki)+fcon*diftcon+fRi*dift0
to
diffus(i,ki,3) = diffusKzT(i,ki+1)+fcon*diftcon+fRi*dift0

The reverse copy of diffus/vddiff back into diffusKzT in kpp_calc.F 
looks OK to me.

david


>  D.
>
> On May 25, 2009, at 8:19 PM, David Ferreira wrote:
>
>> Hi,
>> I found a bug in KPP. The bug comes in subroutine Ri_iwmix when KPP
>> is used with variable vertical diffusivities (for example with 
>> Bryan-Lewis).
>>
>> Is anybody concerned by this ? Dimitris, you use KPP and Bryan-Lewis
>> in the cube-sphere, no ?
>> Cheers,
>> David
>>
>>
>> In case you care, the problem appears because the diffusivities in KPP
>> are carried
>> in a Nr+2 long vector with k=0 at the surface while the diffusivities in
>> the normal
>> form of the MITgcm are in a Nr-long vector with k=1 at the surface. But,
>> in Ri_iwmix,
>> the 2 are matched with the same k...
>> _______________________________________________
>> 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