[MITgcm-support] Momentum Budget

Fengchao Yao Fengchao.Yao at KAUST.EDU.SA
Thu Dec 15 03:40:15 EST 2011



I am working a similar problem of calculating the momentum balance. This thread has been pretty helpful, but I still have some more questions:

1. How to diagnose tendency terms introduced by the pressure gradient from the surface height?

2. Is the term 'TOTUTEND' included in the diagnosis list or I have to change the code to include it? I could not find it from the list on the manual.

Thanks for the help.

Fengchao


________________________________________
From: Jean-Michel Campin [jmc at ocean.mit.edu]
Sent: Tuesday, December 14, 2010 12:31 AM
To: mitgcm-support at mitgcm.org
Subject: Re: [MITgcm-support] Momentum Budget

Hi Emily,

I took a look at your parameter files, and it seems to me that
the vertical viscosity is the only term missing (I did not
check myself, would need to get a similar set-up).

I would suggest to turn on 2 additional diagnostics:
VISrI_Um and VISrI_Vm
described as:
"Vertical   Viscous Flux of U/V momentum (Implicit part)"

And to get a tendency from this vertical flux:
Um_Impl(:,:,k) =[ VISrI_Um(:,:,k+1) - VISrI_Um(:,:,k) ]
               /[ rAw(:,:)*drF(k)*hFacW(:,:,k) ]
(hope I got the sign right)

VISrI_Um(k=1) should be zero, and the bottom one (k=Nr+1)
is not shored in the output file but it's also zero.

Once you add this tendency, I expect the momemtum buget to
"almost" close, with the remaining (small) difference
coming from the time-stepping (Adams-Bashforth). But
if you do a budget diagnostics over a not-too short period,
the relative difference due to the time-stepping is small
(+1/2 of the previous time-step tendency -1/2 of the last
tile-step tendency of this period).

Let us know if this works or not.

Thanks,
Jean-Michel

