K-Means is a clustering algorithm : it aims to separate your dataset in k groups of equal variance. You do have to specify the k, and the algorithm automatically find the k groups that are supposed to be groups of cohesive data.
You can find examples of K-Means runs here and code to run it in Python : http://scikit-learn.org/stable/modules/clustering.html#k-means
For more examples of clustering results, please, take a look at this link : http://scikit-learn.org/stable/modules/clustering.html#clustering
You do not describe abiotic and biotic data, so I cannot help more about this.
without a descritption about the data structure it is difficult to answer.
In any case, if you want to do clustering, you need a distance matrix. For it's calculation the distance metrics must be chosen with care depending on the the distribution of variables (nominal, ordinal, continuous).
You might also think of model-based clustering that is computationally slower but often gives better results than k-means.