
angmom_atm
Calculates the atmosphere's relative angular momentum.
Prototype
function angmom_atm ( u : numeric, dp : numeric, lat [*] : numeric, wgt [*] : numeric ) return_val : typeof(u)
Arguments
uzonal wind component (m/s). This must be 3 or 4 dimensions (lev,lat,lon) or (time,lev,lat,lon).
dppressure thickness (ie: "delta-pressures") in Pascals. This may be a one-dimensional array or have the same dimensions as u. If it is 1-dimensional, then the pressure differences will be used at all grid points.
latlatitudes spanned by u (units: degrees_north)
wgta 1-dimensional array containing gaussian weights if u is on a gaussian grid. Otherwise, set to a scalar (typically, 1.0).
Description
angmom_atm computes the atmosphere's relative angular momentum (units are kg * m^2/s). A triple integral is evaluated. The earth's radius (=6.37122e06 m) and gravity (=9.81 m/s2) are assumed constant.
Examples
Example 1 - Let u(time,lev,lat,lon); dp(lev); lat(lat) and wgt=1.0. The latitudes are equally spaced.
u = f->U lat = f->lat dp = (/ 50., 50, 125.,..., 20., 15., 10./) ; manually specify aam = angmom_atm (u, dp, lat, 1.0) ; ==> aam(time)aam will contain the global relative angular momentum at all time steps.
Example 2 - same as above but calculate the angular momentum for each hemisphere. Here we will assume that u and lat have coordinate variables so that NCL's named and coordinate subscripting can be used.
aam_NH = angmom_atm (u(:,:,{0:90},:), dp, lat({0:90}), 1.0) ; ==> aam_NH(time) aam_SH = angmom_atm (u(:,:,{-90:0},:), dp, lat({-90:0}), 1.0); ==> aam_SH(time)Example 3 - the same as example 1 but u is on a gaussian grid and dp changes at each grid point through time. Here NCL's dpres_hybrid_ccm function is used to calculate the pressure thickness. Also, gaussian weights are used.
hyai = f->hyai ; read from a file the interface hybrid coefficients hybi = f->hybi ; read from a file ps = f->PS ; surface pressure [Pa] p0 = 100000. ; since ps is in Pa dp = dpres_hybrid_ccm (ps, p0, hyai, hybi) ; dp(ntim,klvl-1,nlat,mlon) u = f->U lat = f->lat gwt = f->GWT ; gaussian weights aam = angmom_atm (u, dp, lat, gwt) ; ==> aam(time)Note: if the data are on a gaussian grid and the gaussian weights are not on a file, then NCL's gaus function can be used to generate the weights.