NCL Home > Documentation > Functions > Array query

# isscalar

Returns True if the given argument is a scalar (rank one and size one).

Available in version 6.4.0 and later.

## Prototype

```	function isscalar (
x
)
```

## Arguments

x

A variable of any type.

## Return value

Returns True if x is a scalar; False otherwise.

## Description

In mathematics, a 'scalar' refers to a variable (x) of type numeric that has an array rank and size of one. This implementation adopts a broader definition. Here a scalar is defined as "an atomic quantity that can hold only one value at a time".

If a user wishes to restrict the test to type numeric, the following approach could be used:

```
if (isnumeric(x) .and. isscalar(x)) then
...
end if

```
or a user defined function could be created:
```
undef("isscalar_num")
function isscalar_num (x)
begin
if (isnumeric(x) .and. isscalar(x)) then
return(True)
else
return(False)
end if
end

```

## Examples

Example 1

```       i = 1
x = (/ 3.3, 7.3111 /)
s = "s"
S = (/ "a", "q", "z"/)

print("isscalar(i)="+isscalar(i))
print("isscalar(x)="+isscalar(x))
print("isscalar(s)="+isscalar(s))
print("isscalar(S)="+isscalar(S))
```
yields
```

(0)    isscalar(i)=True
(0)    isscalar(x)=False
(0)    isscalar(s)=True
(0)    isscalar(S)=False
```