Met Office IDL routines

Core

ECSN_to_umstashTo convert table 2 grib codes from ECSN AMIP run at ECMWF to UM stash codes.
add_dos_preview_to_eps Adds a bitmap preview image to a PV-WAVE EPS file that can then be seen when importing the picture into packages like MS WORD
addsuffixAdd a suffix to a string if it is not already present
almost_uniqueunique, allowing for rounding errors
appendgifcommentAdds a comment extension to a GIF file.
avg Calculate the average value of an array, or calculate the average value over one dimension of an array as a function of all the other dimensions.
avgmdiAverage (or total) , taking missing data into account the avarage is taken over the non missing data regions only i.e. missing data does not contribute in any way to the final value.
axis_convertconvert user specified co-ords to plot coords
axis_stylegenerate an axis_style control structure
backlistList PV-WAVE revision log and identifiers - now obsolete!
basenameextracts filenames from input strings, complement of DIRNAME
big_menuDisplays a menu whose choices are given by the elements of a string array and returns an index of the users respose. BIG_MENU differs from WMENU in that it can cope with large numbers of items to be chosen by using more than one screen.
bilinear2 Allows user to determine bilinear interpolate at a set of reference points.
build_table Creates a table from one or more vectors (one-dimensional arrays).
bytecopyProduce an output variable of a specified type whose data is a byte-by-byte copy of the input
byteorder_dblByte swaps doubles for different architectures
bytesizeCompute the size of a numeric variable, in bytes
canopenAttempt to open a file for read access
cfcache_fputvarRecord a netCDF variable (service routine for netCDF input)
cfcache_getvarRetrieve cached variable (service routine for netCDF input)
cfcache_putvarCache a variable (service routine for netCDF input)
char_dimensReturn current character width and height
checklongitudewrapChecks whether likely to get 'flyback' across the map between pairs of longitude values or between adjacent points along a polyline.
chisqrCalculate chi-square probability.
classvalueClassify the values in one array according to those of another and evaluate an expression on the classified data
codenameProvide translation between stash codes and standard names and between PP field codes and long names
color24_to_rgbConverts a 24-bit color to [r,g,b] triplet.
colour_byteconvert an input array into a byte array with values (in the byte array) being set by the colours and levels arrays the way the routine works is that the output byte array has a value given by colours(i+1) where the input is between level(i) and levels(i+1)
comm_errorstandard error handling stuff for all UKMO routines
comm_printcommon block include file for print control routines
comp_bar_posncompute position in data coordinates for the colour bar
comp_gccompute equally spaced points along a great circle
comp_posncompute position in device coords for a plot
comp_sub_posnCompute positions for annotation beneath an existing plot
con_coordsConvert between coordinate systems
contour_colorsChoose a set of colour indices for coloured contour levels
contour_levelsChoose a set of contour levels for a set of data
contourfill2 Fill the contours defined by a path file created by CONTOUR.
convert_pp_struct This function returns an structure for a PP field for the specified dimensions of the data array using version 7.3 of define_ppfield, with modification to add the version item to the structure (implemented at 8.1). This function returns a structure for a PP field for the specified dimensions of the data array using version 6.1 of define_ppfield, with modification to add the major number to the structure name (implemented at 7.1) and the version item to the structure (implemented at 8.1). convert old pp structure to latest version
corr_ppCalculate the correlation coefficient between two PPfields (or a vector of correlation coefficients between two vectors of PPfields), with area weighting. (For a PPfield each of whose data points is a correlation coefficient between the data for that point in two vectors of PPfields, use pp_correlate.)
cstatObtain information from the inode of a Unix file
cursorboxSpecify coordinates of a rectangular region using the cursor
datadirReturn the value of environment variable DATADIR for a given user
datatypeReturn data type code of argument PV-WAVE version 6.0 onwards can use WAVE> type = SIZE( arg, /Type) WAVE> help, 'size' for further information
dblDouble storage for an array of anything
dc_read_linesReads a plain-text file into an array of strings, one per line
decode_exptcalculates UM model name for a given (long) integer code (LBEXP)
decode_extraTranslate the PP extra data into data for non-standard items in the PP structure
decode_extraloiTranslate the PP extra data into data for non-standard items in the PP structure
definterface to def script in /opt/ukmo/hadley/bin
define_grib This function returns a structure for a grib header block
define_ppfield This function returns an IDL structure for a PP field for the specified dimensions of the data array
define_shadegenerate (or add to) shading array for pp_contour
delete_pp_codeDelete a record from the pp_code common block
devendClose current device, set device to X
dfWrap up data array in a PP field. The data of the PP field supplied must have the same dimensions as that of the input array. Missing data is set in the where the field has missing data, and a PP field is returned with its header copied from fld.
dirnameextracts paths from input strings, expands environment variables, (and ~user for version 6.1+) complement of BASENAME
distribPlot the distribution of a vector of data
dotsppExtract points from a series of PP fields in PP files
draw_tabledraws a table on current device
dt2julObtain Julian day number from a date-time structure
dt_addly DT_ADDLY corrects a problem found in DT_ADD when adding multiples of 4 years or 48 months to leap day (February 29).
dt_print2UKMO version of DT_PRINT
dt_subly DT_SUBLY corrects a problem found in DT_ADD when subtracting multiples of 4 years or 48 months to leap day (February 29).
dtgen2Generate a vector of sequential of date-time structures with a specified starting value and increment
dtgenly DTGENLY corrects a problem found in DTGEN when creating date/time variables including leap day (February 29) and having an offset which is a multiple of 4 years or 48 months.
ecsn_to_umstashTo convert table 2 grib codes from ECSN AMIP run at ECMWF to UM stash codes.
egllExample of use of linknload with a Fortran routine
egwaveppExample of usage of WAVE-PP integration reads ppfield into PP-Package program and writes to filename
egwaveppprogExample of usage of WAVE-PP integration, and steps needed to convert a PP-Package program to a wavepp function. Calls a Fortran function EGWAVEPPPROG which is based on a PP-Package program EGPPPROG.
encode_exptcalculates integer code (LBEXP) for a given UM model name
encode_extraEncode PP field extra data vector
epsiniSetup device PS for encapsulated postscript.
errplot2 Overplot error bars over a previously drawn plot.
extrareformRemove (trailing) dimensions of size 1 or reshape a variable to match the dimensions of another variable
fcolorConvert a fraction from 0 to 1 to a colour index
fdextract PP field data array with missing data set to some value
fdateObtain todays date in DD/MM/YYYY from system clock time
feqDecide whether floating point numbers are tolerably eq/le/ge
filewalkEasy selection of a file in the directory structure, using menus.
fill_contourGenerate contour plot with or without filling the contours. Provides a wrapper which calls CONTOUR and optionally POLYCONTR1.
filled_boxproduce a filled box on current plot
fillinfill in missing data in a 2D grid by interpolation
findFind elements of a vector which (not) are equal to any of the elements of another vector
findfilepathLocate files with the specified name in the directories listed in the current path (default WAVE_PATH)
fisherfCalculate Fisher's F (variance ratio) probability
fix_landscape_ps_bounding_boxDoes nothing. Not known whether it is needed in IDL.
fix_wave5fix problem affecting co-ordiantes introduced with wave 5.
floorReturn the largest integer not greater than the argument
fvReturn a vector of PP field data without missing data points
gen_month_ticksgenerate tickv,ticks and optionally tickname for a cross section axis of evenly spaced months.
gen_plot_nameplot name for subplot in left hand corner
gen_tick_valuesChoose values at which to label (tick) an axis
gen_ticksgenerate tickv,ticks and optionally tickname for a meteorological fld
get_colorsFetch the current colour table
get_keywords To find the keywords used by a routine. This is useful to "pass thru" a set of keywords from one routine to another. See example, below.
get_nearest_color_indexConverts a 24-bit color - e.g. r,g,b triplet, Hexadecimal or long integer to its nearest 8-bit colour index equivalent.
get_tiffSave the contents of the current window as a .tiff image file
get_visual_classReturns the X Visual Class code. Note that in IDL the DEVICE procedure has a keyword GET_VISUAL_NAME which returns a string identifying the X visual class. In IDL, this function uses the DEVICE procedure and translates the result.
getmetafunctionGet the name of the PV-WAVE function which translates a PP header to a basename for a metasplit (e.g. stashsplit) directory
getppaRetrieve PP file associations made by pp_assoc
gif4webProduce animated GIFs from single frame GIFs, PP_CONTOUR movie files or images held as byte arrays
gif_compress Compresses an existing GIF using LZW. It can also produce interlaced GIFs.
giftransConverts a GIF to GIF89 format, including transparent tag
gip_plotPlot metavar as setup with the GIP (GKS into PV-WAVE) routines
gip_setupSet up common blocks,default bundles, colours, etc for GIP (GKS Into PV-WAVE) routines. This routine needs to be called once to initialise several variables prior to running any GIP routines (eg Metsym). - This is normally sourced by the routines themselves.
gip_testShows some functionality of GIP (GKS into PV-WAVE) routines.
grib_add_periodadds period in time units to date in pp structure and sets f.lbft
grib_decodeDecodes grib message returning data array
grib_readReads in next grib message in bytes
grib_searchSearch on unit nin for grib field(s) satisfying the expression and return as PP structures.
grib_to_fpDecodes grib floating point representation
grib_to_ppconvert grib message sections 0, 1, & 2 to a pp structure Note does not decode the data.
group_by Performs summary (aggregate) functions to groups of rows in a table variable.
hakPrint a message and wait for a key to be pressed
hdf_to_ncTakes an HDF file and converts it to a NetCDF file
hp_colorsload colour map with colours for hpgl mode
hpa4lSet up HPGL device to print landscape on full length of A4
hpa4pSetup device HPGL to print portrait on full length of A4
hpdoneput escape characters at the beginning of the .hp file to switch the paintjet to HPGL
hpendClose HPGL file, print and delete, set device to X
html_signatureadd user name, id and creation time details to HTML file
ibackupReturn the path of a user's IBACKUP directory
image_24_to_8Converts a 24-bit input image into an 8-bit image.
image_8_to_24Converts an 8-bit inputimage into a 24-bit image.
image_convertConverts one image file format (GIF, TIFF, JPEG) to another
image_grabGrabs an image from the X, PM or Z display and outputs to a file
image_writejWrapper for VNI routine IMAGE_WRITE bypassing JPG corruption in V8.00
interp_2dinterpolate grid on x,y to grid specified by x2,y2
islongitudeTest whether the x- or y-coordinate of a PP field is longitude
ismetofficeIndicate whether we are at the Met Office
isppfieldDeduce attributes of PP field structure
isstaggeredReturns 1 or 0 depending on whether the grids of the input fields are staggered or not.
jul2dtConvert Julian day number to date-time structures
ksReads 2 arrays and estimates probability they are from same underlying distribution using the K-S test. A low value indicates that the two distributions are not consistent with the same underlying population.
label_map_gridAdds text labels to longitude and latitude lines on map
landscape_ps_to_portrait_epsGenerates a portrait EPS version of a PV-WAVE landscape PS/EPS plot (what ghostview considers as seascape) effect is that of an apparent anticlockwise rotation by 90 degrees
legend2 Put a legend on a graph. Individual control of the color, the line type and the plotting symbol is provided for each row (using the same technique as LinePlot).
levs Calculates a levels vector given a max and min
linekeyDraw a key composed of short lines and/or rows of symbols with labels
list_error_messagesThis program lists all error messages in html format
little_endianReturns 1 if run on a machine with a little-endian architecture
lltongridConvert lat-lon to northing-easting on national projection
loadct2 Load predefined color tables.
localhelpOpen browser at specified URL, with keywords specifying useful documents for the PV-WAVE user see also MAN, /Web
localhelp2Obsolete just calls LOCALHELP
logodrawDraw the Met Office logo
logodraw2Draw the Met Office logo
lrunsIdentify runs of repeated or nonzero values in a vector
make_hovMake a hovmuller plot (time-longitude) or (time-latitude)
make_pp_assocLocate or create entry in the pp_assoc common block
make_shademake shading array
make_time_mnsmake time means (if mns are defined) and possibly remove those mns from input flds
make_web_safegiven byte array "nudges" values to nearest permited value changes current colour table to nearest 216 web safe colours
makemaskmake a masking field
makeppfieldCreate a PP field structure with essential header information
makepphMake a pph file from the .pp files in a metasplit/stashsplit directory
makerangeFind the range of values in a vector
manExtract inline documentation from a IDL routine
menu_searchDisplays information about all fields in a pp unified model dataset and allows the user to select and read in one, or more than one, field into the standard PV-WAVE pp structure. MENU_SEARCH can be used as an alternative to SEARCH.
metappnameName a PP file to contain the field supplied
metasplitTakes fields from PP files, or headers from pph files, and stores them in a directory in a directory ss_dir, with filenames determined by the metafunction of the directory (see Procedure).
metsymDraw a Meteorological symbol using GIP (GKS Into PV-WAVE)
mktempReturn a path for a temporary file
monotoniccheck that vector is montonically increasing or decreasing
movie2 Show a cyclic sequence of images stored in a 3D array.
multi_regioncompute region implied by !p.multi
multi_searchextract many fields from several files
multi_ss_fngenerates filename for pp file
multispawnSpawn a number of command lines to Unix
mvbytesCopy input variable to output variable as image data
nc2pphGenerate PP headers to represent variables in a CF-netCDF file
ncassocAssociate netCDF files as though they were PP files for use with ppa
ncppConstruct PP fields from a netCDF file given ncassoc PP headers
ngridtollConvert national projection northing-easting to lat-lon
nice_add_dtnice wrapper to DT_ADDLY and DT_SUBLY
nice_charsizeRetain proportions of text to image when changing device
nice_tickvalsGiven an unrounded axis mininmum or maximum value, this function returns a value rounded to the value specified in the to_nearest parameter. The default behaviour is to round to the closest, unless overridden by either the /up or /down keywords. Sets the tick interval depending on the data range to give between 5 & 10 tick marks. Tick interval is always based on 1,2 or 5 (*10e^n). Calculates *Nice* AXIS major tick values, given an axis range and optionally a desired tick interval (if supplied). The idea is that you use NICE_TICKVALS() to work out the required [xyz]tickv values to give to PLOT so as to get consistent *nice* results. These are nicer than the default behaviour of PLOT (or AXIS). It is important to note that, regardless of how many [xyz]tickv elements are given to PLOT, unless [xyz]ticks is specified as well the default behaviour results. See the examples for further ideas.
nice_x_colorsIf pseudocolor is requested and possible, open X device so that it has !ppp.table_size colours (set in defpp)
nicechoiceChoose a number from a list which is the next larger or smaller than a supplied value
nicelatlongFind a number similar to x which is a nice factor of the complete latitude or longitude range
nicemultipleFind a number similar to x which is a nice multiple of a power of 10
nicenumberProduce nicely formatted fp number strings
nint Find the nearest integer.
num2strconvert any given number to a nice string of correct size
old_pp_windydraw a vector plot of 2d wind fld
old_velovect2 Produce a two dimensional velocity field plot. Draw a directed arrow at each point showing the direction and magnitude of the field. The arrows will have a scaling which depends on the magnitude of the max x and y cpts.
oplotmdioplot with missing data sequences omitted
opt_restoreinterface to opt_restore script in /usr/local/bin
optionsDummy in IDL
order_by Sorts the rows in a table variable to create a new table.
page_statetell you the state of the next plot on the page
palette Interactively create color tables based on the RGB color system using the mouse, three sliders, and a cell for each color index. Single colors can be defined and multiple color indices between two endpoints can be interpolated.
pcla4lSet up PCL device to print landscape on full length of A4
pcla4pSetup device PCL to print portrait on full length of A4
pclendClose pcl file, print and delete, set device to X
place_textallows you to interactively put text on a plot details are saved to a file, from which you can then "playback" the labels later, eg when producing output for hardcopy
play_movieplay a movie made by PP_CONTOUR
plot_2bar2Plot a bar chart (graph) with one or a pair of bars for each abscissa value
plot_3barPlot a bar chart with three bars for each abscissa value
plot_boxesplot boxes
plot_gridplot grid lines over a dataset
plot_high_lowplot high and low values on a map for input data set.
plot_image plot an image in the space given by coords
plot_lat_longplot longitude/latidute lines over a dataset
plot_mapDraw map outline in defined region (can be limited-area)
plot_symbolfunction converts keywords to plot symbol codes
plot_tsplot timeseries and cross sections
plot_tseriesplot a timeseries for fields
plotmdias wave plot procedure except leaves out missing data
plt_arrowplot arrow on graphics device
pltwndDraw a wind symbol using GIP (GKS Into PV-WAVE)
polycntr1 Fill the contours defined by a path file created by CONTOUR.
polycontour2 Fill the contours defined by a path file created by CONTOUR.
polyfill_ex Fill the polygon defined by x and y coords using device coords. extended version of POLYFILL -- does filling, line filling or pattern filling
polyfitw Perform a least-square polynomial fit with optional error estimates.
polygon_no_pole To return an array of indices with a count field indicating that the polgons identified from longtitude co-ordinates do not contain a pole.
polyimagePlot an image (a rectangular array of blocks) using filled polygons
portrait_ps_to_landscape_epsGenerates a portrait EPS version of a PV-WAVE landscape PS/EPS plot (i.e. rotates by 90 degrees)
pp_2d_histogramCalculate 2-D frequency or probability density distributions from pairs of PP fields
pp_areaComputes an array of area-weights for a PP field. If an array of PPfields is passed in then only a single field's worth of weights is produced.
pp_area_avgcomputes the area weighted average of a pp fld or pp flds
pp_area_lumpReduce the resolution of the field by area-averaging over boxes
pp_area_totalcomputes the area weighted total of a pp fld or pp flds
pp_assocAssociate PP file(s) with variable(s) and implied contents list
pp_avgFind average field of a set of PP fields
pp_bin_scatProduce scatterplot with a mean fit, and return a field of the dependent field as a function of the independent field in terms of said mean fit.
pp_catStick ppfields together in an x or y direction.
pp_cfwriteTranslate PP data into a CF-netCDF file.
pp_change_dtcopy a PP file whilst changing validity and data times of all fields
pp_chartsProduce charts of PP Fields
pp_checkvalidates sizes
pp_comp_dfcomputes degrees of freedom for two pp timeseries
pp_comparablecompare grid and missing data of two (vectors of) PP fields
pp_comparecompare grid and missing data of two PP fields
pp_conformMove data of one field onto the grid of another which has coincident gridpoints
pp_contourcontour a pp_field or pp_fields
pp_coordsgenerate axis coordinates from a PP field
pp_coords_ll1dReturn a 1D vector of latitude or longitude for a field which has 2D latitude and longitude coordinates
pp_copy_hdrcopy the pp_headers from one pp fld to another
pp_correlateCalculates the correlation coefficient between corresponding points of two vectors of PP fields, or the area-weighted correlation between pairs of fields, or the teleconnection field between a point in one vector of fields and all points in another vector
pp_crossCalculate the cross-product of two vector fields
pp_cross_axisplot axes over a contoured cross section ppfield.
pp_cross_sectmake a mean or slice cross-section, or a section along a specified line, or a time-latitude/longitude ppfield, from an array of pp fields
pp_curlCalculate z cpt of curl of a 2D field
pp_cursorplotproduce plots of points or areas averages when cursor is clicked on pp contour in window.
pp_daycompute day from pp header information
pp_deriveDifferentiate a field along one of its dimensions
pp_diffCalculate differences of PP fields
pp_divCalculate divergence of a vector PP field
pp_dotEvaluate the scalar (dot) product of vectors
pp_expandExpand a field with only one row and/or column to the shape of another field by duplicating the data
pp_extractextract a sub-field (or reformat field) from a pp data structure
pp_extract_ptextract the values of the fld(s) from the nearest model points
pp_extremaCalculate point-by-point extreme values in a set of PP fields
pp_ffOperate on and combine PP fields
pp_ff2Operate on PP fields representing vector quantities
pp_fieldaxisDeduce axis code for LBCODE from field header
pp_filenameTo get the PP file basename(s) associated with the input PP field(s) or header(s) - generic metafunction
pp_fillinFill in missing data by interpolation
pp_fitUses method of least squares to fit polynomial curves, for each grid point, through a vector of PP fields, or to fit the data from one field against the data from another.
pp_fl_in_rdAdd a code definition to the pp_codes common block Read in a block of pp_codes Read in a block of pp_codes read in information from files to translate field codes etc.
pp_g_crosstgenerate titles and some other handy information for cross sections
pp_gen_coordsgenerate coords for a PP field
pp_gen_regiongenerate bounding region for long latt pp fld
pp_globePlot a PP format field onto the surface of a globe
pp_gradCalculate the 2D gradient field
pp_grad33D vector grad operator for spherical coordinates
pp_group_timesGroup PP fields together by time
pp_guess_titlefind $string in input string make a reasoned guess at what the title is for a PP field
pp_histogramCalculate a frequency or probability density distribution from a PP field
pp_hplotPlot a frequency or probability density distribution from a PP field
pp_inferinfer new header for field(s) given source fields from whcih
pp_isolayerFind the depths and thicknesses of layers of constant value
pp_laplaceCalculate the 2D Laplacian of PP scalar or vector field(s)
pp_lbdecodegenerate titles and some other handy information for cross sections ( is essentially a renamed version of pp_g_crosst.pro with minor mods)
pp_levelgenerate level values from pp fields and keywords
pp_magCalculate the magnitude of a vector field from components
pp_make_goodReplace infinite data in a vector of PP Fields with missing data
pp_mdiReturn a where list of indices to PP field missing data
pp_normaliseNormalise a vector field
pp_periodCalculate meaning period of PP field
pp_plot_valuesPlot the field values on the field
pp_print_gridPrint PP field grid information, either to standard output or a file
pp_proportionFind the area fraction of the PP field where a certain condition on the data value is satisfied
pp_quotient0Divide a number or a PP field by a PP field with check for zero in the divisor
pp_reassocDrop the contents lists of associated files so that they will be remade next time they are needed
pp_regridAncillary to pp_regrid; calculates new coordinates for one axis Convert PP field to a new grid
pp_regrid_avgConvert a PP field to a new grid by area-averaging
pp_relayerChange the vertical coordinate of a 3D field
pp_rocCalculates area enclosed beneath ROC curve Calculates coordinates of Relative Operating Characteristic (ROC) curve and the area enclosed beneath the curve for a set of forecasts. Forecast and Observed data are input as PP files
pp_rotateRotate a vector field through a specified angle
pp_scat_boxSelects a box on a scatterplot produced using pp_scatter.pro. Returns the indices of the points selected.
pp_scatterProduce a scatter plot of 2 pp fields.
pp_serialiseMake a timeseries field from a vector of single-element fields
pp_setdtSet date tags in field header
pp_ss_basenameConstruct file basename(s) in a stashsplit directory from PP field(s) or header(s) - standard version used by metasplit
pp_ss_fnreturns a filename in a stashsplit file hierarchy given ss_dir and a ppfield to go into it. Used by stashsplit.pro. Intended for use when writing files into the hierarchy, this routine will create subdirectories in the hierarchy as necessary.
pp_statsCalculate various statistical quantities from a PP field or vector of fields.
pp_stdevFind standard devn field of a set of PP fields and optionally mean field
pp_timeshiftShift a PP field by a number of years
pp_totalFind total field of a set of PP fields
pp_tprobCreates a PP field containing T statistic probabilities.
pp_transformtransform a long/latt pp data fld or fields to a different projection
pp_transposeTranspose pp field(s)
pp_unassocCancel PP file associations made by pp_assoc
pp_uniqueReduce a set of PP fields to a unique set
pp_vel_gc_cxcompute vel cpts along and perpindicular to great circle
pp_vol_avgvolume averages a set of pp fields, a single number is returned
pp_whereFind non-missing PP field data points satisfying a condition
pp_windyPlot a two-dimensional vector field, indicating magnitude and direction
pp_xsectReads ppfields from a ppfile and plots a cross section using pp_cross_sect
pp_zavgAverage a 3D field over depth
pp_zonal_meanplots a zonal (or meridional) mean of pp field(s)
pp_zonmmake an area-weighted zonal (or meridional) mean from a pp flds
pp_ztotalIntegrate a 3D field over depth
ppaFetch PP field(s) from PP file(s) or select from supplied fields
ppa_subsetAssociate under a new number a subset of fields already associated
ppa_uniqueReduce an associated set of fields to a distinct set
ppalistRecord contents list for a file for use with ppa
ppaloiSpecial version of PPA to allow loading of endian reversed title and dtitle PP Extra Header Details. Fetch PP field(s) from PP file(s) or select from supplied fields
ppanameReturn file name for a file number defined by pp_assoc
ppasizeReturn information about the number of fields made known to pp_assoc
ppeofCompute Empirical Orthogonal Functions for input pp flds make up data for EOF analysis
ppeof2 Calculates covariance matrix dividing by n-1 Compute Empirical Orthogonal Functions for input pp flds
ppopOpen a PP file
ppp_charsizeReturn charsize limited by !ppp
ppr Reads ppfields from a ppfile
ppwWrites ppfields to a ppfile
prsetup device for printers
prendclose present device and print file
previewPreview a plot if possible and allow the user to reject it
printfdrPrint out contents of PP field header
probksGiven value of of K-S D, calculates probability of null hypothesis that this value was produced by two datasets drawn from the same underlying population.
proj_namePrint out the name of a projection given its code
psa4lSetup device PS to print landscape on full length of A4
psa4pSetup device PS to print portrait on full length of A4
psendClose postscript file, print and delete, set device to X
put_colorsSet the current colour table
query_table Subsets a table created with the BUILD_TABLE function.
readfdrReturn a vector of headers from a PP or a pph file
regposLocate a regular expression in a string
regreplaceReplace occurrences of a regular expression in a string with a substitute string
regsubposLocate a regular expression in a string
relative_pathdetermine the relative path between one or more directories
replicate_cycliccyclicly replicate a data object into 1-d array of required size
replicate_szreplicate an element using sz construct.
restore_coloursrestore colour map from a file.
revertRecall old versions of PV-WAVE routines
rgb_triplet_to_longConverts an r,g,b triplet to its 24-bit Long integer equivalent. Used to specify colours on a 24-bit display.
rocCalculates coordinates of relative operating characteristic (ROC) curve and the area enclosed beneath the curve for a set of forecasts. Forecast and Observed data are input as arrays
rotated_poleconvert from long/lat co-ords to rotated pole co-ords or from rotated pole co-ords to long lat if reverse flag set.
runsIdentify sequences of data in a vector above a threshold or satisfying a condition or having equal values
save_colourssave the existing colour map to a named file
searchSearch on unit nin for PP field(s) satisfying the expression and return as PP structures.
searchloiSearch on unit nin for PP field(s) satisfying the expression and return as PP structures.
set_errorset error common blocks up
set_pp_codeSet a record in the pp_code common block
set_procchanges processing code for field or fields
set_visual_classSets the X Visual Class code.
sethpsetup device hpgl for paint jet printers
setppdtSet date in PP header to values from a !dt structure
setup_constssetup a new system variable, met_values, which contains many useful consts
shadestyleRecord instructions for shading to be interpreted by pp_contour
short_pp_ss_fnConstruct filename(s) in the stashsplit directory from PP field(s)
show_missingDraw a mask outline round regions where contours cannot be drawn or values not shown on account of missing data, or blank out those regions
signReturn unity signed by the argument
skip_f77_recordSkip one record when reading big-endian F77 unformatted files
small_charsdo we need to reduce our character size by half ?
smosmooth data taking care with missing data
sortfilesSorts files into numerical order, based on basename only. Non-existent files are ignored. Filenames that don't contain numbers are sorted alphabetically
sortn sort a set of n-tuples in a 2d array,
spin_wave_landscape_psRoutine to rotate a PV-WAVE landscape PostScript plot throughg 180 degrees (i.e. change from seascape to landscape or vice versa). Bounding box should stay in same position on page with same margins - just contents of bounding box are rotated.
splitstringSplit a string into fields at specified separators
ssConstruct a string if expression for searching on equalities in the PP header, to be used with search. A tolerance is allowed on equality with real variables.
ss_assocConvert a source of PP fields into a permissible input for ppa
ss_datereturn a string to be used in a stashsplit filename to represent a date of the form [yyyy,mm,dd,hh,mm]. Used by ss_fn and pp_ss_fn
ss_fnreturns a filename in a stashsplit file diretcory given ss_dir and a keyword argument or two. If the arguments supplied are not enough to specify the filename exactly, a regular expression wildcard will be returned in the relevant place in the filename. These wildcards can be expanded using the /expand keyword.
ss_fn_oldreturn a string to be used in a stashsplit filename to represent a date of the form [yyyy,mm,dd,hh,mm]. Used by ss_fn and pp_ss_fn returns a filename in a stashsplit file hierachy given ss_dir and a keyword argument or two. If the arguments supplied are not enough to specify the filename exactly, '*' will be returned in the relevant place in the filename. These wildcards would then have to be expanded by the user with the shell.
ssanameReturn filenames of associated stashsplit files
sswWrite fields to a stashsplit directory
stashTranslate a stash code to a string or vice-versa
stash2submodel Accept a scalar or vector stashcode and return a corresponding scalar or vector indicating for each input stashcode the submodel it belongs to at versions <=4.0, when submodels were not defined.
stashlistList details of fields associated with pp_assoc or ss_assoc
stashsplitTakes fields from a number of Unified Model ppfiles and stores them in a directory ss_dir, with filenames organised in terms of stashcode,date,lbproc and meaning period. To retrieve data from the stashsplit directory, use ss_fn to generate filename(s) or ss_assoc with ppa.
stdev Compute the standard deviation and, optionally, the mean of any array.
stdevmdiFind standard deviation, taking missing data into account
strleftExtract a portion of a string from the left
strpadPad strings to a fixed length
strrenamevarRename occurrences of a variable name in a string
strreplaceReplace occurrences of substring in a string with new substring
strrightExtract a portion of a string from the right
strstripTurn the input into a string with no leading or trailing blanks
studenttCalculate Student's t probability
styleEncode options controlling colours and the colour bar for pp_contour
submodel2namegiven UM submodel name or ident return ident or name
table_support.inc Shared routines used by group_by.pro and query_table.pro
tagReturn a field of a structure expression
tensor_mul Returns a full tensor binary-multiply
tensor_operate calculate general 'tensor binary operation'
test_shared_objectprocedure provides informative error messages about shared object libraries used by LINKNLOAD
ticknamecompute names for a longitude axis compute names for a latitude axis Generate strings to label supplied set of values
time_tick_valuescompute values at which to tick and label a time axis
time_ticknamegenerate ticknames for time axes given an array of date structures
tsarea_avgMake a timeseries PP field from area-averages of regions of PP fields
tsavgAverage a timeseries field either over points or over sample times
tscatStick timeseries fields together
tsdaily_avgForm an average daily cycle from all days in the sample for each gridpoint. Note at present the function expects a complete number of days and takes no account of missing data. A value of IB=5 in LBTIM is used to indicate the resultant timeseries is a mean daily cycle.
tsdayGenerate a Julian day vector for a PP field where the y-axis is time
tsderiveDifferentiate a timeseries field along the time (y-) axis
tsdtGenerate date-time structures for a timeseries PP field
tsextract_ptto extract a single point from a vector of PP fields into a ts structure
tsfitFit a polynomial to timeseries in a timeseries field
tsfoldProduce a multiannual-average timeseries field
tshplotPlot a frequency or probability density distribution from a PP timeseries
tsintegrateIntegrate a timeseries field along the time (y-) axis
tslumpIncrease the time interval of a timeseries by averaging in groups
tsplotPlot timeseries from timeseries PP field
tsppConstruct a timeseries field by extracting points from a series of spatial PP fields read in from files
tsrecycleProduce an annually repeating timeseries from a timeseries of a year or less
tsshiftObsolete
tstotalAdd up a timeseries field either over points or over sample times
tswheredtIdentify samples in a time-series satisfying a date-time condition
tsxExtract a time-series field for selected points and dates
ukmo_bilinearbilinearly interpolate from one 2d input grid to another
ukmo_coldstartPV-WAVE startup file.
ukmo_color_bardraw a color bar for given colours and levels in region coords
ukmo_color_convertGets the dimesion of a variable. When running on a 24-bit display converts colour table index(ices) values to 24-bit long integer equivalents.
ukmo_histogramCalculate the frequency distribution of an array
ukmo_html_initensure HTML functions are defined
ukmo_legend Put a legend on a graph. Combines most of the functionality of UKMO LEGEND2 and VNI User Lib LEGEND2 but everything but the labels now passed using keywords instead Individual control of the color, the line type thickness, plotting symbol and so on is provided for each line in the legend
ukmo_medianFinds the median value of an array, or optionally, returns the median value of one dimension of an array.
ukmo_paletteInteractive colour palette manipulation tool.
ukmo_roundRound off numbers to specified number of significant figures or decimal palces or do corr truncate if /down set
ukmo_sameCompares two variables to see if they are the same, using fuzzy equality for floating point numbers and allowing structure tag names to be ignored.
ukmo_set_rcSet a value to be returned by the wave_wrapper script to Unix
ukmo_uniqueIdentify the unique values in a vector
ukmo_xyoutsUKMO wrapper to XYOUTS - allows vector arguments as well as scalars. Number of text labels drawn will be the same as the largest number of elements in any of the three inputs. The routine also allows shifts above and along the text line to be specified in terms of a given number of chracters. In addition absolute shifts in the x and y point at which the text line starts can be specified in data, device or normal coordinates.
um_valuesDefine a system variable containing values of physical constants as used in the UM
uncompressAttempt to uncompress a file using the UNIX gunzip and return success or failure
usersym_settests if a user defined plot symbol (psym=8) has been defined by a call to USERSYM, thus it is safe to use PLOT etc. with psym=8
var2dtConvert a set of variables to date-time structures
var2julConvert a set of variables to Julian day number
velovect2 Produce a two dimensional velocity field plot. Draw a directed arrow at each point showing the direction and magnitude of the field. The arrows will have a scaling which depends on the magnitude of the max x and y components.
vert_coord A function which takes the orography or p* field as input and calculates the position-dependent vertical coordinate values in metres (for hybrid height) or Pa (for hybrid pressure) depending on the definition of the vertical coordinate
view_tiffDisplay on the screen, the image contained in a '.tiff' file
warningprint out a warning message or fail on error
weights4interpfind pointers and weights for linear interpolation
wheredtIdentify date-time structures satisfying a search condition
whereisCalculate and return the latitude/longitude coordinates of a point in a field
whichboxFind the grid boxes containing the specified points
window_selectPrompts the user to select an area on a window.
wmo2_to_umstashTo convert table 2 grib codes from WMO Table 2 to UM stash codes.
words_strextract words form input strings.
wraplongitudeConvert input longitudes to values within a range 0 -- 360 plus a specified base
writeppwrite out a PP field or pp_flds
ww_pp_contourwidget wrapper for PP_CONTOUR
xfilenameComplete filename(s) by shell pattern matching and searching a path, optionally adding a suffix. (See Procedure).
xfnExpand a filename, with prefix, .pp suffix and pattern matching
xhakHAK if X device, carry straight on otherwise
xwindowExecute window if the device is X, with a limited number colours by default
yesnoGet a Yes or No response from the user

