[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