[MITgcm-support] nondivergent flow advecting a tracer

Edward W Doddridge ewd at mit.edu
Thu May 30 10:06:53 EDT 2019


Hi Yu-Kun,

I suspect that your timestep violates the cfl stability criterion. You should check that deltaTtracer*velocity/grid_spacing is less than 1. Ideally you’d like it to be much less than 1.

Cheers,
Ed


________________________________
Edward Doddridge
Postdoctoral researcher
Earth, Atmospheric and Planetary Sciences
Massachusetts Institute of Technology

www.doddridge.me<http://www.doddridge.me>

On 30 May 2019, at 09:48, 钱钰坤 <qianyk at mail3.sysu.edu.cn<mailto:qianyk at mail3.sysu.edu.cn>> wrote:

Hi all,

I am using a series of geostrophic velocity data (derived from AVISO sea surface height)
to advect a passive tracer in an offline mode.  Following the paper by Abernathey and Marshall
(2013, JGR), first I made a nondivergent correction to the original geostrophic velocity data
through Helmholtz Decomposition.  Then I used the nondivergent velocity to advect a tracer.
However, after a few timesteps the tracer field is unstable and generates very large values and
eventually contaminated the results.

I think there are two things need to be verified.

First, the correction is done correctly.  Actually
I followed the guidance by Ryan Abernathey at:
    https://github.com/rabernat/mitgcm_2D_global/blob/master/notebooks/correction.ipynb
I run the offline model first using original geostrophic velocity to dump the diagnostics of streamfunction
(psi) and velocity potential (phi).  Then I use the xmitgcm utility to calculate the nondivergent velocity as:
    u_psi = -(numpy.roll(psi, -1, axis=-2) - psi) / dyG / drF
    v_psi =  (numpy.roll(psi, -1, axis=-1) - psi) / dxG / drF
This code above should be modified somewhat if one uses the latest xmitgcm released a few days ago.
I did not do any mask since I think the MITgcm model will mask the velocity when run in offline mode (
I provided a bathymetry data to the model generated based on AVISO SSH land-sea mask).

Second, the offline model parameters (delta-t related) are correctly set.  Although I've read some emails
on this issue, I'm still not so sure how to set these parameters.  The following are my choices:
    data:      deltaTtracer = 86400,
                  deltaTClock = 86400,
    data.off:  deltaToffline = 3600,      (smaller dt for accuracy)
                  offlineForcingPeriod = 86400,    (AVISO data is daily mean)
                  offlineForcingCycle = 0,     (no need to reuse the velocity)
When using the above params, the offline model asks for velocity data whose names are: u.0.data, u.24.data,
u.48.data...  So I rename the velocity data into this convention.

Now I am really confused why the tracer overflows after only 4-5 timesteps (days).  Is there anything wrong
with the above two procedures?


------------------
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<mailto:qianyk at mail2.sysu.edu.cn>


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20190530/6a7183ad/attachment-0001.html>


More information about the MITgcm-support mailing list