[MITgcm-devel] mom_calc_visc.F
Jean-Michel Campin
jmc at ocean.mit.edu
Tue Mar 10 20:27:37 EDT 2009
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
More information about the MITgcm-devel
mailing list