### GrADS Functions Sorted by Attribute

Mathematical Operations
`abs()` Returns the absolute value
`cdiff()` Performs a centered difference operation
`exp()` Calculates the exponential
`gint()` General integral
`log()` Calculates the natural logarithm
`log10()` Calculates the logarithm base 10
`pow()` Raises the values of `arg1` to the power of `arg2`
`sqrt()` Calculates the square root
`vint()` Calculates a mass-weighted vertical integral in mb pressure coordinates

Trigonometric Functions
`cos()` Calculates the cosine
`acos()` Calculates the inverse cosine
`sin()` Calculates the sine
`asin()` Calculates the inverse sine
`tan()` Calculates the tangent
`atan2()` Calculates the inverse tangent

Averaging and Summing
`aave()` Calculates an areal average over an X-Y region (latitude-weighted)
`amean()` Calculates an areal average over an X-Y region (not latitude-weighted)
`asum()` Calculates the sum over an X-Y region (grid weighted)
`asumg()` Calculates the sum over an X-Y region (not grid weighted)
`ave()` Calculates an average over any dimension
`gint()` General integral
`mean()` Calculates an average over any dimension (not latitude weighted)
`sum()` Calculates the sum over any dimension (grid weighted)
`sumg()` Calculates the sum over any dimension (not grid weighted)
`tmave()` Calculates a time averag while applying a mask
`vint()` Calculates a mass-weighted vertical integral in mb pressure coordinates

Correlation and Regression
`scorr()` Calculates the spatial correlation over an X-Y domain
`tcorr()` Produces a spatial map of temporal correlation coefficients
`sregr()` Calculates the linear least-squares regression over an X-Y domain
`tregr()` Calculates the least-squares regression over the time domain

Meteorological Calculations
`tvrh2q()` Calculates specific humidity given virtual temperature and relative humidity
`tvrh2t()` Calculates temperature given virtual temperature and relative humidity
`vint()` Calculates a mass-weighted vertical integral in mb pressure coordinates

Vector Operations
`hcurl()` Calculates the vertical component of the curl
`hdivg()` Calculates the horizontal divergence using finite differencing
`mag()` Calculates the wind speed given u,v components
`skip()` Sets alternating data values to missing

Grid Operations
`cdiff()` Performs a centered difference operation
`fndlvl()` Finds the vertical level at which a given value occurs in a variable
`lterp()` Performs bi-linear interpolation between two grids
`max()` Returns the maximum value over a given grid dimension
`maxloc()` Returns the grid location of the maximum value
`min()` Returns the minimum value over a given grid dimension
`minloc()` Returns grid location of the minimum value
`skip()` Sets alternating data values to missing
`smth9()` Performs a 9 point smoothing operation on gridded data

Station Data
`coll2gr()` Creates a grid from a collection of station data
`gr2stn()` Grid-to-station interpolator
`oabin()` Bins station observations into grid cells
`oacres()` Returns a gridded result that represents station data
`s2g1d()` Converts a station timeseries to a 1D grid
`stnave()` Calculates a time average of station data
`stnmin()` Returns the minimum value over a time series of station data
`stnmax()` Returns the maximum value over a time series of station data

Special Purpose
`const()` Changes missing or non-missing values
`gsfallow()` Enables the dynamic loading of script functions
`gsfpath()` Specifies the private path directory list where script functions are located
`maskout()` Sets certain data values to missing
`tloop()` Reconstructs a time series after doing calculations at fixed times
`eloop()` Reconstructs an E-varying result after doing calculations with the ensemble dimension fixed