NCL Home > Documentation > Functions > Metadata routines

# iscoord

Returns True for every input string that is a coordinate variable of the given variable.

## Prototype

```	function iscoord (
var          ,
coord_names  : string
)

return_val  :  logical
```

## Arguments

var

A variable of any type and dimensionality.

coord_names

An array of strings of any dimensionality.

## Description

For each element in the coord_names list, iscoord returns True if it is a coordinate variable of var, and False otherwise. If var is not a variable, then a single missing value is returned.

This function is useful for checking if coordinates are attached to a variable before accessing them.

## Examples

Example 1

Assume x is a 3D variable, and that we want to check if it has coordinate variables called "lat" and "lon"; if so, print out their mins and maxes:

```  if(all(iscoord(x,(/"lat","lon"/)))) then
print("min/max x&lat = " + min(x&lat) + "/" + max(x&lat))
print("min/max x&lon = " + min(x&lon) + "/" + max(x&lon))
end if
```

Example 2

Assume Data is a 2D array that you want to copy its data and coordinate arrays, if they exist, to a new variable, newData:

```  newData = (/Data/)      ; Copy data only, no metadata

if (.not.ismissing(Data!0) .and. iscoord(Data,Data!0)) then
newData!0        = Data!0         ; copy the dimension name
newData&\$Data!0\$ = Data&\$Data!0\$  ; copy the coord variables
end if
if (.not.ismissing(Data!1) .and. iscoord(Data,Data!1)) then
newData!1        = Data!1         ; copy the dimension name
newData&\$Data!1\$ = Data&\$Data!1\$  ; copy the coord variables
end if
```