NCL Home > Documentation > Functions > Heat stress

heat_esidx_moran

Compute an environmental stress index (ESI) which is an alternative to the wet bulb globe temperature (WBGT).

Available in version 6.4.0 and later.

Prototype

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

	function heat_esidx_moran (
		t          : numeric,  
		rh         : numeric,  
		srad       : numeric,  
		iounit [2] : integer   
	)

	return_val [dimsizes(t)] :  float or double

Arguments

t

Scalar or array containing temperature(s) [ units see iounit ].

rh

Scalar or array containing relative humidity (%). If an array, it must have same size and shape as t.

srad

Scalar or array containing net surface solar radiation (W/m^2). If an array, it must have same size and shape as t.

iounit

An integer array of size 2 which specifies the units of the input t and computed output.

  • iounit(0)=0 input t (degC)
  • iounit(0)=1 input t (degK)
  • iounit(0)=2 input t (Farenheit)
  • iounit(1)=0 output index (degC)
  • iounit(1)=1 output index (degK)
  • iounit(1)=2 output index (Farenheit)

Return value

A scalar or an array of the same size and shape as t. The output will be double if t, rh or srad is of type double.

Description

The environmental stress index (ESI) is an alternative (substitute) for the wet bulb globe temperature (WBGT). The correlation coefficients between heat_esidx_moran and wet bulb globe temperature (heat_wbgt_globe) were very high (R2>0.981).

   REFERENCES:  
    Moran, D.S. et al (2001)
    An environmental stress index (ESI) as a substitute for the wet bulb globe temperature (WBGT) 
    Journal of Thermal Biology 26: 427-431
    doi: 10.1016/S0306-4565(01)00055-9

See Also

Heat and Stress functions

Examples

Example 1:

     t     =  30.5             ; C
     rh    =  47.3             ; %
     srad  = 301.4             ; W/m     ?(W/m^2)?
     iounit= (/0,0/)           ; (/C, C/)
     esidx = heat_esidx_moran(t, rh, srad, iounit) 
     print(esidx)   ; 26.14868

The output:

     Variable: ensidx
     Type: float
     Total Size: 4 bytes
                 1 values
     Number of Dimensions: 1
     Dimensions and sizes:	[1]
     Coordinates: 
     Number Of Attributes: 3
       long_name :	environmental stress index
       units :	degC
       doi :	http://dx.doi.org/10.1016/S0306-4565(01)00055-9
     (0)	26.14868

Example 2:

     f    = addfile("foo.nc", "r")
     srad = f->FSNS          ; Net solar flux at surface       (W/m^2)
     tref = f->TREFHT        ; Reference height temperature    (K)

     qref = f->QREFHT        ; Reference height humidity       (kg/kg)
     psfc = f->PS            ; Surface pressure                (Pa)
     rh   = relhum(tref, qref, psfc)        (%)

     iounit = (/1, 0/)       ; K, C
     esidx = heat_esidx_moran(tref, rh, srad, iounit) 

     printVarSummary(esidx)
The following was created:
 
    Variable: esidx
    Type: float
    Total Size: 55296 bytes
                13824 values
    Number of Dimensions: 3
    Dimensions and sizes:	[time | 1] x [lat | 96] x [lon | 144]
    Coordinates: 
                time: [7331..7331]
                lat: [ -90..89.99999999999999]
                lon: [   0..357.5]
    Number Of Attributes: 3
      long_name :	environmental stress index
      units :	degC
      doi :	http://dx.doi.org/10.1016/S0306-4565(01)00055-9