[MITgcm-devel] Bug in KPP
Dimitris Menemenlis
menemenlis at jpl.nasa.gov
Tue Jun 23 14:24:46 EDT 2009
> The top levels have delZ = 10., 10., 10., 12., 17., 20., 22.,
> 25., 28., 32., 36., ....
> it is fairly standard, I think.
10-m surface level is fairly standard for us but original KPP scheme
was derived and adjusted for surface levels of 1 to 4 m. The point is
that, logarithmic near-surface current profile, shear will be greater
relative to the top 1-m velocity rather than relative to top 10-m
velocity.
> The top panel has permanent static instabilities over the top 200 m
> (it's a 10000-day average
> and the top 200-m are well resolved with many levels).
I agree that the inversion is unphysical but that still does not
(necessarily) mean that the larger scale structure for the Ri_c case
would be closer to observations (if they existed) than for the one
without.
> It's because there is return Ekman current at the bottom which
> overturns
> the isotherm. It's
> exactly analogous to what happens at the surface. But there is no
> bottom BL, and
> KPP doesn't do convective adjustment well, so the static instability
> remains...
Good point, I hadn't thought of that.
> I have already done the change. It's just a flag. And by default, it
> doesn't change the
> behavior of KPP.
Thanks. I did see your check-in. It's very useful to have that flag
in place.
>> 1) adjustment of the critical bulk Richardson number Ri_c and
> My e-mail was really so unclear ?
> The problem is exactly that the HBL is not determined by the bulk
> Richardson
> number under stable conditions (i.e. by KPP definition, a warming at
> the
> surface). In
> such case, it's overridden by the min(Ekman length, Monin-Obukov
> length).
You are right. I forgot that Ri_c does not get used in stable
conditions.
> What the flag I introduced does, is to bypass this limit. Then,
> whatever
> the air-sea heat-flux,
> the critical bulk Richardson number determines the BL depth.
So that would be kind of more similar to a Kraus-Turner or Price-
Weller-Pinkel type mixed layer formulation then, with exception of non-
local transport term?
My hunch is that problem is due to surface level being too thick. If
you have time and motivation to carry out one or two more channel
experiments, I would suggest the following:
1) change the vertical grid spacing so that top level is 1-m thick.
2) try resurrecting option KPP_ESTIMATE_UREF in KPP_OPTIONS.h
(not sure if it still works as it hasn't been exercised in some 10
years though ... )
D.
More information about the MITgcm-devel
mailing list