On Fri, Dec 10, 2010 at 08:30:20AM -0500, Emily Shroyer wrote:
> Thanks for the help. I assume that the following should add up to the
> total momentum tendency:
>
> TOTUTEND/86400=Um_Diss+Um_Advec+Um_Cori+Um_dPHdx+Um_Ext+UDIAG1
>
> with a similar balance for the v-momentum equation. Note that UDIAG1
> accounts for the sea-surface gradient. I have also appended data,
> data.pkg, data.kpp. The only thing that should look unfamiliar is a
> package named rlx. This is based off the rbcs package but it relaxes the
> momentum to a certain state in a masked region. I have been careful to
> only look at the budget well upstream, outside of this region.
>
> I am fairly certain that I am missing a term related to the vertical
> viscosity. This may have something to do with my set-up of KPP, but I
> did try turning it off and I was still having problems. The imbalance is
> only significant in the equation when I turn on the winds. In the
> surface cell the correction is in the opposite direction of those below.
> I think this is because I am adding in the term for momentum input from
> the wind (Um_Ext), but not the total loss to viscosity. Beneath the
> surface the correction is of the opposite sign, i.e., I am only not
> accounting for viscosity correctly. The imbalance decreases with depth,
> and is negligible at a certain point. The correction seems to be of the
> same shape and magnitude as the approximate term for the vertical
> viscosity nu_{kpp}*d2u/dz2. Its also of (roughly) the same shape as
> VISrE_Um. Any advice would be appreciated. Emily
>
> Jean-Michel Campin wrote:
>> Hi Emily,
>>
>> I am not sure that all the diagnostics needed to close the momentum
>> budget are there (although I though we put them), and it also depend
>> on the level of details you are interested in.
>> There are 2 things that could be useful:
>> 1) write the list of terms (translated in diagnostics output name)
>>  that you expect to sum to zero in the momentum budget.
>> 2) attached the main parameter files (data, data.pkg, + may be
>>  few other like data.kpp if you are using kpp).
>>
>> Thanks,
>> Jean-Michel
>>
>> On Thu, Dec 09, 2010 at 01:02:55PM -0500, Emily Shroyer wrote:
>>
>>> Thanks Matt,
>>> For some reason things still are not adding up quite right. The
>>> balance  is almost perfect, until I turn on wind forcing then the sum
>>> of terms  differs significantly from the total tendency.  I attached
>>> a figure of  the zonal balance at one grid cell as a function of
>>> time. Winds turn on  around day 12, the black line and the red dashed
>>> line would line up if I  was including everything correctly. This is
>>> one reason I thought that  the vertical viscosity term might be
>>> missing, i.e., maybe I am not  accounting for the flux of momentum
>>> from the surface properly. The other  is that if I evaluate this term
>>> (nu*d^2u/dz^2) on my own, the difference  is roughly correct. I tried
>>> manipulating the VISrE_Um and VISrI_Um terms  but I am not sure
>>> exactly how these are scaled, the units appear to be  in m^4/s^2, so
>>> surface area alone is not going to work. I will likely  just return
>>> to estimating a momentum budget from the normal output  fields, a
>>> little messy and it won't balance perfectly, but at least I  know
>>> what it does. Thanks again, Emily
>>>
>>>
>>> Matthew Mazloff wrote:
>>>
>>>> Hi Emily,
>>>>
>>>> I believe there are a few tricks to this
>>>>
>>>> Disclaimer -- this info may be out of date or not apply to your
>>>> specific setup....
>>>>
>>>>
>>>> I think the tendency term is in units per day, not per second, so
>>>> try rescaling from m/s/d to m/s^2 by dividing by 86400
>>>>
>>>> For vector invariant momentum formulation (not sure about flux
>>>> form) Um_Advec includes coriolis
>>>>
>>>> I believe Um_dPHdx does not include pressure forcing from SSH
>>>> gradient, you need to add that in
>>>>
>>>> Note that UBotDrag and USidDrag should be in Um_Diss
>>>>
>>>> If you want to look at the implicit vertical viscous flux
>>>> (VISrE_Um)  then I believe this has units m^3/s^2 and so needs to
>>>> be rescaled by  surface area ( divide by RAW and RAS for zonal,
>>>> meridionaly momentum  balance respectively)
>>>>
>>>>
>>>> Hope this helps -- or at least gives you some ideas...
>>>>
>>>> -Matt
>>>>
>>>>
>>>>
>>>> Request to developers...maybe the momentum diagnostics could be
>>>> cleaned up?
>>>>
>>>>
>>>>
>>>>
>>>> On Dec 7, 2010, at 1:46 PM, Emily Shroyer wrote:
>>>>
>>>>
>>>>> I would like to output terms of the momentum budget using the diagnostic
>>>>> package. My data.diagnostic file is set as:
>>>>>
>>>>> &diagnostics_list
>>>>>  diag_mnc     = .TRUE.,
>>>>>  frequency(1) = -43200.,
>>>>>  filename(1) = 'UmomDiag',
>>>>>  fields(1,1) = 'TOTUTEND','UBotDrag ','USidDrag
>>>>> ','Um_Diss','Um_Advec','Um_Cori',
>>>>>                'Um_dPHdx','Um_Ext','Um_AdvZ3','UDIAG1  ',
>>>>>
>>>>>  frequency(2) = -43200.,
>>>>>  filename(2) = 'VmomDiag',
>>>>>  fields(1,2) = 'TOTVTEND','VBotDrag ','VSidDrag
>>>>> ','Vm_Diss','Vm_Advec','Vm_Cori',
>>>>>                'Vm_dPHdy','Vm_Ext','Vm_AdvZ3','UDIAG2  ',
>>>>>
>>>>> &
>>>>>
>>>>> The terms Udiag1/2 were added to account for gradients in the sea
>>>>> surface height. Unfortunately, the total tendency is not quite equal to
>>>>> the sum of the other terms. I think that difference may be associated
>>>>> with the implicit diffusivity term? I am using a KPP mixing scheme,
>>>>> although I have also tried a MY scheme. I spent  a bit of time trying to
>>>>> decide where best to output this term with a user defined diagnostic
>>>>> without any result. My questions are 1) Is it likely that this is indeed
>>>>> the term I am missing in the momentum budget or have a missed something
>>>>> else? 3) If so, does anyone have a suggestion as to where best to output
>>>>> this term with the user diagnostic?
>>>>>
>>>>> Thanks for any advice, Emily
>>>>>
>>>>> --
>>>>> Emily Shroyer, Postdoctoral Scholar
>>>>>
>>>>> Woods Hole Oceanographic Institution
>>>>> Clark 316A, MS #21
>>>>> Woods Hole, MA 02543
>>>>>
>>>>> phone: 508 289 2525
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> MITgcm-support mailing list
>>>>> MITgcm-support at mitgcm.org <mailto:MITgcm-support at mitgcm.org>
>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> MITgcm-support mailing list
>>>> MITgcm-support at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>>
>>> --
>>> Emily Shroyer, Postdoctoral Scholar
>>>
>>> Woods Hole Oceanographic Institution
>>> Clark 316A, MS #21
>>> Woods Hole, MA 02543
>>>
>>> phone: 508 289 2525
>>>
>>>
>>
>>
>>
>>> _______________________________________________
>>> MITgcm-support mailing list
>>> MITgcm-support at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>
>>
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>
>>
>
>
> --
> Emily Shroyer, Postdoctoral Scholar
>
> Woods Hole Oceanographic Institution
> Clark 316A, MS #21
> Woods Hole, MA 02543
>
> phone: 508 289 2525
>