Hadley Centre applications

acinfoReturn account information for a given user
anova_spectralPerform ANOVA in the spectral domain, and associated signif tests
ar_spectrumCalculate a theoretical autoregressive spectrum at given frequencies.
bartlett Performs Bartlett's test of homogeneity of variances
calc_densCalculate potential density (sigma theta) using potential temperature and salinity fields from UM ocean model and the coefficients for the equation of state appropriate to the surface. Equivalent to STATED in the model.
camassocAssociates PP fields known to the Camelot Dataline database
camdirFind directories in Camelot Dataline which contain specified fields
cc_oplotTo wrap call to VNI OPLOT routine with the UKMO_COLOR_CONVERT function to make it able to display on 8 bit pseudo colour or 24 bit true colour devices.
cc_plotTo wrap call to VNI PLOT routine with the UKMO_COLOR_CONVERT function to make it able to display on 8 bit pseudo colour or 24 bit true colour devices.
cc_plotsTo wrap call to VNI PLOTS routine with the UKMO_COLOR_CONVERT function to make it able to display on 8 bit pseudo colour or 24 bit true colour devices.
cdf_2_probcalculate probabilities of a series of values from a cumulative probability distribution function.
check_hadcm3_ratesCompare instantaneous differences in ocean T and S at the beginning and end of a period with the sum of the diagnosed rates of change, and analyse the conservation by each of the separate processes. The results are printed on the terminal. Temperature and salinity are separately ana- lysed. For each quantity at each level, the routines shows the area-average, local max and min change over the period, and the corresponding statistics for the difference between the sum of the separate rates multiplied by the meaning period and the actual change over the period. Then each process is separately analysed. The equivalent volume-average heat or water flux is shown for each. For those quantities marked "H" in the listing, the area- average at each level is calculated, and the max and min of these averages out of all levels is shown. These quantities are those which should conserve within each level. For those marked "V", the vertical integral at each point is calculated, and the min and max over all points is shown. These quantities are those which should conserve within each vertical column.
cloud_waterpathComputes and plots zonal means of total liquid and frozen cloud waterpaths together with the liquid water path from SSMI data.
comp_ice_depthcompute real ice depth given effective ice depth, snow and fract ice cover
cross_covariance Calculates an autocovariance function for one timeseries or a cross-covariance function for two timeseries.
cross_spectrum Do a spectral analysis of a timeseries.
datadirReturn the value of environment variable DATADIR for a given user
ddc2ppConvert IPCC DDC ASCII data to PP format
dupl_elementsOutputs duplicated elements in an array
eof_rotate Rotate EOFs using variamax or quintimax algorithms.
f77_area_avgDo area avgerage over one or more masks/regions of a file with pp-fields of identical size. Much faster than PPA and PP_AREA_AVG. However, only does BOX averaging at the moment and might give different results to PP_AREA_AVG.
f77_extract_ptExtract point(s) in a file of identically sized pp fields.
f77_field_countTo count number of fields in a file where fields are all same size. No checks are made for this as this program is designed for pace.
f77_grid_sizeReturn LBNPT, LBROW and LBEXT of first pp field in file.
f77_ppvintIntegrate over depth of 3D pp fields on pressure or sigma levels.
f77_read_first_fieldRead in first field of a pp file. Saves doing a PPA of whole file.
f77_strmfnCalculate horizontal streamfunction field from U and V at a particular level in the atmosphere
f77_velpotCalculate velocity potential field from U and V at a particular level in the atmosphere
famous_transa2oPerform the calculations of the atmosphere->ocean UM coupling routine TRANSA2O as used in Famous
find_coastFind all coastal/edge points, and for each facing-direction
find_max_sectFind which climate mean or prognostic section has the largest number of occurrences of the specified stash item numbers
fisher Calculate a fisher-Z statistic. This transformation makes a distribution of correlation coefficients normal.
fixoppdumpSearch on unit nin for PP field(s) satisfying the expression and return as PP structures. Fix up an ocean dump converted to a PP file for transfer to the C90, and generate namelist data for conversion back to a dump. The reason for this procedure is to uncompress the fields.
gen_pdf_histo_pntTo plot histogram of a single point pdf (histogram) field.
glacierCalculate sea-level rise due to glacier melt
greyshadeProduce robust greyscale for pp_contour plot pr,d='mono printer',/ps. (FOR INFORMATION & EXAMPLES SEE FAQ http://www-hc/~hadyy/Docs/Greyshade.news)
grideditorWidget interface for easy editing of pp-fields
groupdirReturn the value of environment variable groupdir for a given user
groupdir_filesumAid data management on GROUPDIR, esp. of stashsplit files
gunzip_multiTo gunzip a string of files, removing '.gz' from the string elements
gzip_multiTo gzip a string of files, adding '.gz' to the string elements
hadcm3_transa2oPeform the calculations of the atmosphere->ocean UM coupling routine TRANSA2O as used in HadCM3
hadley_logoDraw the Hadley Centre logo
hadley_title Prints the Hadley Centre title at bottom LH corner (default) of postscript plot when invoked after plotting and before prend
internal_varEstimate the population 'internal variance' of a timeseries ensemble
ipcc_icemeltEstimate the sea-level rise from melt in Antarctica using IPCC sensitivity and temperature anomaly fields
kurtosis Measure kurtosis of data.
lag_windowCalulate one of the standard lag-windows used in spectral analysis.
lapserateCalculate saturated adiabatic lapse rate
latlon2distanceCalculate the physical distance (in KM) between a pair of points on the Earth's surface (given as lat/longs)
leps_calcCalculate LEPS skill scores given an array of observed data and an array of model data.
leps_scoreCalculates a vector of LEPS scores from probabilities of observed and modelled values.
leps_skillCalculate LEPS skill from LEPS scores, and maximum and minimum scores
levellayerConvert layer centres to layer thicknesses or boundaries
low_passPerform low-pass Butterworth or Chebyshev recursive filter.
mann_kendall Non-parametric statistical test for trend against randomness
meadplots ocean model poleward heat and salt fluxes ("Mead Diagnostics")
mead32plots ocean model poleward heat and salt fluxes - for u.m. versions 3.2 and after. ("Mead Diagnostics")
merid_strmcompute ocean meridional stream function
mf_glacierMetafunction for directories containing glacier output
mldepthDeduce ML depth from 3D in-situ temperature or sigma-t
n_heatcalculate ocean northward heat transport implied by surface fluxes and return resulting values in an array.
oceandepthDerive information about ocean depth in various forms
oplot2_colpdf_histo_pntTo plot histogram of a single point pdf (histogram) field.
oplot_colpdf_histo_pntTo plot histogram of a single point pdf (histogram) field and overplot another.
pa_at_netheatfluxCompute surface net heat flux from atmosphere
pa_buoyancy_fluxCalculate ocean surface buoyancy flux
pa_catStick together PP fields from disk or memory
pa_dslCompute fields of sea-level rise from the surface pressure, MSLP, thermal expansion and glacier melt
pa_dsssdtCalculate the rate of change of surface salinity from water fluxes
pa_hovmullerMake time-lat or time-long field from fields in a stashsplit directory
pa_isccp_d2 Vector version of pa_isccp_d2_single To be used only via ss_assoc_isccp_d2()
pa_isccp_d2_single Return a vector of 9 isccp d2 cloud types cache these in the directory associated with the input handle ss_dir is returned if new fields are written
pa_oc_massCalculate the mass of the ocean below the rigid lid
pa_oc_netheatfluxCompute the net heat flux into the ocean-ice system
pa_oc_surfaceCalculate the ocean surface pressure from the depth-averaged baroclinic acceleration, optionally including the effect of the rate of change of barotropic flow.
pa_qfluxcompute timeseries of total water flux into land (or land) (P-E-R) (over land points) or (P+R-E) (over ocean)
pa_strm_fncompute all ocean meridional stream fns directory
pa_strm_fn_newcompute all ocean meridional stream fns directory
pa_time_depthMake time-depth(or any other vc) field from fields in a stashsplit directory
pa_time_lumpCalculate time-means for a single meaning period and quantity
pa_timemeanForm a mean over time of a 2D or 3D field
pa_vtotalCalculates total ocean velocity
pats_area_avgarea average fields that match supplied search conditions from files in stashsplit directory -- a timeseries is returned
pats_cetReturn timeseries of "Central" England Temperature at 1.5 m.
pats_extract_ptConstruct a timeseries field by extracting points from a vector of associated pp fields or from pp files within a stashsplit directory.
pats_forcingComputes total tropopause forcing
pats_ice_heatcontentcompute the area averaged energy in the ice part of the model
pats_ice_netheatfluxcompute a timeseries of the net surface flux into sea ice
pats_landqcompute timeseries of mass of water per m^2 on land (Note that this is per m^2 of *land* area, not total world area.)
pats_naoCalculate North Atlantic Oscillation index: surface or mean sea level pressure at Ponta Delgada minus that at Stykkisholmur.
pats_nino34computes nino3.4 temperature
pats_oc_heatcontentcompute the area averaged ocean heat content (heat capacity minus latent heat of fusion of ice and snow) per unit area of ocean
pats_oc_netheatfluxcompute a timeseries of the net surface heat flux into the ocean (power per unit of global ocean area)
pats_oc_overturnCalculate timeseries of the maximum of the meridional-overturning streamfunction in a particular region of the ocean
pats_qfluxcompute timeseries of total water flux averaged over the land surface, ocean surface or global surface
pats_saltCalculate the ocean salinity budget
pats_soicomputes southern oscillation index (darwin - tahiti)
pats_vol_avgCalculate a timeseries of volume-average from 3D fields
percentileCompute specified percentiles of an array
perimeter_intIntegrate the flux around the perimeter of an area
periodogram Calculate Periodogram of a timeseries.
permdirReturn the value of environment variable permdir for a given user
plot_lowpass_transfer_fnPlot a transfer function (%power returned v. frequency/period graph) for filter in LOW_PASS. This is not exact as it is based on a sample random time series. Also half power is printed out for PERIOD keyword. The program can be used by trial and error to determine the cut off value for LOW_PASS.
pm2nss makes non_standard seasonal means of pp fields from a) a vector of pp-fields or b) a vector of pp file names. For the file names the function works in each file at a time and then concatenates the answer together at the end.
pottemCalculate temperature of water moved adiabatically from one pressure to another; useful for conversion insitu<->potential temperature
power_spectrum Do a spectral analysis of a timeseries.
pp2ddcConvert PP data to IPCC DDC ASCII format
pp_akbkgenerate the Ak, Bk or Hybrid level values from pp fields and keywords
pp_bartlettPerforms Bartlett's test of homogeneity of variances on pp field
pp_boxedgesFind the edges of the box surrounding a point of a pp field.
pp_c20cmetaConstruct a file basename from a PP header using more information than the stashsplit default
pp_code2fnConstruct a filename from a header using more information than for stashsplit. *** NB pp_code2fn3 is a better version ***
pp_code2fn2Construct a filename from a header using more information than for stashsplit. *** NB pp_code2fn3 is a better version ***
pp_code2fn3Construct a file basename from a PP header using more information than the stashsplit default
pp_code2fn4Construct a file basename from a PP header using more information than the stashsplit default and specifically adds in information from brsvd(2) - defined in this context as a threshold value.
pp_code2fn5Construct a file basename from a PP header using more information than the stashsplit default and specifically adds in information from bdatum - defined in this context as a threshold value.
pp_colrowGiven an index of a field point, return the row and column numbers in either PV-WAVE or Fortran convention.
pp_contour_isccp_d2 Wrapper for pp_contour to plot 9 ISCCP D2 fields
pp_cross_spectrumDoes a cross-spectral analysis at each grid point.
pp_drhodstCalculate partial derivatives of density of seawater w.r.t. temperature and salinity
pp_file_copy_hdrCopy header information from one PP file to another
pp_fill_neighbourFill missing points with the average of their 4 nearest neighbours where available
pp_filterto retain variability on a given time interval.
pp_inside_regionFind which points in a rotated pole domain lie inside a regular lat/lon region.
pp_internal_varEstimate the pop 'internal variance' field of a timeseries of ppflds
pp_interpolateinterpolates PP fields onto grid of a reference PP field
pp_isocalculate depth of a particular isotherm.
pp_lepsCalculate LEPS skill scores from pp-data.
pp_lpfPerform low-pass Chebyshev recursive filter.
pp_nameExtracts a shortened name from a full pp dataset name. Eg. pp_name('/trans/trans5/mef/hadnb/cango_p3j5910.pp') would return the string 'cango'. Ideal for use in titles. (See also pp_season).
pp_oc_expandCalculate expansion of ocean and sea-level change
pp_pdf_histo_pntTo plot histogram of a single point pdf (histogram) field.
pp_pdf_pointConstruct pdf (histogram) field for single grid point.
pp_pdf_thresholdConstruct probability and mean fields for exceeding given thresholds or field of probability of lying in given range.
pp_pdf_uppertailCalculate the values for the upper tail thresholds of a pdf (or pdf field) given a percentage probability, or calculate the percentage probability (field) for a pdf (field), given a threshold (field).
pp_percentileCompute specified percentiles of data in a PP-field (points on a PDF)
pp_plot_boxPlot lines marking the boundary of the specified rectangular region
pp_polar_windyPlot wind vectors on a polar stereographic grid
pp_power_spectrumDoes a spectral analysis at each grid point.
pp_rcminboxFind which points from a rotated pole PP field lie inside a regular lat/lon region.
pp_recon_from_harsReconstructs a pp field from its harmonics
pp_recycleProduce an annually repeating timeseries/time cross sect/pp fields from a timeseries/time cross section or vector of pp fields of a year or less
pp_rrDiscard a boundary rim of points from an array of pp fields. Most applicable to limited area rotated pole fields.
pp_seasonReturns the season of pp data set by reading its name. Eg. pp_season('/trans/trans5/mef/hadnb/cang0_p3j5910.pp') would return the string 'JJA'. Ideal for use in titles.
pp_smoothSpatially smooth an array of pp fields, ignoring missing data
pp_smooth_basicSpatially smooth PP data by averaging over neighbouring grid boxes
pp_sphericCalculates spherical harmonic coefficients for a PP field
pp_strmfTo Calculate the Meridional Stream-function from the Zonal Wind on pressure levels. This routine is equivalent to VSTRM in the PP-package.
pp_time_coordsreturn the time co-ordinatates for a field.
pp_umfnConstruct filename(s) in stashsplit directory from PP field(s)
pp_zint_modelIntegrate a 3D field over several pressure levels where the fields input are on model levels (this can include finding the maximum value in the levels e.g. cloud amount with 'maximum overlap'.
pp_zint_pressIntegrate a 3D field over depth where the fields input are on pressure levels
pp_zint_wrtpPerform a vertical integral from surface to TOA, wrt pressure
pp_zintm_cldamtFind the cloud % amount across two pressure levels from data for a model level.
pp_zintm_linpIntegrate a point across two pressure levels within a model level from data for that model level.
pp_zintm_logpIntegrate a field across two pressure levels within a model level from data for that model level.
pp_zintp_linpIntegrate a field across part or whole of two pressure levels
pp_zintp_logpoldIntegrate a field across part or whole of two pressure levels
ppeof_rotateRotates unrotated EOFS using the varimax or the quintimax method. Can also be used to 'flip' the unrotated EOFS so that largest absolute value of an EOF corresponds to a positive value.
qsatCalculate saturation vapour pressure of water or saturated mixing ratio of water in air
qsat_gillCalculate saturated mixing ratio of water in air, incorporating Gill's correction for the small difference between saturation vapour pressure in air and of pure water vapour
rho_eos25Function to calculate density from T, S and pressure.
seasonal_anomalyGenerate seasonal or monthly anomaly fields
signif_corr Calculate the correlation coefficient which is X% significant with data N points long.
ss_addRemake pph file in a stashsplit directory to include new .pp files
ss_assoc_isccp_d2Associate a directory containing UM ISCCP diagnostics calculating and cacheing derived ISCCP D2 diagnostics
ss_checkdirsCheck for missing PP files in metasplit directories
ss_cpCopy fields from one metasplit/stashsplit directory to another
ss_levitus94Stashsplit Levitus 94 data, compute monthly insitu temperatures, sigma-t, potential density, ML depth by two definitions, and seasonal and annual means of all quantities
ss_mergeGather fields from several metasplit/stashsplit directories
ss_mkdirCreate a stashsplit/metasplit directory
ss_mvMove fields from one metasplit/stashsplit directory to another
ss_rmRemove PP fields from stashsplit directories
ssgSearch function for directories containing glacier output
std_ice_tsPlots ice time series for Arctic and Antarctic
std_plot_tsplot timeseries and cross sections
stdmapmenuwave version of the PPGRAL map plotting routine
taperGenerate data window for tapering data. This is necessary in spectral analysis to avoid variance leakage due to finite Fourier transform. This means that contamination of the variance at a frequency from nearby frequencies is reduced. However the tapering tends to merge adjacent frequencies in the periodogram. The Split Cosine Bell is an intermediate taper and is the default.
tempdirReturn the value of environment variable TEMPDIR for a given user
time_cache_evalEvaluate a function which depends on time if there are new input times since it was last evaluated, and cache the result
time_cache_joinglue together two non overlapping timeseries into one. glue together two non overlapping time cross sections into one. Concatenate fields along their time axis
ts2pdfGenerate frequency or pdf field from a time series
ts_commonTakes an array of time series fields and returns a field at the subset of time points where there is data in all fields.
ts_power_spectrumPower spectrum of a time series with significance testing
ts_ppa_allConverts a set of pp timeseries fields from a set of files or a list of pp timeseries fields of different length in time into one pp timeseries file with the same length timeseries. Missing data values are inserted into the timeseries for the shorter input timeseries. This is useful when you are dealing with different sized time series.
ts_splitSplits a single field of multiple timeseries into an array of single timeseries pp fields
tsagroProduce timeseries PP fields from the European agromet. dataset
tsausrainProvide daily Australian BMRC precipitation data as PP timeseries fields
tspp2Construct a timeseries field by extracting points from a vector of associated pp fields or from pp files within a stashsplit directory.
tsukrainProduce timeseries PP fields from the UEA CRU daily precipitation dataset
tsusaProvide daily US site data from NCDC as PP timeseries fields
tswaveletFit an AR(1) model to a timeseries. Compute wavelet power spectrum (WPS) with confidence limits
uccTo wrap call to UKMO_COLOR_CONVERT
ummonitorCalculate, cache and display fields for monitoring UM runs
unescocalculate density using unesco eqn
vbarotropicCalculate barotropic velocity
whereis_1dReturn latitude and longitude of a point in a field
white_noiseTest the null hypothesis that the spectrum of a timeseries is white
xcloudPlots a cross section of cloud amount together with temperature.
xcloud_waterPlots a cross section of cloud water (frozen and liquid) together with temperature at any chosen latitude or longitude.
xthetaPlots a cross section of potential temperature at 180 West together with temperature.