ec-jrc / lisflood-code

Lisflood OS - LISFLOOD
https://ec-jrc.github.io/lisflood
European Union Public License 1.2
122 stars 50 forks source link

Regarding Dataset prepartion for Kelaniya River Basin, Sri Lanka #175

Open Hrekhani97 opened 1 month ago

Hrekhani97 commented 1 month ago

Hello,

I am Madhawa, a student from Sri Lanka. I am planning to use the LISFLOOD model for my research on the Kelaniya River Basin in Sri Lanka. I have successfully installed the model and run the test cases. Currently, I am working on creating a custom dataset for the Kelaniya River Basin. I’ve already developed general maps and topography maps, except for the elvstd.map, and have created land use fraction maps based on local land use data.

I am facing a few challenges and would appreciate your guidance on the following issues:

I used the MERIT DEM to create all the general and topography maps and plan to run the model at a 1 km x 1 km spatial resolution. Could you please advise on how to create the elvstd.map file using PCRaster within QGIS? Do I have to calculate the elevation standard deviation for the original Merit DEM file and resample that to my target resolution?

For the land use fraction maps, I relied on a local land use survey to obtain accurate data. Could you explain the process for calculating land-use-dependent layers, such as the crop coefficient and crop group number? The methodology on the website involves a large number of land use classes, whereas my dataset for the Kelaniya Basin uses a simplified local classification. How should I proceed to develop these two layers in this context?

Thank you very much for your time and assistance. Your support would be greatly appreciated.

Best regards

StefaniaGrimaldi commented 4 weeks ago

Dear @Hrekhani97,

we are pleased to know that you plan to use OS LISFLOOD in the frame of your research study.

Please find in this page the protocol for the computation of the elvstd map: https://ec-jrc.github.io/lisflood-code/4_Static-Maps_topography/ . The elevation field at the target resolution (1 km) is obtained by computing the average of the original high resolution map (mean.unweighted()). elvstd is the standard deviation of the elevation of all the high resolution cells included into one grid of your target grid (stDev.unweighted()). To achieve this aim, you can use the software and protocol of your choice.

In each pixel, the sum of all land use fractions must be 1. This is a strict requirement to ensure mass balance and correct computations. This page https://ec-jrc.github.io/lisflood-code/4_Static-Maps_land-use-depending/ explains how the classes included in the "Copernicus Global Land Cover Layers: CGLS-LC100 collection 2" were associated to the land cover fractions. When using the local classification available for your study area, you can allocate each class of your database to the most representative land cover fraction (forest, irrigation, other).

As a general piece of advice, we strongly recommend using netcdf format, rather than pcraster format (for example, the netcdf format allows you to define pivotal metadata information such as the geographical reference system).

I hope that this answer was helpful. Please let me know if I missed or misunderstood parts of your inquiry. Kind regards, Stefania

Hrekhani97 commented 2 weeks ago

Dear @StefaniaGrimaldi,

Thank you so much for the information provided. I have now created the land use fraction maps and am currently preparing the land use-dependent maps. I have a quick question regarding the creation of crop coefficient maps such as cropcoef_f and cropcoef_irri. When assigning values, they are specific to the relevant land use classes. For example, the final crop coefficient values for the forest file will only contain pixel values where forest land use classes are present, and other pixels will be assigned no-data values, correct? As you can see, the pixel values are ranging from 0.7-1.1 and no-data value was assigned to the rest of the area (where there is no forest cover). However, I noticed that there are no missing or no-data pixels in your test datasets and the global 03-minute dataset. But, when preparing these files, we assign a 0 value for the areas with no forest cover right, but, how did all the pixels get a value at the end? Could you kindly clarify this?

image

Below is my forest fraction layer (just for your reference).

image

Thank you for your assistance

Hrekhani97 commented 2 weeks ago

Hi, I think I figured it out. We need to replace the null values with the global mean values of Kc, Kg, and Km.

Thank you for your assistance.

Best regards

StefaniaGrimaldi commented 2 weeks ago

Dear @Hrekhani97, your understanding is correct. OS LISFLOOD does not accept No Data within the modelling domain. As explained here https://ec-jrc.github.io/lisflood-code/4_Static-Maps_land-use-depending/, the recommended solution is to use mean values (computed by excluding all nil Kc, Kg and Km values, respectively) for pixels where the specific land cover class is not present. We will be pleased to provide further assistance, kind regards, on behalf of the developers team, Stefania

Hrekhani97 commented 2 weeks ago

Dear @StefaniaGrimaldi,

Could you please provide some additional clarification on the following point?

When developing land use-dependent layers, we primarily consider three land use fractions: forest, irrigated crops, and other LULC types. Therefore, when calculating the Manning's coefficient for these three land use classes, we do not take built-up areas/sealed surfaces into account, correct? However, when it comes to flood modeling, the Manning's roughness of sealed surfaces plays a significant role specially during a flood event correct?

If I understand correctly, we are assuming that approximately 25% of the sealed surfaces are permeable. With this in mind, would it be appropriate to categorize this portion under a under other landuse class when defining the manning coefficient?

How do the model accurately incorporate surface roughness details for sealed surfaces in our calculations?

Thank you for your continuous support. I look forward to your guidance on this matter.

StefaniaGrimaldi commented 2 weeks ago

Dear @Hrekhani97,

OS LISFLOOD computes surface routing for sealed surfaces (included in the direct runoff fraction) in this module: https://github.com/ec-jrc/lisflood-code/blob/fe94c33b6bd9fe09fa7be43a6dd4fdc8a11f744c/src/lisflood/hydrological_modules/surface_routing.py

The Manning's roughness coefficient for sealed surfaces is set equal to 0.02 in this line (this value is applied to all pixels within the computational domain): https://github.com/ec-jrc/lisflood-code/blob/fe94c33b6bd9fe09fa7be43a6dd4fdc8a11f744c/src/lisflood/hydrological_modules/soil.py#L140

The use of a different value or of an input map requires small edits to the source code. In the first case, you will only need to edit the line above by replacing the current value. In the second case (i.e. if you wish to use a map), you will need to prepare a map, add the corresponding key in the .xml settings file, and edit the source code to enable the use of the new input file.

Regarding your question on the permeable fraction of urban areas, you correctly understood the assumption explained in https://ec-jrc.github.io/lisflood-code/4_Static-Maps_land-use/, and your proposed solution is appropriate.

I hope that this answer helps, kind regards, on behalf of the developers team, Stefania

Hrekhani97 commented 5 days ago

Dear @StefaniaGrimaldi, Thank you for your clarification. I am currently preparing the soil hydraulic property layers using the provided pedotransfer functions. I referred to the reference article you mentioned in the methodology (Toth et al. (2015)), and it appears that these PTFs are specific to the European region. In this context, would it be appropriate to use the same PTFs to derive soil hydraulic properties for South Asian countries, such as Sri Lanka?

I have another question: The original bulk density values downloaded from ISRIC are in units of 'cg/cm³'. To apply the PTFs, we need to convert these values to 'g/cm³', correct? Additionally, are there any other soil data layers that require unit conversion before applying the PTFs?

Thank you for your continuous support. I look forward to your guidance on this matter.