CliMAF includes a number of ‘Standard Operators’ and of ‘Object Functions’, which implement more or less basic climate diagnostics or utilities :

- All do return CliMAF objects.
- Operators are implemented as external scripts or binaries, while ‘object functions’ are implemented as python functions.
- operators can be used to define derived variables using function
derive(), while ‘object functions’ cannot

Other functions exists, which do not return CliMAF
objects (and are not called ‘object functions’) - see *Available functions*

The set of standard operators grows
with scientists contributions (see
*..contribute a diagnostic module*). They are documented here, through
individual documentation files in REStructured Text format
and following `this example` which
renders *as shows here*.
For each operator, the content of the doc file is also made available
in the Python on-line help (see *..know which CliMAF operators are available and what they do*).

Documented operators and ‘object functions’ as of today :

- arithmetic operations provided as ‘object functions’ :

- climate data operators:

- spatial operations:

- regridding:

- object functions computing a difference with regridding (typically to compute model biases):

- temporal operations:

time_average : compute time average for all time steps- object function
clim_average()- object function
annual_cycle()

- statistical operators:
operators for creating figures :

Note

Overview on the output format to be used for ‘plot’ and ‘curves’ operators w.r.t. figure trimming :

- If you want a
PNGfigure,you just have to call ‘plot’ or ‘curves’, and argument ‘trim’ allows to remove extra white space. Note that resolution unit is in pixels- If you want a
EPSoutput figure,you may need a further stepto remove extra white space: you have to use ‘cpdfcrop’ or ‘cepscrop’ operator (which are slow) respectively, after the figure plot. Note that resolution unit is in inches or using a standard paper size by name

Note

Overview on method to create

a page with several CliMAF figures:

cpage(): this operator creates a PNG or PDF page of figures array using ‘ImageMagick’, figures adjustment in the page is adapted to figures size. If you use ‘cpage’, you don’t need any pre-processing because:

- 1/ argument ‘fig_trim’ allows to trim extra white space of each figure;
- 2/ argument ‘page_trim’ allows to trim extra white space for the page

cpage_pdf(): this operator creates a PDF page of figures array using ‘pdfjam’, figures adjustment in each array cell is automatically centered, you can’t adjust figures differently. So if you use ‘cpage_pdf’, you may need to do pre and post-treatment because:

- 1/ there is no argument ‘fig_trim’ allowing you to trim extra white space when generating pdf figures, so you must apply ‘cpdfcrop’ before cpage_pdf (on all figures)
- 2/ there is no argument ‘page_trim’ allowing you to trim extra white space when generating the page, so you must use ‘cpdfcrop’ on its output

So, to create an array of figures:If you want an

PNGoutput figure: you should use‘cpage’. If quality is not sufficient, increase resolution of each figure (with argument ‘resolution’ of ‘curves’ or ‘plot’ operator) and also page resolution (with arguments ‘page_width’ and ‘page_height’ of ‘cpage’)If you want an

‘cpage_pdf’is highly recommended- if you want to have more control on figures adjustment in the page, use
‘cpage’and increase resolution of each figure and also of output page

plot : map, cross-section and profile plot of one or two fields, and vectors plot over a mapplot_params()curves : plot multiple profiles (along p, lat, lon, time, ...)ensemble_ts_plot : plot time series- :py:func::~climaf.function.ts_plot
hovm : plot Hovmöller diagrams on a given or global domain (SST/climate boxes, ... )hovm_params()cpdfcrop : crop pdf figures to their minimal sizecepscrop : crop eps figures to their minimal size

- example for two outputs :

Albeit this is not a proper practice, **some more operators may exist in your CliMAF release** which would not be documented here. Please see *..know which CliMAF operators are available and what they do* for such cases

A name-sorted list :

- cLinearRegression : performs a linear regression between X and Y
- ccdfheatc : computes the heat content in the specified area (multi-variable input file)
- ccdfheatcm : computes the heat content in the specified area (mono-variable input file)
- ccdfmean : computes the mean value of the field (on full space domain, weighted)
- ccdfmean_profile : computes the vertical profile of horizontal means for 3D fields
- ccdfmean_profile_box : computes the vertical profile of horizontal means for 3D fields on a given geographical domain
- ccdfmxlheatc : computes the heat content in the mixed layer (multi-variable input file)
- ccdfmxlheatcm : computes the heat content in the mixed layer (mono-variable input file)
- ccdfsaltc : computes the salt content in the specified area
- ccdfsections : computes some variables (Uorth, Utang,...) along a section made of Nsec linear segments (multi-variable input file)
- ccdfsectionsm : computes some variables (Uorth, Utang,...) along a section made of Nsec linear segments (mono-variable input file)
- ccdfstd : computes the standard deviation of any variable
- ccdfstdmoy : computes the standard deviation and mean value of any variable
- ccdftransport : computes the transports accross a section
- ccdfvT : computes the time average values for V.T, V.S, U.T and U.S
- ccdfvar : computes the spatial variance of field (2D or 3D)
- ccdfvar_profile : computes the vertical profile of spatial variance for 3D fields
- ccdfzonalmean : compute the global zonal mean of the given variable
- ccdfzonalmean_bas : compute the zonal mean of the given variable in a specified sub-basin
- ccdo : invoke CDO with a unary operator
- ccdo2 : invoke CDO with a bianry operator (i.e. on two datasets)
- ccdo_ens : invoke CDO with a unary operator on an ensemble of datasets
- cepscrop : crop eps figures to their minimal size
- cpdfcrop : crop pdf figures to their minimal size
- curl_tau_atm : computes wind stress curl on regular grid (usually atmosphere)
- curves : plot multiple profiles (along p, lat, lon, time, ...)
- divide : division between two CliMAF objects
- ensemble_ts_plot : plot time series
- hovm : plot Hovmöller diagrams on a given or global domain (SST/climate boxes, ... )
- llbox : extract a latitude-longitude box
- mask : set a given value as missing value
- mean_and_std : field mean and standard deviation
- minus : difference of two fields using CDO operator sub
- ml2pl : interpolates a field from model levels to pressure levels
- multiply : multiplication between two CliMAF objects
- ncdump : show only the header information of a netCDF file
- ncpdq: netCDF Permute Dimensions Quickly
- ncview : launch ncview on a dataset
- plot : map, cross-section and profile plot of one or two fields, and vectors plot over a map
- plus : Addition of two fields using CDO operator add
- regrid : regrid an object to the grid of another one
- regridll : regrid an object to a lat-lon box of a CDO regular grid
- regridn : regrid an object to a named grid
- slice : extract a slice at a given dimension’s range
- space_average : compute space average
- time_average : compute time average for all time steps