calcDayAnomTLL
Calculates daily anomalies from a daily data climatology.
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 calcDayAnomTLL ( x [*][*][*] : float or double, yyyyddd [*] : integer, clmDay [366][*][*] : float or double ) return_val : dimsizes(x)
Arguments
xA three-dimensional array (time, lat, lon) containing the raw daily data. The dimensions must be named.
yyyydddA one-dimensional array (same size as the "time" dimension of x) containing values of the form yyyy*1000 + Day_of_Year where yyyy is a year [eg: 1993] and ddd is the sequential day of the current year [eg: Jan01=>1, Jan31=>31, etc.
clmDayA three-dimensional array (366, lat, lon) output by clmDayTLL.
Return value
A daily time series containing anomalies.
Description
Subtract the mean daily annual cycle from the raw daily data.
x(time,lat,lon) <==== input dimension order x!0 = "time" <==== time is in days x!1 = "lat" x!2 = "lon" non-Leap yyyyddd 1905001 => Jan 1, 1905 1905032 => Feb 1, 1905 1905059 => Feb 28, 1905 1905060 => Mar 1, 1905 1905365 => Dec 31, 1905 Leap yyyyddd 1908001 => Jan 1, 1908 1908032 => Feb 1, 1908 1908059 => Feb 28, 1908 1908060 => Feb 29, 1908 1908061 => Mar 1, 1908 1908366 => Dec 31, 1908
See Also
clmDayTLL, smthClmDayTLL, clmMonTLL, clmMonTLLL, clmMonLLLT, clmMonLLT
Examples
Example 1
Compute daily anomalies using a climatology created by
clmDayTLL or
smthClmDayTLL.
The input is daily 500 hPa heights spanning 1990-1999. The values
are packed as type short and the time is in units
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" : : diri = "./" ; input directory fili = "HGT.nc" ; input file f = addfile (diri+fili , "r") ;*********************************************************** ; Read time and create required yyyyddd ;*********************************************************** time = f->time ; time:units = "hours since 1-1-1 00:00:0.0" TIME = cd_calendar(time, 0) ; type float year = toint( TIME(:,0) ) month = toint( TIME(:,1) ) day = toint( TIME(:,2) ) ddd = day_of_year(year, month, day) yyyyddd = year*1000 + ddd ; needed for input ;*********************************************************** ; Read data: short2flt ;*********************************************************** hgt = short2flt( f->hgt(:,0,:,:) ) ; convert to float printVarSummary( hgt ) ;*********************************************************** ; Compute daily climatology: raw and then 'smoothed' ;*********************************************************** hClmDay = clmDayTLL(hgt, yyyyddd) ; daily climatology at each grid point printVarSummary(hClmDay) ;*********************************************************** ; Compute smoothed daily climatology using 2 harmonics ;*********************************************************** hClmDay_sm = smthClmDayTLL(hClmDay, 2) printVarSummary(hClmDay_sm) ;*********************************************************** ; Compute daily anomalies using raw and smoothed daily climatologies ;*********************************************************** hAnom = calcDayAnomTLL (hgt, yyyyddd, hClmDay) printVarSummary(hAnom_sm) printMinMax(hAnom, 0) hAnom_sm = calcDayAnomTLL (hgt, yyyyddd, hClmDay_sm) hAnom_sm@long_name = "Anomalies from Smooth Daily Climatology" printVarSummary(hAnom_sm) printMinMax(hAnom_sm, 0)The (edited) output yields
Variable: hgt Type: float imensions and sizes: [time | 3652] x [lat | 73] x [lon | 144] Coordinates: time: [17435256..17522880] lat: [90..-90] lon: [ 0..357.5] Number Of Attributes: 16 _FillValue : 1e+20 level : 500 long_name : mean Daily Geopotential heightThe raw daily climatology
Variable: hClmDay Type: float Total Size: 15389568 bytes 3847392 values Number of Dimensions: 3 Dimensions and sizes: [year_day | 366] x [lat | 73] x [lon | 144] Coordinates: year_day: [1..366] lat: [90..-90] lon: [ 0..357.5] Number Of Attributes: 4 long_name : Daily Climatology: mean Daily Geopotential height units : m information : Raw daily averages across all years smoothing : NoneThe smoothed daily climatology
Variable: hClmDay_sm Type: float Number of Dimensions: 3 Dimensions and sizes: [year_day | 366] x [lat | 73] x [lon | 144] Coordinates: year_day: [1..366] lat: [90..-90] lon: [ 0..357.5] Number Of Attributes: 4 smoothing : FFT: 2 harmonics were retained. information : Smoothed daily climatological averages units : m long_name : Daily Climatology: mean Daily Geopotential heightThe daily anomalies from the unsmoothed daily climatology.
Variable: hAnom Dimensions and sizes: [time | 3652] x [lat | 73] x [lon | 144] Coordinates: time: [17435256..17522880] lat: [90..-90] lon: [ 0..357.5] Number Of Attributes: 3 _FillValue : 1e+20 long_name : Anomalies: mean Daily Geopotential height units : m (0) (0) Anomalies: mean Daily Geopotential height: min=-563.6 max=608The daily anomalies from the smoothed daily climatology.
Variable: hAnom_sm Dimensions and sizes: [time | 3652] x [lat | 73] x [lon | 144] Coordinates: time: [17435256..17522880] lat: [90..-90] lon: [ 0..357.5] Number Of Attributes: 3 _FillValue : 1e+20 long_name : Anomalies from Smooth Daily Climatology units : m (0) (0) Anomalies from Smooth Daily Climatology: min=-565.107 max=626.271