> # ====================
> # | Model parameters |
> # ====================
> #
> # Continuous equation parameters
>  &PARM01
>  viscA4=0.0E4,
>  viscAh=5.E0,
>  viscAz=1.E-5,
>  bottomDragQuadratic=2.E-3,
>  no_slip_sides=.FALSE.,
>  no_slip_bottom=.FALSE.,
>  diffK4T=0.E4,
>  diffKhT=5.E0,
>  diffKzT=1.E-5,
>  diffKhS=5.E0,
>  diffKzS=1.E-5,
>  diffK4S=0.E4,
>  f0=14.E-5,
>  beta=0.E-11,
>  eosType='LINEAR',
>  tAlpha=2.E-4,
>  sBeta =74.E-5,
>  rigidLid=.FALSE.,
>  implicitFreeSurface=.TRUE.,
>  implicitViscosity=.TRUE.,
>  implicitDiffusion=.TRUE.,
>  staggerTimeStep=.TRUE.,
>  hFacMin=0.2,
>  nonHydrostatic=.FALSE.,
>  readBinaryPrec=64,
>  &
>
> # Elliptic solver parameters
>  &PARM02
>  cg2dMaxIters=300,
>  cg2dTargetResidual=1.E-13,
>  cg3dMaxIters=20,
>  cg3dTargetResidual=1.E-8,
>  &
>
> # Time stepping parameters
>  &PARM03
>  nIter0=0,
>  nTimeSteps=14400,
>  deltaT=120.0,
>  abEps=0.1,
>  pChkptFreq=0,
>  chkptFreq=0,
>  dumpFreq=3600.0,
>  monitorSelect=2,
>  monitorFreq=12000.,
>  taveFreq=21600.,
>  periodicExternalForcing=.TRUE.,
>  externForcingPeriod=3600.0,
>  externForcingCycle=1728000.,
>  &
>
> # Gridding parameters
>  &PARM04
>  usingCartesianGrid=.TRUE.,
>  delX=30*2500,
>  delYfile='delY.bin',
>  delRfile='delZ.bin',
>  &
>
> # Input datasets
>  &PARM05
>  bathyFile='topog.slope',
>  hydrogThetaFile='T.init',
>  hydrogSaltFile='S.init',
>  zonalWindFile = 'ustress.bin',
>  meridWindFile = 'vstress.bin',
>  &

> # =====================================================================
> # | Parameters for Pacanowski&Philander (1981) vertical mixing scheme |
> # =====================================================================
>  &KPP_PARM01
>  KPPwriteState=.TRUE.,
>  minKPPhbl = 10.,
>  Ricr = 0.3,
>  &

> # Packages
>  &PACKAGES
>  useMNC=.TRUE.,
>  useRLX=.TRUE.,
>  useKPP=.TRUE.,
>  useDiagnostics=.TRUE.,
>  &

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


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



More information about the MITgcm-support mailing list