[MITgcm-devel] Bug in KPP
Chris Hill
cnh at mit.edu
Thu May 28 09:54:12 EDT 2009
David,
Is this equivalent to having a complete convective mixing step in
addition to KPP?
Chris
David Ferreira wrote:
> Dimitris,
> While we are talking about KPP, I found a very nasty behavior in it and
> you may be interested.
> In attachment, I put a figure of the zonal and time averaged temperature
> and hbl
> in a channel run (it is eddy-esolving with a constant sinusoidal zonal
> wind and a restoring
> to a linear SST profile). The top panel is the default behavior of KPP.
> The hbl is very
> different from south to north with a sharp transition in the middle, it
> reflects the
> heating/cooling pattern at the surface. But, more worrying are the
> static instabilities
> in the middle of the channel near 150 m depth (it's a 2000 days average
> !). Again, it is
> because of the heating at the surface. In such case, KPP says it is
> stable and the hbl is
> limited by the minimum of the Ekman and Momin-Obukhov depth. So even if
> Ekman
> currents are overturning the isotherms and the critical bulk Richardson
> is not reached
> before 200 or 300 m depth, the bl is very shallow with static
> instabilities below. BTW,
> even, boosting the convective coefficients in the interior doesn't not
> remove the
> instabilities.
>
> The bottom panel is without limit on the hbl under stable conditions. It
> looks much nicer.
> Danabasoglu et al. (2005) mentioned they don't apply those limits in
> CCSM. They didn't
> say why but I can imagine. You might think that the channel is a weird
> set up, but basically
> this problem is going to arise each time Ekman currents are in the same
> direction as the
> SST gradient under stable conditions.
>
> Anyway, I'm going to put a run-time flag to be able to choose to apply
> those limits or not.
> david
>
>
> Dimitris Menemenlis wrote:
>> David, thank you for taking another look at vertical KPP profiles and
>> forfinding and fixing the riwmix bug.
>>
>> The ghat term is supposed to be active in convectively unstable mixed
>> layers but, if I remember correctly, turned off for purely wind-driven
>> mixing.
>>
>> Dimitris Menemenlis
>> 818-625-6498
>> -----Original Message-----
>> From: David Ferreira <dfer at mit.edu>
>> Date: Wednesday, May 27, 2009 7:06 am
>> Subject: Re: [MITgcm-devel] Bug in KPP
>> To: "MITgcm-devel at mitgcm.org" <MITgcm-devel at mitgcm.org>Reply-To:
>> "MITgcm-devel at mitgcm.org" <MITgcm-devel at mitgcm.org>
>>
>> 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
>>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mi
>>
>> _______________________________________________
>> 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