<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
Hi Martin and Jody,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
Thanks so much for getting back to me on this.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
After a bit of trial and error with many different things, I found that increasing the Adams-Bashforth stability weighting term (AbEps) to 0.1 (from its original value of 0.01) got rid of both the instability and these anomalous circulations, while maintaining
the integrity of the solution.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
So I think it was an instability issue relating to the Adams Bashforth time-stepping scheme and some oscillation in my solution (which this scheme is less stable for) that it didn't like.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
To answer your questions: My setup is free-slip, no-normal flow at the meridional boundaries. After sending my original email I tried masking the poles and while large amounts of masking appeared to help (losing 20 degrees at either pole), without an unreasonably
low timestep (tens of seconds), the issue persisted. Restoring at the poles did help, but once again low timesteps were required for stability</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<span style="display: inline !important; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">Given my model forcings (just restoring and E-P at the surface) are constant in time,</span><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
My guess is that perhaps some wave or oscillation would develop during model spin up that upon interaction with the no-normal flow boundaries, would get stuck at the poles and given a low enough timestep, create instability. </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
Though I need to analyse those plots to check that (unless anyone else has had experience with this type of thing?).</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
In summary though, making adjustments to the timestepping scheme has done the job.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
Thanks again!</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
Flynn</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> MITgcm-support <mitgcm-support-bounces@mitgcm.org> on behalf of Jody Klymak <jklymak@uvic.ca><br>
<b>Sent:</b> 27 March 2023 3:59 PM<br>
<b>To:</b> mitgcm-support@mitgcm.org <mitgcm-support@mitgcm.org><br>
<b>Subject:</b> Re: [MITgcm-support] Anomalous 'rebound' circulations at poles in 2D setup leading to numerical instability</font>
<div> </div>
</div>
<div style="line-break:after-white-space">
<div>
<div dir="auto" style="color:rgb(0,0,0); letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; line-break:after-white-space">
<div><br>
</div>
</div>
<br class="x_Apple-interchange-newline">
</div>
<div><br>
<blockquote type="cite">
<div>On Mar 27, 2023, at 1:19 AM, Martin Losch <Martin.Losch@awi.de> wrote:</div>
<br class="x_Apple-interchange-newline">
<div>
<div style="line-break:after-white-space">
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="left" style="border:0; display:table; width:100%; table-layout:fixed; border-collapse:seperate; float:none">
<tbody style="display:block">
<tr>
<td valign="middle" width="1px" bgcolor="#A6A6A6" cellpadding="7px 2px 7px 2px" style="padding:7px 2px 7px 2px; background-color:#A6A6A6">
</td>
<td valign="middle" width="100%" bgcolor="#EAEAEA" cellpadding="7px 5px 7px 15px" style="width:100%; background-color:#EAEAEA; padding:7px 5px 7px 15px; font-family:wf_segoe-ui_normal,Segoe UI,Segoe WP,Tahoma,Arial,sans-serif; font-size:12px; font-weight:normal; color:#212121; text-align:left; word-wrap:break-word">
<div>You don't often get email from martin.losch@awi.de. <a href="https://aka.ms/LearnAboutSenderIdentification">
Learn why this is important</a></div>
</td>
<td valign="middle" align="left" width="75px" bgcolor="#EAEAEA" cellpadding="7px 5px 7px 5px" style="width:75px; background-color:#EAEAEA; padding:7px 5px 7px 5px; font-family:wf_segoe-ui_normal,Segoe UI,Segoe WP,Tahoma,Arial,sans-serif; font-size:12px; font-weight:normal; color:#212121; text-align:left; word-wrap:break-word">
</td>
</tr>
</tbody>
</table>
<div>Hi Flynn,
<div><br>
</div>
<div>I am no expert at this, but I think the RBCS solution is probably the best option as it removes the unphysical “hard wall” at the poles.</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Is there a hard wall at the poles? Or is the domain re-entrant at the poles and f is suddenly changing from positive to negative? A-physical or not, I’d at least have one grid cell with zero depth at one of the poles. <br>
<div>
<div dir="auto" style="line-break:after-white-space"></div>
</div>
</div>
<div><br>
</div>
<div>I agree with Martin that rbcs, or even obcs with a sponge at the walls will drive the velocities to zero there if that is what you want. </div>
<div><br>
</div>
<div>Looking at your movies, however, I don’t have any context for why those tiny velocities would be considered incorrect. </div>
<div><br>
</div>
<div>Cheers, Jody</div>
<div><br>
</div>
<div>--<br>
Jody Klymak <br>
https://ocean-physics.seos.uvic.ca/~jklymak/<br>
</div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div>
<div style="line-break:after-white-space">
<div>
<div><br>
</div>
<div>There is code to specify 3D (background) diffusivity coefficients (CPP_OPTIONS.h) (but not viscosity for some reason). This may not help you but you could use this code as a template for you 3D viscosity option. There is code for specifying 3D horizonal
viscosity coefficients (see MOM_COMMON_OPTIONS.h)</div>
<div><br>
</div>
<div>You could try to use LEITH viscosity, but I don’t see how that would damp anyting near these spurious boundaries.</div>
<div><br>
</div>
<div>Martin<br>
<div><br>
<blockquote type="cite">
<div>On 7. Mar 2023, at 17:23, Flynn Ames <f.ames@pgr.reading.ac.uk> wrote:</div>
<br class="x_Apple-interchange-newline">
<div>
<div class="x_elementToProof" style="font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; background-color:rgb(255,255,255)">
<span class="x_x_elementToProof x_ContentPasted0" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">Dear MITgcm Community,</span></div>
<div class="x_elementToProof" style="font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; background-color:rgb(255,255,255)">
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<br class="x_ContentPasted0">
</div>
<div class="x_x_elementToProof x_ContentPasted0" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
Hello - I've been developing a 2D (latitude-depth) model setup for the MITgcm that extends pole to pole, for the subsurface ocean of Enceladus. <span class="x_ContentPasted0" style="margin:0px">I've been running into numerical stability issues at the poles.
I have some ideas of how to overcome the problem but I'm hoping to get some thoughts on if any of them are particularly bad/good ideas, or anyone else has an alternative idea?</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span style="margin:0px"><br class="x_ContentPasted0">
</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">The numerical instability appears to arise from </span><span class="x_ContentPasted0" style="margin:0px">a 'rebound effect' of sorts where, owing to the 2D domain, the flow upon reaching the poles has nowhere
to go and rebounds off of it. These circulations are always present but when </span><span class="x_ContentPasted0" style="margin:0px">the vertical viscosity is low (and for some reason, when along isopycnal mixing is considered), these anomalous circulations
intensify and eventually blow up. </span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">I've found that increasing the vertical viscosity can prevent the solution blowing up, but this is not ideal because it removes interesting features of the ocean circulation that I want to maintain and leads
to an unreasonably high Prandtl ratio in the vertical. Similarly, I would like to consider the role of along-isopycnal mixing. Reducing the timestep dramatically is also not ideal as these simulations are computationally expensive owing to long equilibration
times.</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span style="margin:0px"><br class="x_ContentPasted0">
</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span style="margin:0px"><span class="x_x_ContentPasted0 x_ContentPasted0" style="margin:0px; background-color:rgb(255,255,255); display:inline!important">It's worth noting these anomalous circulations don't appear to alter the mean solution when running stably.
I've attached snapshots of meridional velocity (hopefully it sends!), showing what these anomalous circulations look like when the model runs stably (with a reasonable vertical viscosity BUT no consideration of along-isopycnal mixing). My thinking is that
these circulations are likely unphysical, and so </span></span><span class="x_x_ContentPasted1 x_ContentPasted0" style="margin:0px; background-color:rgb(255,255,255); display:inline!important">some of the below approaches<span class="x_ContentPasted0"> </span></span><span class="x_ContentPasted0" style="margin:0px">(NOTE:
not ideal solutions) for overcoming the issue could potentially be justified (?). They are as follows:</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span style="margin:0px"><br class="x_ContentPasted0">
</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">1.)<b class="x_ContentPasted0"><span class="x_ContentPasted0"> </span>Try masking the grid cell directly over each pole with land and setting NO_SLIP_SIDES=.TRUE.</b><span class="x_ContentPasted0"> </span>This
may damp the anomalous circulations, but comes at the cost of losing part of the model domain </span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">2.)<span class="x_ContentPasted0"> </span><b class="x_ContentPasted0">Use the RBCS package to create a sponge layer of sorts to relax meridional velocity to zero at the poles</b><span class="x_ContentPasted0"> </span>(with
a few grid points next to the poles having weaker restoring). This would let me keep the whole domain. I don't think it should affect the mean solution significantly, but I wonder if this is an acceptable thing to do?</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">3.) Try implement a feature in the MITgcm that would let me<span class="x_ContentPasted0"> </span><b class="x_ContentPasted0">specify a meridional profile for vertical viscosity</b>, so I can keep it lower over
most the domain, but increase it where numerically necessary (i.e., at the poles). This could let me hold onto features I want to maintain over most the domain. But once again is this an acceptable thing to do?</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">4.) An idea my project supervisor suggested is<b class="x_ContentPasted0"><span class="x_ContentPasted0"> </span>applying higher viscosity on divergent flows vs convergent flows</b>. This could damp these anomalous
circulations but would apply over the whole domain so could affect the mean solution.</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span style="margin:0px"><br class="x_ContentPasted0">
</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">I'd be very grateful for any thoughts or suggestions. If anyone has any questions about this, I can definitely answer them!</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span style="margin:0px"><br class="x_ContentPasted0">
</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">Cheers,</span></div>
<div class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)">
<span class="x_ContentPasted0" style="margin:0px">Flynn</span></div>
<span class="x_x_elementToProof" style="font-size:12pt; margin:0px; background-color:rgb(255,255,255)"></span><br>
</div>
<span id="x_cid:4EFB61FA-1F9D-4318-8BF0-78198F25941D"><Vvel_snapshots_anom_circ.gif></span><span style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; float:none; display:inline!important">_______________________________________________</span><br style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
<span style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; float:none; display:inline!important">MITgcm-support
mailing list</span><br style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
<a href="mailto:MITgcm-support@mitgcm.org" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">MITgcm-support@mitgcm.org</a><br style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
<a href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmailman.mitgcm.org%2Fmailman%2Flistinfo%2Fmitgcm-support&data=05%7C01%7Cf.ames%40pgr.reading.ac.uk%7C35648ce83d24459f568f08db2ed415e9%7C4ffa3bc4ecfc48c09080f5e43ff90e5f%7C0%7C0%7C638155260679328226%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000%7C%7C%7C&sdata=QyfrREx0s2RRmWkQR7jKXJqMXeOIkKtvSQqETQK4uwI%3D&reserved=0" originalsrc="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" shash="rsy+ntMvFnvTpG/Xw/8oemj0DwDwly9Ms8/zrkq5hxc5pK19nHErZaJbvkU+wz/Ah57BGgfaPklUBHDYPnK1D8cGqEEulpjbsCcm06KkVJXNJ/XMK3WVqAR8iV7oV3XkSGc4T6yA8XKZLIleTYvoSa6gN0fnMpKy22zVRwTcg7w=" originalsrc="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" shash="o4X3CKFEpZr4ZPbTkE8fQIXAlIrwssjTaMN16iARPqtvk5hmhPuuhJCSaksF8JNmQmy43kz5/OPtsyGtzfwsxhZeuJFz05dGKALcK7gQ9hlFnyUaRP7c5VN499gw1Es1HQdJCb0SSeLUiH9uo13KTRHIiOWLUGIQNYxcWq0Ke1Y=" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</a></div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
_______________________________________________<br>
MITgcm-support mailing list<br>
MITgcm-support@mitgcm.org<br>
http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support<br>
</div>
</blockquote>
</div>
<br>
</div>
</body>
</html>