[MITgcm-devel] mom_calc_visc.F

David Ferreira dfer at mit.edu
Tue Mar 10 22:14:09 EDT 2009


It probably means that the coefficient for the computation
at the vorticity points should be changed similarly (from 1/8 to 1/32).
We are left with the "1/32 or 1/20" problem depending on useAreaViscLength
david


 
chris hill wrote:
> Darn - does that mean cnh has to sort it out! I'll take a look.
>
> As I said to David (when I did respond to his original question) - 
> there is no 100% _correct_ answer here. The optimal scaling of 
> effective dissipation/diffusion with grid spacing does not need to 
> follow the spacing exactly .e.g on a lat-lon grid typically the 
> meridional component of biharmonic mixing is scaled with a l^~2.5 not 
> l^4 times coefficient factor. Nevertheless we should have a consistent 
> transfer function and be able to say what it is.
>
> cnh
>
> Jean-Michel Campin wrote:
>> Hi David,
>> In the CVS log-message, I found, from cnh (revision 1.25):
>>> Change from 1/8 to 1/32 scaling from Baylor.
>>> Need to check if there are any verif expts affected.
>> May be this could help ?
>>
>> Jean-Michel
>>
>> On Mon, Mar 09, 2009 at 10:18:34PM -0400, David Ferreira wrote:
>>> Since nobody answers my question, I'm doing my own
>>> follow-up: Even more bugs in mom_calc_visc.F ?
>>>
>>> My first below concerned the computation of the viscosities
>>> at the div points. There is an equivalent for at vorticity points:
>>>
>>> CCCCCCCCCCCCC Vorticity Point CalculationsCCCCCCCCCCCCCCCCCC
>>> C These are (powers of) length scales
>>>         IF (useAreaViscLength) THEN
>>>          L2=rAz(i,j,bi,bj)
>>>          L4rdt=0.125 _d 0*recip_dt*rAz(i,j,bi,bj)**2
>>>         ELSE
>>>          L2=2. _d 0/((recip_DXV(I,J,bi,bj)**2+recip_DYU(I,J,bi,bj)**2))
>>>          L4rdt=recip_dt/
>>>     &     ( 6. _d 0*(recip_DXV(I,J,bi,bj)**4+recip_DYU(I,J,bi,bj)**4)
>>>     &      +8. _d 0*((recip_DXV(I,J,bi,bj)*recip_DYU(I,J,bi,bj))**2))
>>>         ENDIF
>>>
>>> As for the divergence, the 2 methods for a carsetian square grid
>>> converge for L2 but not L4rdt. Even weirder, the coefficients
>>> are now 1/8 and 1/20 (compared to 1/32 and 1/20 at the div points).
>>>
>>> In the best case scenario, that's only 2 correct coeff out of 4, no ?
>>> Comments ?
>>> david
>>>
>>>
>>>
>>> David Ferreira wrote:
>>>> Hi,
>>>> I've got a question about the variable bi-harmonic viscosities. In the
>>>> MITgcm, there is the possibility to specify a non-dimensional 
>>>> horizontal
>>>> bi-harmonic viscosity through viscA4Grid. The model then computes
>>>> the actual viscosity taking into account the local size of the  
>>>> grid-point.
>>>> This local grid-scale can be computed 2 different ways (through the
>>>> flag useAreaViscLength):
>>>>
>>>> C These are (powers of) length scales
>>>>         IF (useAreaViscLength) THEN
>>>>          L2=rA(i,j,bi,bj)
>>>>          L4rdt=0.03125 _d 0*recip_dt*L2**2
>>>>         ELSE
>>>>          L2=2. _d 
>>>> 0/((recip_DXF(I,J,bi,bj)**2+recip_DYF(I,J,bi,bj)**2))
>>>>          L4rdt=recip_dt/( 6. _d 0*(recip_DXF(I,J,bi,bj)**4
>>>>     &                             +recip_DYF(I,J,bi,bj)**4)
>>>>     &                   +8. _d 0*((recip_DXF(I,J,bi,bj)
>>>>     &                             *recip_DYF(I,J,bi,bj))**2) )
>>>>         ENDIF
>>>>
>>>> The default (useAreaViscLength=.FALSE.) compute the grid
>>>> factor directly from the length scales, otherwise it is done from
>>>> the area of the grid-point (for the cube-sphere for example).
>>>>
>>>> I was expecting that the 2 formula above would give the same results
>>>> for  cartesian square grid-box (dx=dy). This is the case for L2 
>>>> but  not for
>>>> L4rdt.
>>>> If useAreaViscLength is TRUE, then L4rdt = dx^4/(32*deltaT),
>>>> otherwise it is L4rdt = dx^4/(20*deltaT).
>>>>
>>>> Does anyone know which coefficient is the correct one ?
>>>> Thanks,
>>>> david
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>> _______________________________________________
>> 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