[MITgcm-support] Momentum Budget
Emily Shroyer
eshroyer at whoi.edu
Thu Dec 16 12:39:15 EST 2010
Just a follow-up with something that I forgot to mention...
I altered the file mom_fluxform to export the diagnostic Um_Advec just
above the line "CALL DIAGNOSTICS_FILL(fZon,'ADVx_Um
',k,1,2,bi,bj,myThid)". A similar alteration was made for Vm_Advec. As
is, they are written out at the end of this file, and I believe that
they include more than just udu/dx+vdu/dy+wdu/dz, perhaps most notably
the Coriolis acceleration. Before someone implements this scheme, they
should double check it for themselves. I think it can also be corrected
relatively easily after the model run, by subtracting appropriate
tendency terms from Um_Advec. But I am now happy with the balance given
below, as things add up nicely and they agree roughly with the momentum
terms estimated by myself from the standard outputs of u,v,w, and rho.
Emily
Emily Shroyer wrote:
> Works great! When I average over many time steps the difference is
> tiny. So just to conclude...
>
> TOTUTEND/86400=Um_Diss+Um_Advec+Um_Cori+Um_dPHdx+Um_Ext+UDIAG1+Um_Impl
>
>
> balances nicely. The only terms that needed to be added to those given
> as tendency terms in the diagnostic package are the sea surface
> gradient (UDIAG1) and the implicit viscosity (Um_Impl), which is
> defined below in Jean-Michel's response. Thanks for all the help. Emily
>
> Jean-Michel Campin wrote:
>> 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
>>
>>
>
>
--
Emily Shroyer, Postdoctoral Scholar
Woods Hole Oceanographic Institution
Clark 316A, MS #21
Woods Hole, MA 02543
phone: 508 289 2525
More information about the MITgcm-support
mailing list