[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