[MITgcm-devel] Bug in KPP
David Ferreira
dfer at mit.edu
Wed May 27 10:05:04 EDT 2009
Hi Dimitris,
I looked into the code and did some tests with a 1d set-up. The shape of
the visc/diff
are consistent with the kpphbl, the shear/convective instabilities also
look fine to me
in terms of vertical location. I still have a small doubt about the
position of ghat, but I
need to reread the Large et al. to be sure.
Anyway, I'm going to check in the fix for the vertical indices in ri_iwmix.
cheers,
david
Dimitris Menemenlis wrote:
> David, I agree that change below will work and that, assuming KPP code
> was bug-free before kpp_routines.F version 1.21, this is the correct
> fix. If it's not too much trouble, as a further sanity check for
> vertical mismatch prior to 1.21, could you also check to see that
> convective or shear instabilities trigger increase in K at the right
> level and that mixed layer depth increase in K is consistent with hbl
> depth.
>
> For mixed layer depth, I would run your configuration forward for a
> few time steps, set KPPwriteState=.true. in data.kpp, dumpfreq=deltat
> in data, and I would compare the vertical profiles of KPPdiffkz and
> KPPviscAz to KPPhbl.
>
> For shear or convective instabilities in the interior, as you are
> unlikely to have any of those in your model configuration after
> spin-up, I would generate instabilities artificially by adding a bit
> of salt or cooling a few random points, and then checking that
> KPPdiffkz and KPPviscAz kick in at the correct level to remove these
> instabilities.
>
> The above tests are probably (hopefully) superfluous but if they are
> not too much trouble to run, it would not hurt to have a fresh pair of
> eyes looking at this issue one more time.
>
> Did Hong get back to you regarding your horizontal viscosity question?
>
> Cheers, Dimitris
>
> On May 26, 2009, at 7:08 AM, David Ferreira wrote:
>
>> 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
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list