[MITgcm-devel] ggl90_calc
Martin Losch
Martin.Losch at awi.de
Mon Nov 2 10:03:23 EST 2009
David,
I think that the ALLOW_GGL90_SMOOTH and ALLOW_GGL90_HORIZDIFF should
really be exclusive options. The first (your addition) is a 9-point
running average smoother, whereas the HORIZDIFF is in effect a 5-point
smoother (but maybe a bit more physical).
what does mskCor do (as far as I can see, it's 1 everywhere)?
what's the rationale behind dividing by TKEPrantlNumber?
Martin
On Nov 2, 2009, at 2:36 PM, Martin Losch wrote:
> Hi Jean-Michel and David,
>
> here are my comments (after a relatively quick glance);
> On Oct 31, 2009, at 4:31 AM, Jean-Michel Campin wrote:
>
>> Hi Martin and David,
>>
>> I look at S/R ggl90_calc.F (more precisely, to the implicit diffusion
>> of TKE) and noticed few thing that I don't like too much
>> (at least misleading, but some might also be more like a bugg).
>>
>> It's all checked-in as comments in the code ("C- jmc:"):
>>> danton{ggl90}% egrep '^C- jmc:' ggl90_calc.F
>>> C- jmc: concerned about missing a deltaT since gTKE is already the
>>> future TKE.
> I agree, there is a deltaT missing. By default, the horizontal
> mixing is turned off, and nobody ever noticed that it does not work
> properly, maybe we don't even _want_ horizontal diffusion?
>>> C- jmc: concerned that a(k=2) should always be zero
>>> C- jmc: concerned that c(k) from k=kLow to k=Nr should always be
>>> zero
>>> C- jmc: this is dangerous since klowC could be zero if land column
>>> C- jmc: concerned about conservation when a or c are changed after
>>> computing b
> I agree, the implicit solver does not look clean (I remember that I
> changed things around a lot before I got them working properly, but
> that does not mean that they are actually correct). Maybe it's a
> good idea to replace this code with a call of S/R solve_tridiagonal,
> as you have already tried? I do not think that we can use impldiff
> (which would even be better), because GGL90TKE is defined at the
> cell interfaces (and not the cell centers as theta/salt/uVel/vVel).
> What do you think.
>>> C- jmc: would be much better to update the provisional TKE (i.e.
>>> gTKE) at k=2
> I don't understand this part, We do I want to impose the surface
> boundary conditions below the surface?
>
> M.
>
> PS. More comment for David:
> I don't understand this:
>> C GGL90 needs convection turned on, but keep warning message
>> IF (cAdjFreq.NE.0. .OR. ivdc_kappa.NE.0. ) THEN
>> WRITE(msgBuf,'(A)')
>> & 'GGL90_CHECK: WARNING: Some form of convection has been
>> enabled'
>> CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
>> & SQUEEZE_RIGHT , myThid)
>> ENDIF
>
> Do you want to use GGL90 along with convective adjustment or the
> "implicit diffusion" convection scheme? I think that the stop
> statement should go back in and that the comment should read
>> C GGL90 needs other types of parameterized convection (i.e.
>> convective adjustment and "implicit diffusion") to be turned off
>
> Also it would be nice if you could include some comments about the
> different choices for the mixing length. Would be nice if I know
> what choices I have and what they mean (instead of just 0-3).
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list