[MITgcm-support] Tides in channel model

Jean-Michel Campin jmc at mit.edu
Fri Dec 3 12:28:28 EST 2021


Hi Ryan,

Since the tidal forcing is just variation of gravity, and gravity can be expressed
as gradient of a potential, the tidal forcing can be provided as a tidal potential.
This is how it's done in MITgcm, except that it's only a 2-D forcing field (neglecting vertical
gradient of tidal geopotential is generally OK and fits better with hydrostatic approximation
and, to a lesser extent with thin-shell approximation).

It has been implemented in pkg/exf (back in October 2017):
#define EXF_ALLOW_TIDES , variable "tidePot", parameters "tidePot*" (e.g.,
tidePotFile, tidePotStartdate1 ...).

And I am copying below the content of a message that got sent to some MITgcm email list
back at that time, regarding the advantage of separating tidal geopotential from 
atmospheric pressure loading.

Cheers,
Jean-Michel

-------------------------
> Tue Oct 3 14:47:22 EDT 2017
> 
> Hi Dimitris and other,
> 
> Until now, when you run some global ocean with tides, the tidal forcing
> was specified as an equivalent atmospheric pressure, presumably through pkg/exf.
> 
> There are few limitations with this approach:
> 1) the exf atmospheric pressure field cannot be used for something else,
>  such as a more precise estimation of air density (#define EXF_CALC_ATMRHO).
> 2) the tide geopotential is added to the ocean pressure field (totPhiHyd) 
>  which prevent to use it inside the EOS (selectP_inEOS_Zc=2, default
>  with EOS: JMD95P, UNESCO, MDJWF and TEOS10). 
> 3) if one want to specify both an atmospheric loading and a tidal forcing,
>  the forcing input field become a mix, not practical nor very natural.
>  And this is also the case when coupled to atmospheric GCM.
> 
> Therefore, I propose to add an other 2-D forcing field to account for
> tidal forcing. The most natural way would be a tidal geopotential (or
> any time-dependent geopotential anomaly), units: m^2/s^2.
> 
> An other advantage is that it would be available in the same form for
> Ocean in p-coords set-up as well as for atmospheric set-up.
> 
> The gradient of it would be added to horizontal momentum tendency as 
> part of the forcing (in S/R EXTERNAL_FORCING_U & EXTERNAL_FORCING_V)
> which is different form current atmospheric loading, for instance regarding
> the Adams-Bashforth (pressure gradient in or out AB depending on staggerTimeStep, 
> whereas forcing has it's own parameter: momForcingOutAB).
> 
> Any suggestion or comments ?
> 
> Cheers,
> Jean-Michel
-------------------------

On Fri, Dec 03, 2021 at 11:46:58PM +0800, ?????? wrote:
> Hi Ryan,
> 
> 
> I have recently tried to add a body forcing to mimic the M2 tide
> in a channel model (in 2D x-z plane).  It is quite easy to implement
> this by adding some code snippets in 'apply_forcing.F' (see attached).
> I found these codes somewhere on the web (but do not remember now).
> Its effect can be seen in this animation:
> https://github.com/miniufo/InternalWaveBreaking
> 
> 
> Notice that it is applied to the first 5 tiles (bi.LT.5).  Hope this helps.
> 
> 
> 
>  Best regards 
>  
> Yu-Kun Qian (??????) 
> Center for Monsoon and Environment Research 
>  Department of Atmospheric Sciences
> School of Environmental Science and Engineering 
>  Sun Yat-sen University 
> No. 135 Xingang West Road, Haizhu District 
> Guangzhou, 510275, P.R. China 
> Tel; 020-84115227 
> Email: qianyk at mail3.sysu.edu.cn      
> 
> 
>  
>  
>  
> ------------------ ???????? ------------------
> ??????: "Ryan Abernathey"<ryan.abernathey at gmail.com>;
> ????????: 2021??12??3??(??????) ????10:21
> ??????: "MITgcm-support"<mitgcm-support at mitgcm.org>; 
> 
> ????: Re: [MITgcm-support] Tides in channel model
> 
>  
> 
> Thanks for the reply Stanislav! 
> 
> In this case, Qiyu is working with a zonally reentrant channel (similar to https://mitgcm.readthedocs.io/en/latest/examples/reentrant_channel/reentrant_channel.html), so there is no open boundary at which to apply tidal forcing. So although it is a small domain, it is more similar to a global model in this respect.
> 
> 
> My understanding was that the most common way to force tides in global models was via a specified surface pressure field in the EXF package. (E.g. that's how the LLC4320 simulations were forced.) But I also know there has been a lot of recent work in this area, so maybe there is a simpler option.
> 
> 
> Has anyone tried specifying a body force in analytic form using a custom code file? Where would be the right place in the code to insert such a forcing?
> 
> 
> Best,
> Ryan
> 
> 
> On Fri, Dec 3, 2021 at 4:18 AM Stanislav Martyanov <martyanov.sd at gmail.com> wrote:
> 
> Hello Qiyu,
> the easiest way is to generate a simple grid with constant dx (and/or dy) with one or several open boundaries specified in OBCS_OPTIONS.h (#define ALLOW_OBCS_NORTH, etc). Then, you will need to configure the open boundary conditions (if you specify induced tide) and external forcing (if you want to set geopotantial): i.e. #define OBCS_ALLOW_TIDES in OBCS_OPTIONS.h, and #define EXT_ALLOW_TIDES in EXT_OPTIONS.h
> 
> 
> And, of course, you need to set the corresponding filenames with the tidal forcing in data.obcs (and in data.exf, if you want geopotential). Note that only the normal component of tidal current at the open boundaries is currently implemented in the model.
> 
> 
> You also should get familiar with the OBCS package where tides can be specified (as open boundary conditions), and with the EXF package where tides can be added through geopotental.
> 
> 
> Best,
> Stanislav
> 
> ????, 1 ??????. 2021 ??. ?? 21:50, Qiyu Xiao <qx344 at nyu.edu>:
> 
> Dear MITgcm users/developers,
> 
> 
> If I want to run a channel model with tides, what is the best way to do that? What functions/variables should I change or is there any package for this purpose? 
> 
> 
> 
> Thanks,
> Qiyu
> 
> 
>  _______________________________________________
>  MITgcm-support mailing list
>  MITgcm-support at mitgcm.org
>  http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>  
> 
> 
>  _______________________________________________
>  MITgcm-support mailing list
>  MITgcm-support at mitgcm.org
>  http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support


> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list