TopoSUB clustering with land-cover types for areas of irregular shapes #95
Replies: 2 comments 10 replies
-
Hello @achillejouberton , welcome onboard! Very neat work! and very nice figures!
I hope this help you. |
Beta Was this translation helpful? Give feedback.
-
Hello!
The K-mean clustering is then run other this sub-sample of points, and then I adjusted the creation of the cluster map with "NaN" outside the mask:
See the figure below, it seems to work quite well, and would to solve the first issue I raised at the start of the discussion. Then I also attempted to do that for a land-cover class, removing from the dataframe all rows for which the land-cover is not equal to - for example - 8 (with 8 = glacier).
It works as well, cf. figure below. Now it seems to me that to achieve what I want, I would need to loop over the land-cover class and apply the k-mean clustering for each sub-samples, and then combine the clusters in one final map. The total number of clusters (n_clusters) chosen in the config file could be distributed somehow to each land-cover types (based on their relative area?), and it could be also possible to increase the number of cluster for a given land-cover class (for e..g., glacier). Best, |
Beta Was this translation helpful? Give feedback.
-
Dear TopoPyScale community,
My name is Achille Jouberton, a PhD student within Francesca Pellicciotti’s group at WSL (Zürich, Switzerland).
My research focuses on land-surface modelling at glacierized catchments in High Mountain Asia, focusing on snowfall dynamics and glacier mass balance. I am using a land-surface model at 100m spatial resolution over catchments which are 100-300 km^2 in size, and since a couple of months I have attempted to use the clustering approach implemented in TopoPyScale to perform much faster fully distributed simulations (yet neglecting lateral exchanges). The results are quite promising, I show an example of such application at Parlung No.4 glacier (Fig. 1), the results between the clustered approach (T&C-175-Clusters) and the fully distributed run (T&C) are very similar for snow cover fraction (Fig. 2) and distributed glacier surface mass balance (Fig.3). The computational time went down from ~35 hours to ~30min by using the cluster approach.
Using TopoPyScale, I faced the following challenges and came up with the following temporary solutions whenever necessary:
TopoPyScale seems to only accept a complete – rectangular – DEM with no missing values and no options to provide a catchment mask. In our case, we only want to perform simulations within a given catchment, which usually has a very irregular (not rectangular) shape. I was wondering if it would be possible to bring some (small?) modifications to TopoPyScale such that it can apply the TopoSUB clustering on an area of irregular shape.
From my understanding, the clustering done by TopoSUB can only deal with continuous variables (e.g. elevation, slope, etc..) as predictors. In my work, it would be greatly useful to be able to also add discrete (categorical) variables in the clustering. More specifically, the land cover type is a very important model parameter (e.g. grass, bare soil, glacier, etc..), such that I would not want grid cells with different land-cover types to belong to a same cluster. For now, I am first doing the clustering with TopoSUB, then I am adding a post-processing step (in Matlab) where I intersect the land cover map with the cluster map, which increases the number of clusters by a factor of 2 to 4. See an example in Figure 4.
As the work of my colleagues and myself has a clear focus on the glacier areas, we might need to increase the number of clusters for a given land-cover type (e.g. glacier). I was wondering if this is something that could also be done with TopoPyScale. See an example in Figure 5 (which was also obtained after some post-processing done in Matlab).
Sadly, I don’t have much experience with Python to directly suggest some modifications to the code to bring the changes that I would need, but I would be glad to hear your opinion on all of this. I already had some discussions with Joel Fiddes who was quite enthusiastic about this and recommended that I post this message here.
Best regards,
Achille
Beta Was this translation helpful? Give feedback.
All reactions