NCL Home > Documentation > Functions > CESM


Decompose a variable which is symmetric about the equator into symmetric and asymmetric parts.

Available in version 5.1.0 and later.


load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"        ; These three libraries are automatically
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"         ; loaded from NCL V6.2.0 onward.
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"     ; No need for user to explicitly load.

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/diagnostics_cam.ncl" ; Still need to load this library.

	function decomposeSymAsym (
		x        : numeric,  
		iret [1] : integer   

	return_val  :  typeof(x)



An array of at least two dimensions. Nominally, ([...,]lat,lon).


Flag: iret=0 will return the decomposition in the original dimension order; iret=1 will return the decomposition with the dimension ordering permutated.

Return value

The return array will be the same type and rank as x. The dimension order may be changed depending upon iret.


Nominally, the input x is partitioned as follows:

  antisymmetric part is stored in one hemisphere [eg: Northern Hemisphere]
           xOut( lat) = (x(lat)-x(-lat))/2
  symmetric part is stored in other hemisphere   [eg: Southern Hemisphere]
           xOut(-lat) = (x(lat)+x(-lat))/2

See Also

wkSpaceTime, wkSpaceTime_cam


See Example 10 of the Madden-Julian Oscillation web page.