[MITgcm-support] How to diagnose the diapycnal diffusivity?
David Trossman
david.s.trossman at gmail.com
Mon Jul 16 10:26:23 EDT 2018
Hi Yang,
This is not too bad. I'll give explicit instructions. First, declare a
global variable, diffKTr, (along with diffKr, which is just the background,
not total, vertical diffusivity, I believe) in DYNVARS.h:
COMMON /DYNVARS_DIFFKR/
& diffKr, diffKTr
_RL diffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL diffKTr(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
Then add the following lines of code to calc_3d_diffusivity.F to fill that
global array with the total vertical diffusivity:
DO j = 1-OLy, sNy+OLy
DO i = 1-OLx, sNx+OLx
diffKTr(i,j,k,bi,bj) = KappaRTr(i,j,k)
ENDDO
ENDDO
Then add the following code to diagnostics_main_init.F to add the vertical
diffusivity as a diagnostic:
diagName = 'KVDIFF '
diagTitle = 'Vertical diffusivity for tracers '
diagUnits = 'm^2/s '
diagCode = 'SM LR '
CALL DIAGNOSTICS_ADDTOLIST( diagNum,
I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
Then add the following lines of code to diagnostics_fill_state.F to fill
that diagnostic:
IF ( DIAGNOSTICS_IS_ON('KVDIFF ',myThid) ) THEN
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
DO k=1,Nr
DO j = 1,sNy
DO i = 1,sNx+1
tmpMk(i,j,k,bi,bj) = diffKTr(i,j,k,bi,bj)
ENDDO
ENDDO
ENDDO
ENDDO
ENDDO
CALL DIAGNOSTICS_FILL(tmpMk,'KVDIFF ',0,Nr,0,1,1,myThid)
ENDIF
Finally, add the following lines to input/data.diagnostics (change the
frequency or output file number if you need to):
frequency(18) = 2635200.0,
fields(1:2,18) = 'KVDIFF ','GM_Kwz '
filename(18) = 'diags/kappa_3d_set1',
In the output files, diags/kappa_3d_set1*, you just need to subtract the
second field (GM_Kwz) from the first (KVDIFF) to get the diapycnal
diffusivity. That's my understanding.
-David
On Mon, Jul 16, 2018 at 7:39 AM, 钱钰坤 <qianyk at mail3.sysu.edu.cn> wrote:
> Hi Yang,
>
> So far as I know, GM parameterization is an adiabatic scheme, which means
> that this parameterization do not change water properties (e.g., density).
> You can read their paper in 1995 which showed that GM scheme is effectively
> an advection rather than diffuion. So neither GM90 nor GM_VisbK (Visbeck
> et al. 1997) is diapycnal.
>
> In MITgcm, diagnosing diapycnal diffusion is not straightforward as it is
> a z-coordinate model. But you can use the resorting method by Griffies et
> al. (2000) to diagnose the 'effective' diapycnal diffusivity. Effective
> means those processes act to homogenize water density, such as the explicit
> diapycnal diffusivity you set in the model (diffKr), spurious numerical
> diffusivity associated with advection scheme, those caused by other
> parameterizations (e.g., KPP, tidal mixing) etc.
>
> You can refer to Griffies's paper for details. Hope this helps.
>
> References:
> Griffies, S. M., R. C. Pacanowski, and R. W. Hallberg, 2000: Spurious
> Diapycnal Mixing Associated with Advection in a z-Coordinate Ocean Model.
> Mon. Wea. Rev., 128, 538-564.
> Visbeck, M., J. Marshall, and T. Haine, 1997: Specification of Eddy
> Transfer Coefficients in Coarse-Resolution Ocean Circulation Models. J.
> Phys. Oceanogr., 27, 381-402.
>
>
>
> ------------------
> 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 <qianyk at mail2.sysu.edu.cn>
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> *发件人:* "yzb"<853245241 at qq.com>;
> *发送时间:* 2018年7月16日(星期一) 晚上8:23
> *收件人:* "mitgcm-support"<mitgcm-support at mitgcm.org>;
> *主题:* Re: [MITgcm-support] How to diagnose the diapycnal diffusivity?
>
> Thank you. It really helps me. I will read the document carefully.
>
>
> ------------------ Original ------------------
> *From: * "Martin Losch"<Martin.Losch at awi.de>;
> *Date: * Mon, Jul 16, 2018 08:20 PM
> *To: * "MITgcm Support"<mitgcm-support at mitgcm.org>;
> *Subject: * Re: [MITgcm-support] How to diagnose the diapycnal
> diffusivity?
>
> As far as I know, the parameters \kappa_{\rho} and \kappa_{GM} are
> constant parameters that you specify in data.gmredi (from GMREDI.h:
> C GM_isopycK :: Isopycnal diffusivity [m^2/s] (Redi-tensor)
> C GM_background_K :: Thickness diffusivity [m^2/s] (GM bolus
> transport)
> ). You can have variable \kappa_{GM} (documentation: <
> https://mitgcm.readthedocs.io/en/latest/phys_pkgs/gmredi.html#variable>
> ), but you need to turn it on explicitly with the appropriate CPP- and
> runtime-flags, and then GM_VisbK is the approriate diagnostics for this
> particular version of variable \kappa_{GM}.
> In recent code, there are all sorts of other options that I am not
> familiar with, but they maybe worth exploring.
>
> Martin
>
>
> > On 16. Jul 2018, at 13:57, yzb <853245241 at qq.com> wrote:
> >
> >
> > Thanks for you reply. Sorry for the confusion of my question. This is
> something I should have written more about the diapycnal diffusivity. The
> diffusivity I want to calculate is the diapycnal mixing ( ,unit is m^2/s),
> maybe can be regarded as eddy coefficient. I am not sure the which is in
> the Gmredi pkg can be represented for it. There is a diagnostics option in
> Gmredi pkg which is called 'GM_VisbK' and this may be relate to my question.
> >
> > ------------------ Original ------------------
> > From: "Martin Losch"<Martin.Losch at awi.de>;
> > Date: Mon, Jul 16, 2018 07:35 PM
> > To: "MITgcm Support"<mitgcm-support at mitgcm.org>;
> > Subject: Re: [MITgcm-support] How to diagnose the diapycnal diffusivity?
> >
> > Yang,
> >
> > when you run your model with a default debugLevel (=1), then you’ll a
> file called “available_diagnostics.log”, that will show you all diagnostics
> for your particular configuration. If you have turned on GM
> (useGMredi=.TRUE. in data.pkg), then you the GM-diagnostics should be part
> of that list. I am not sure if there is a diagnostic for diapycnal
> diffusivity (do you mean diffusive flux?) …
> >
> > Martin
> >
> > > On 16. Jul 2018, at 11:12, yzb <853245241 at qq.com> wrote:
> > >
> > > Hello,
> > >
> > > I want to diagnose the diapycnal diffusivity directly from model.
> But I don't know the diagnostic name of it. Could anyone tell me the
> diagnostic name? Meanwhile, I found the package of Gmredi may contain this
> diagnosis. If so, what's the diagnostic name in that package?
> > >
> > > Thanks,
> > > Yang
> > > _______________________________________________
> > > 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
>
> _______________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20180716/3c96b453/attachment-0001.html>
More information about the MITgcm-support
mailing list