NCL Home > Documentation > Functions > Meteorology

shear_stretch_deform

Using spherical harmonics, estimate the kinematic shear-deformation, stretch-deformation and total-deformation of a global horizontal (east-west) wind field.

Available in version 6.6.2 and later.

Prototype

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"  ; This library is automatically loaded
                                                             ; from NCL V6.2.0 onward.
                                                             ; No need for user to explicitly load.

	function shear_stretch_deform (
		u            : numeric,  
		v            : numeric,  
		lat      [*] : numeric,  
		gridType [1] : integer,  
		opt      [1] : integer   
	)

	return_val [dimsizes(lat)] :  float or double

Arguments

u

Zonal wind component. Must be on a global rectilinear grid ordered South-to-North.

v

Meridional wind component. Same size and shape as u.

lat

Latitudes (degrees).

gridType

Grid type. gridType=0 means gaussian grid; gridType=1 means regular or fixed grid.

opt

option.

  • opt=0 means return the shear, stretch and total deformation [3 variables]
  • opt=1 means return the shear, stretch, total deformation and the four gradient fields: du/dx, du/dy, dv/dx and dv/dy [7 vriables].

Return value

A variable of type list containing variables of the same size and shape as u.
The returned variables do not include any explicit negative (or positive) sign or coefficient (eg:  0.5).
 
  shear   = dvdx + dudy
  stretch = dudx - dvdy
  deform  = sqrt(shear^2 + stretch^2)

Description

Divergence and vorticity are commonly used kinematic fields. Less commonly used are the shear-deformation (SHD) and stretch-deformation (STD).

               SHD = dv/dx + du/dy 
               STD = du/dx - dv/dy 

When the stretch-deformation is negative/positive the flow is confluent/diffluent. Typically, the individual shear- and stretch-deformation components are less useful than the total-deformation (TD):


               TD = sqrt(SVD^2 + STD^2)

The advantage of using spherical harmonics over centered-finite-differences (shear_stretch_deform_cfd) is that the spherical harmonic derived gradients are "highly accurate."

This function should be used only on high frequency 3-, 6-hrly or daily mean data.

References:

   Kinematic Propeerties: Synoptic Meteorology I: 2014

   Spensberger, C. and T. Spengler (2014) 
    A New Look at Deformation as a Diagnostic for Large-Scale Flow 
   J. Atmos. Sci

See Also

uv2vrG,uv2dvG, uv2vrF,uv2dvF, uv2vr_cfd,uv2dv_cfd, shear_stretch_deform_cfd, qvector_isobaric, qvector_isobaric_cfd

Examples

Example 1: See shear_stretch_deform

Example 2: Output from Example 1:

  u       = f->U
  v       = f->V

  grdTyp  = 1    ; =1 fixed
  cyclic  = True
  opt_ssd = 0    ; shear, stretch and total deformation

  ssdList = shear_stretch_deform(u,v, u&lat, grdTyp, opt_ssd)

  stretch_sph = ssdList[0]    ; _sph only to express that spherical harmonics 
  shear_sph   = ssdList[1]    ; were used to estimate the gradients
  deform_sph  = ssdList[2]
  delete(ssdList)           ; not required;   just not needed anymore

  printVarSummary(stretch_sph)
  printMinMax(stretch_sph,0)
  
  printVarSummary(stretch_sph)
  printMinMax(shear_sph,0)

  printVarSummary(deform_sph)
  printMinMax(deform_sph,0)
The (edited) output:

          Variable: stretch_sph
          Type: float
          Total Size: 5003712 bytes
                      1250928 values
          Number of Dimensions: 4
          Dimensions and sizes:   [time | 7] x [level | 17] x [lat | 73] x [lon | 144]
          Coordinates: 
                      time: [1823280..1823424]
                      level: [1000..10]
                      lat: [-90..90]                  NOTE: the grid is global and ordered S->N
                      lon: [ 0..357.5]  
          Number Of Attributes: 2
            long_name :   (dudx-dvdy): SPH
            units :       1/s

          (0)     (dudx-dvdy): SPH (1/s) : min=-0.000355005   max=0.000355005

          
          ----
          
          Variable: shear_sph
          Type: float
          Total Size: 5003712 bytes
                      1250928 values
          Number of Dimensions: 4
          Dimensions and sizes:   [time | 7] x [level | 17] x [lat | 73] x [lon | 144]
          Coordinates: 
                      time: [1823280..1823424]
                      level: [1000..10]
                      lat: [-90..90]
                      lon: [ 0..357.5]
          Number Of Attributes: 2
            long_name :   (dvdx+dudy): SPH
            units :       1/s

          (0)     (dvdx+dudy): SPH (1/s) : min=-0.000355005   max=0.000355005
          
          ----

          Variable: deform_sph
          Type: float
          Total Size: 5003712 bytes
                      1250928 values
          Number of Dimensions: 4
          Dimensions and sizes:   [time | 7] x [level | 17] x [lat | 73] x [lon | 144]
          Coordinates: 
                      time: [1823280..1823424]
                      level: [1000..10]
                      lat: [-90..90]
                      lon: [ 0..357.5]
          Number Of Attributes: 3
            long_name :   deformation
            units :       1/s
            information : sqrt[shear^2 + stretch^2 ]

          (0)     deformation (1/s) : min=1.04094e-08   max=0.000355055