[MITgcm-support] Re: viscosity questions

Van Thinh Nguyen vtnguyen at moisie.math.uwaterloo.ca
Thu Jul 6 15:45:05 EDT 2006


Hi Baylor,

In setup #2:

Could you please check again if we can increase viscC2Leith=viscC2LeithD 
up to 4, because I just remembered (I read somewhere!) that it can be up 
to 1.
By the way, thanks for your mail, it made me clearer to setup for Leith & 
Smagorinsky.

Van Thinh 
-----------------------------------------------------

On Mon, 26 Jun 2006, Baylor Fox-Kemper wrote:

> Hi Gianmaria (and mitgcm_support for others who may be interested in how to 
> set viscosities initially),
> The viscosity code has been very stable for the hydrostatic part of the code 
> for a while now.  Unless you are intending to run the nonhydrostatic version 
> (which will probably not do anything at 1/8th degree), then you should be OK 
> with the month-old version.  I am pretty sure we had all the bugs out by 
> checkpoint57x or later.  If you want to use the nonhydrostatic version, you 
> will need to upgrade to the most recent CVS check-in.
> I have a few suggestions as to how to get started.  If you want to use KPP 
> and GMREDI for diffusion and minimize across-isopycnal diffusion, I'd use the 
> 30 advection scheme or the flux-limited 33 advection scheme and eliminate all 
> diffKhT and diffK4T.  That should be stable, and while there will be 
> cross-ispycnal implicit mixing due to the advection scheme, it should be as 
> small as possible.
>
> With these schemes, you should be careful to turn on the diagnostics:
> 86 |ADVx_TH | 40 |UU   087MR      |degC.m^3/s      |Zonal      Advective 
> Flux of Pot.Temperature
> 87 |ADVy_TH | 40 |VV   086MR      |degC.m^3/s      |Meridional Advective 
> Flux of Pot.Temperature
>
> (if you're using salt)
> 93 |ADVx_SLT| 40 |UU   094MR      |psu.m^3/s       |Zonal      Advective 
> Flux of Salinity
> 94 |ADVy_SLT| 40 |VV   093MR      |psu.m^3/s       |Meridional Advective 
> Flux of Salinity
>
> 89 |DIFx_TH | 40 |UU   090MR      |degC.m^3/s      |Zonal      Diffusive 
> Flux of Pot.Temperature
> 90 |DIFy_TH | 40 |VV   089MR      |degC.m^3/s      |Meridional Diffusive 
> Flux of Pot.Temperature
>
> 96 |DIFx_SLT| 40 |UU   097MR      |psu.m^3/s       |Zonal      Diffusive 
> Flux of Salinity
> 97 |DIFy_SLT| 40 |VV   096MR      |psu.m^3/s       |Meridional Diffusive 
> Flux of Salinity
> And the equivalent ones for ptracers if you're using ptracers.  You will not 
> be able to easily reconstruct what the advection of the model was doing 
> otherwise.
>
> As far as viscosity, you should probably be using a Leith viscosity at 1/8th 
> degree, and you can experiment with whether using LeithD is an improvement 
> (often it reduces noise in W and may make your time-steps able to be bigger). 
> You could also try Leith+Smagorinsky which is a bit more theoretically 
> satisfying, but may not have the full numerical advantages of LeithD.  You 
> may want to turn on the diagnostics:
> 101 |VISCAHD | 40 |SM      MR      |m^2/s           |Harmonic Viscosity 
> Coefficient (m2/s) (Div Pt)
> Which will let you know what value of viscosity was being used.
>
> Here'e the basic way of setting up the model.  These are testing runs, so you 
> don't have to get everything else right to get these right.  Also, you don't 
> have to spin up too long, since the barotropic flow will spin up quickly O(a 
> year), and getting the rough tuning right should be ok without a spun-up 
> baroclinic flow.
>
> Setup #1:
> Leith Only:
> 1) Set vishAhGridMax=1 (or maybe 0.5 to be safe, no real difference there.)
> 2) Set viscC2Leith=1.
> 3) All other viscosities will default to zero (or you could set them to a 
> tiny value if you like).
> 4) Do a trial run and look at the output.  Pay particular attention to the 
> boundary currents.  Is their width acceptable?  You may want to look at the 
> diagnostics:
> 132 |Um_Diss | 40 |UU   133MR      |m/s^2           |U momentum tendency 
> from Dissipation
> 133 |Vm_Diss | 40 |VV   132MR      |m/s^2           |V momentum tendency 
> from Dissipation
> 134 |Um_Advec| 40 |UU   135MR      |m/s^2           |U momentum tendency 
> from Advection terms
> 135 |Vm_Advec| 40 |VV   134MR      |m/s^2           |V momentum tendency 
> from Advection terms
> In theory, the advective part should dominate over most of the domain, but in 
> a few regions the dissipation terms may be important.  Also, look for regions 
> where the field is checkerboard patterned.  You may want to look at W (which 
> will be the noisiest).
> 5) Change viscC2Leith up or down a bit to improve. Go to 4)
>
> Setup #2:
> Leith+LeithD (May be necessary if checkerboard noise in W doesn't go away 
> with Leith above, may also make larger timesteps possible).
> 1) Set vishAhGridMax=1 (or maybe 0.5 to be safe, no real difference there.)
> 2) Set viscC2Leith=viscC2LeithD=1.
> 3) All other viscosities will default to zero (or you could set them to a 
> tiny value if you like).
> 4) Do a trial run and look at the output.  You may want to check out the 
> viscosities:
> 113 |VAHDLTH | 40 |SM      MR      |m^2/s           |Leith Harm Visc 
> Coefficient (m2/s) (Div Pt)
> 117 |VAHDLTHD| 40 |SM      MR      |m^2/s           |LeithD Harm Visc 
> Coefficient (m2/s) (Div Pt)
> 5) Change viscC2Leith and viscC2LeithD keeping them equal. Go to 4)
>
> Setup #3:
> Leith+Smagorinsky (Perhaps the most 'physical', but maybe overly complicated 
> or computer-time consuming)
> 1) Set vishAhGridMax=1 (or maybe 0.5 to be safe, no real difference there.)
> 2) Set viscC2Leith=viscC2Smag=1.
> 3) All other viscosities will default to zero (or you could set them to a 
> tiny value if you like).
> 4) Do a trial run and look at the output.  You may want to focus on the ratio 
> of the viscosities from the diagnostic:
>  113 |VAHDLTH | 40 |SM      MR      |m^2/s           |Leith Harm Visc 
> Coefficient (m2/s) (Div Pt)
>  121 |VAHDSMAG| 40 |SM      MR      |m^2/s           |Smagorinsky Harm Visc 
> Coefficient (m2/s) (Div Pt)
> Is either one doing most of the work?  Are regions that appear overly viscous 
> dominated by one or the other?
> 5) Change viscC2Leith and viscC2Smag, but there is no reason to keep them 
> equal. Go to 4)
>
>
> Other considerations.
> Biharmonic Viscosities:  You may prefer biharmonic viscosities (I personally 
> don't).  Just do the same as above, except with ViscA4Gridmax and 
> viscC4leith, etc.  If you are unable to eliminate checkerboard patterns with 
> algorithms above, you can use biharmonic and harmonic simultaneously, e.g. 
> viscC2leith=1, viscC4leith=0.1.  This should add a bit of biharmonic at the 
> gridscale.
>
> Background constant:  You can also set a background constant viscosity 
> (viscAh) or one that scales with resolution (viscAhgrid).  These will get 
> added to the above.  This might  be useful if you want to ensure that a 
> particular boundary layer width (e.g., L_Munk=(viscAh/beta)^(1/3)) is 
> resolved (approximately L_Munk=2*deltaX).
>
> Boundary Conditions:  You can use either no_slip_sides=.true. or .false. with 
> all of the above viscosities,  This will depend on you simulation, and what 
> the results look like.  There are very important physical considerations as 
> well (see, e.g., Fox-Kemper JPO 2005).
>
> Vertical Viscosities;  Currently, the vertical viscosities are independent of 
> the considerations above.  Someday I hope to have a Smagorinsky-scaled 
> vertical viscosity, but it's not done yet.  So, set you viscAr=1e-4 m^2/s or 
> your favorite value, and carry on.  You will also need to decide on whether 
> you will have no_slip_bottom and additional bottomDragLinear  or 
> bottomDragQuadratic.  The latter can be useful in limiting the inverse 
> cascade in models with flat bottoms.
>
> I think that's pretty much it.
>  Cheers,
>    -Baylor
>
>
>
>
>
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list