it is often useful to be able to interrogate an object to see what kind
parameter it has.
KIND returns the integer which
corresponds to the kind of the argument.
for example, KIND(a) will return the integer parameter
which corresponds to the kind of a.
KIND(20) returns the kind value of the default integer type.
the intrinsic type conversion functions have an optional argument to
specify the kind of the result, for example,
print*, INT(1.0,KIND=3), NINT(1.0,KIND=3)
x = x + REAL(j,KIND(x))