Writes one column's values to an open parquet_writer (writer), under
the given column name (name), dispatched by the actual/declared
type/kind of values (scalar values(:), one value per row; or
matrix/vector values(:,:), (element, row) values). is_valid (optional)
marks per-element nulls (matching values' rank); a .false. entry for a
protected column (see parquet_column_type%is_protected) error stops.
A scalar "string" column can also be passed as a type(parquet_string_column) (see
module parquet_strings, doc/pages/types/string-columns.md) instead of a padded
character(len=...) array -- this specific carries its own per-element null status (see
%append_null/%is_null), so is_valid is not accepted for it; every null already in the
column is written as a Parquet Null directly. Scalar (1-D) columns only -- there is no
vector/matrix parquet_string_column specific, unlike every other type family above.