This and the following subroutine are useful if you want to find min and max values of a column (at present restricted to REAL32 and REAL64 data types) but have reason to fear that nulls may be present. Real-valued nulls can do funny things to fortran minval() and maxval() functions.
interface minNonNullValue subroutine minNonNullValueSingle(tab, colName, minValue, allRowsNull) type(TableT), intent(in) :: tab character(*), intent(in) :: colName real(single), intent(out) :: minValue logical(bool), intent(out) :: allRowsNull end subroutine minNonNullValueSingle subroutine minNonNullValueDouble(tab, colName, minValue, allRowsNull) type(TableT), intent(in) :: tab character(*), intent(in) :: colName real(double), intent(out) :: minValue logical(bool), intent(out) :: allRowsNull end subroutine minNonNullValueDouble end interface