Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue in running LISFLOOD calibration for the basin reg. #13

Open
diksha922 opened this issue Jul 15, 2024 · 18 comments
Open

Issue in running LISFLOOD calibration for the basin reg. #13

diksha922 opened this issue Jul 15, 2024 · 18 comments

Comments

@diksha922
Copy link

Hello @StefaniaGrimaldi.

Thank you for guiding me to run the basic LISFLOOD model.

Now, I am trying to run the lisflood calibration for the Tapi basin to calibrate the basin with the observed streamflow at the gauging site.

I am following the steps mentioned on the web to install and run lisflood calibration. However, I am unable to run the calibration tool for the basin.

The steps mentioned in the portal are not clear to me. Even I am not getting the sequence of steps to run the lisflood calibration.

Is there a requirement to create an environment?

Please guide me to understand the step-by-step process.

Thanks & Regards,

Diksha Gupta

@StefaniaGrimaldi
Copy link
Contributor

Dear @diksha922,

it is great to know that you were able to run OS LISFLOOD for the Tapi catchment!

Regarding the calibration tool, we are working on an extensive revision of the documentation. You might be interested in the working document:
calibtool_instructions_working_document.docx

Furthermore, we recommend consulting this issue: #7

We will do our best to reply to specific questions regarding the execution of the various steps.

Kind regards,
on behalf of the developers team,
Stefania

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi,

I am working on the calibration of the Tapi basin. I cannot create the "station_data.csv" and "station_link.csv" files for the Tapi basin. Can you please help me with this?

Thanks & Regards,

Diksha Gupta

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi .

Any updates on the above issue?

@StefaniaGrimaldi
Copy link
Contributor

Dear @diksha922,

station_link.csv is generate by https://github.com/ec-jrc/lisflood-calibration/blob/master/bin/CAL_3_PREP_MISC.py.
You can find an example of station_link.csv here https://github.com/ec-jrc/lisflood-calibration/blob/master/tests/data/stations_links.csv

Please note that in order to run https://github.com/ec-jrc/lisflood-calibration/blob/master/bin/CAL_3_PREP_MISC.py
you must first complete the previous steps of the calibration tool.

This issue #7 provides useful information.

Kind regards,
Stefania

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi.

I am still unable to run the model calibration. Till now, I have completed the basic LISFLOOD model.

I am unable to figure out what files are required to be prepared for model calibration for Tapi basin. Can you please help me out with the step-by-step procedure and files required at each step to run the model calibration. I also have the issues that what are different files are used and how they are linked.

It will be good if the clear steps alongwith the needed files with its format/content be provided. Also, it will be good if an example of model calibration of a basin be provided with all the required files for hydrological simulation. The examples available on lisflood-calibration are not clear for generating required files for my basin.

Please help me out.

Thanks & Regards,

Diksha Gupta

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi .

Please help me with the above issue?

@StefaniaGrimaldi
Copy link
Contributor

Dear @diksha922,

thank you for your kind suggestions on how to improve the documentation and the user guide for the calibration tool. Unfortunately, at the moment we are all busy with operational tasks, we will follow up on your suggestions as early as possible, in 2025.
Nevertheless, we are aware that other users successfully completed the calibration for their case study by following the information already available (see my answers above).
For instance, the first step is explained into detail here #7 (comment) : this message explains the input argument to the python code.

Kind regards,
Stefania

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi Mam.

I have worked on the steps mentioned for the calibration of LISFLOOD model, however, I am getting the following errors:

(base) diksha@diksha-VirtualBox:~/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_1_FILTER_STATIONS.py ./tapi/settings_tapi.txt ./tapi/station_data.csv T
=================== START ===================
Settings:

  • Main
    • forcing_start: 02/01/1979 00:00
    • forcing_end: 31/12/2012 00:00
    • timestep: 1440
    • prerun_start: PRERUN_STARTDATE
    • prerun_end: 31/12/2012 00:00
    • prerun_timestep: 1440
    • fast_debug: 0
    • min_obs_years: 3.5
  • Stations
    • stations_data: ./stations_data.csv
    • stations_links: ./stations_links.csv
    • observed_discharges: OBS
  • CSV
    • qgis: ./stations_data.csv
    • qtss: ./observations.csv
  • Path
    • param_ranges: ./param_ranges.csv
    • subcatchment_path: CATCHMENTS_DIR
    • summary_path: SUMMARY_DIR
  • Templates
    • lisfloodsettings: ./settings_tapi-PreRun.xml
  • DEAP
    • numcpus: NCPUS
    • min_gen: 8
    • max_gen: 24
    • mu: 16
    • lambda_: 32
    • pop: 64
    • gen_offset: 3
    • effmax_tol: 0.003
      Reading input stations data ./tapi/station_data.csv
      4501
      ObsID
      StationName Borgotaro
      Provider ID 1016
      Country code IT
      StationLat 44.514057
      StationLon 9.84219
      Height 354
      Height Units m
      DrainingArea.km2.Provider -
      Catchment Area Units km2
      Added Date 18-09-2012 19:00
      River Taro
      Catchment Po
      EC_Catchments Po
      Calibration ID -
      DrainingArea.km2.LDD 400
      LisfloodX 4307500
      LisfloodY 2377500
      RealTime FALSE
      PostProcess FALSE
      FixedRepPoint TRUE
      HasWL 1
      HasD 0
      Alive D 1
      StartDate_hist_24 21-09-2006 00:00
      EndDate_hist_24 01-07-2008 00:00
      StartDate_nrt_24 09-05-2012 00:00
      EndDate_nrt_24 08-11-2017 00:00
      StartDate_hist_6 20-09-2006 18:00
      EndDate_hist_6 01-07-2008 00:00
      StartDate_nrt_6 08-05-2012 12:00
      EndDate_nrt_6 07-11-2017 12:00
      DiffDays_hist_24 649
      DiffDays_nrt_24 2009
      DiffDays_hist_6 649
      DiffDays_nrt_6 2009
      cal_hist_24h FALSE
      cal_nrt_24h TRUE
      cal_hist_6h FALSE
      cal_nrt_6h TRUE
      CAL_TYPE NRT_6h
      Notes -
      EC_calib T
      Dam/Lake -
      EnoughQdata 1
      Val_Start 08-05-2012 12:00
      Val_End 02-01-2012 06:00
      Cal_Start 31-12-2016 06:00
      Cal_End 31-12-2017 06:00
      CatchmentArea 16
      SamplingFrequency 2
      Spinup_days 30
      Obs_start 30-01-2017 12:00
      Obs_end 31-12-2017 06:00
      Split_date 30-01-2017 12:00
      N_data 1341
      Traceback (most recent call last):
      File "/home/diksha/miniconda3/lib/python3.11/site-packages/pandas/core/indexes/base.py", line 3805, in get_loc
      return self._engine.get_loc(casted_key)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "index.pyx", line 167, in pandas._libs.index.IndexEngine.get_loc
      File "index.pyx", line 196, in pandas._libs.index.IndexEngine.get_loc
      File "pandas/_libs/hashtable_class_helper.pxi", line 7081, in pandas._libs.hashtable.PyObjectHashTable.get_item
      File "pandas/_libs/hashtable_class_helper.pxi", line 7089, in pandas._libs.hashtable.PyObjectHashTable.get_item
      KeyError: 'EC_calib'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/./bin/CAL_1_FILTER_STATIONS.py", line 45, in
stations_meta = stations_meta[stations_meta['EC_calib'] >= int(args.stations_type)]
~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/diksha/miniconda3/lib/python3.11/site-packages/pandas/core/frame.py", line 4102, in getitem
indexer = self.columns.get_loc(key)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/lib/python3.11/site-packages/pandas/core/indexes/base.py", line 3812, in get_loc
raise KeyError(key) from err
KeyError: 'EC_calib'
(base) diksha@diksha-VirtualBox:~/Documents/LISFLOOD/lisflood-calibration$

Kindly help me in correcting the same so that I can proceed further.

@StefaniaGrimaldi
Copy link
Contributor

Dear @diksha922,

the error is due to the incorrect use of 'EC_calib'. Furthermore, the structure of the file stations.csv might not be correct.

I believe that the explanation provided here #7 (comment) can help you to solve the issue. This message explains that the template of the file stations.csv can be found in the "integration" folder.

As a first step, I would carefully check the structure of the file stations.csv: you can refer to the example inside the "integration" folder, and to the example kindly provided by another OS LISFLOOD user: #7 (comment)

When launching the script CAL_1_FILTER_STATIONS.py, stations_type is the filter applied to the list of stations included into the stations.csv file. Only the station that have "station_type" value lower or equal to the value in the "EC_calib" column will be processed. Please, set both "station_type" and "EC_calib" as numerical values, see, for instance, #7 (comment).

I hope that this answer helps,
kind regards,
Stefania

@diksha922
Copy link
Author

diksha922 commented Dec 24, 2024

Hello @StefaniaGrimaldi, @doc78.

I am following the steps mentioned in the issue #7 and running the calibration steps for the Tapi Basin.

I have some queries which I have encountered while working:

  1. station_ID : Can we consider any station ID of our choice for defining the calibration locations? I have used three locations with station ID - 280, 269 and 4501.

  2. On running the CAL_1 and CAL_2, the code runs successfully. However, I am getting the following errors while running CAL_3:

(base) diksha@diksha-VirtualBox:~/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_3_PREP_MISC.py ./tapi/stations.csv ./home/diksha/Documents/LISFLOOD/lisflood-code/tests/data/tapi/maps/ldd.map ./tapi/ ./tapi/
=================== START ===================

Reading stations data csv file...
Make map with station locations (outlet.map)...
sh: 1: col2map: not found
Check for station conflicts...
sh: 1: pcrcalc: not found
sh: 1: map2col: not found
Station ID 280 found multiple times in outlet.map!
sh: 1: pcrcalc: not found
sh: 1: map2col: not found
Station ID 269 found multiple times in outlet.map!
sh: 1: pcrcalc: not found
sh: 1: map2col: not found
Station ID 4501 found multiple times in outlet.map!
Number of station location conflicts: 3
Fix these! Enter 'c' to continue for now
Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/./bin/CAL_3_PREP_MISC.py", line 96, in
raise Exception("ERROR")
Exception: ERROR

  1. Further, I am unable to get the file structure/ text structure for the files tmp.txt and tmp2.txt required in CAL_3.?

  2. On running the CAL_6, the following error is coming:
    (liscal) diksha@diksha-VirtualBox:~/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./CATCHMENTS_DIR/maps 280
    wrong input mask file

The entire log file is attached.

Kindly help me to calibrate the model.
log.txt

@diksha922
Copy link
Author

diksha922 commented Dec 26, 2024

Hello @StefaniaGrimaldi, @doc78, @domeniconappo,

On running the LISFLOOD calibration steps, I am getting the "wrong input mask file" error at CAL_6 step.

What does the path_maps input in the argument represents?

liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt mask.map 4501
wrong input mask file
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt mask.map ./tapi/list_of_station.txt
tapi/list_of_station.txt
[ 269 280 4501]
4501
269
280
(liscal) diksha@diksha-VirtualBox:~/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt ./tapi/subcatchments/mask.map ./tapi/list_of_station.txt
tapi/list_of_station.txt
[ 269 280 4501]
4501

Calling "python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/mask.map 4501"
wrong input mask file
269
Calling "python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/mask.map 269"
wrong input mask file
280
Calling "python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/mask.map 280"
wrong input mask file
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt maps/mask.map ./tapi/list_of_station.txt
tapi/list_of_station.txt
[ 269 280 4501]
4501
269
280
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt /maps/mask.map ./tapi/list_of_station.txt
tapi/list_of_station.txt
[ 269 280 4501]
4501
269
280
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt ./tapi/maps/ 269
269
Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/bin/CAL_6_CUT_MAPS_list.py", line 40, in
CatchmentsToProcess = pd.read_csv(file_CatchmentsToProcess,sep=",",header=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv
return _read(filepath_or_buffer, kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 620, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1620, in init
self._engine = self._make_engine(f, self.engine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1880, in _make_engine
self.handles = get_handle(
^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/common.py", line 873, in get_handle
handle = open(
^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '269'
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/maps/ 269
wrong input mask file
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/maps/4501 4501
wrong input mask file
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/maps/4501 4501
wrong input mask file
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/maps 4501
wrong input mask file
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/maps 4501
wrong input mask file
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt ./tapi/maps/ 269
269
Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/bin/CAL_6_CUT_MAPS_list.py", line 40, in
CatchmentsToProcess = pd.read_csv(file_CatchmentsToProcess,sep=",",header=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv
return _read(filepath_or_buffer, kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 620, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1620, in init
self._engine = self._make_engine(f, self.engine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1880, in _make_engine
self.handles = get_handle(
^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/common.py", line 873, in get_handle
handle = open(
^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '269'
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS_list.py ./tapi/settings_tapi.txt ./tapi/maps/ 269
269
Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/bin/CAL_6_CUT_MAPS_list.py", line 40, in
CatchmentsToProcess = pd.read_csv(file_CatchmentsToProcess,sep=",",header=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv
return _read(filepath_or_buffer, kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 620, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1620, in init
self._engine = self._make_engine(f, self.engine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/parsers/readers.py", line 1880, in _make_engine
self.handles = get_handle(
^^^^^^^^^^^
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pandas/io/common.py", line 873, in get_handle
handle = open(
^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '269'
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/maps/ 269
wrong input mask file
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/269/maps 269
Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/bin/CAL_6_CUT_MAPS.py", line 42, in
cutmaps.cut_maps_station(cfg, args.path_maps, station_data, obsid)
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/liscal-1.0.0-py3.12.egg/liscal/cutmaps.py", line 110, in cut_maps_station
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pcraster/numpy_operations.py", line 16, in pcr2numpy
return _pcraster.pcr2numpy(_pcraster.clone(), map, mv)
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/269/maps 269
Traceback (most recent call last):ingle-segment arrays
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/./bin/CAL_6_CUT_MAPS.py", line 42, in
cutmaps.cut_maps_station(cfg, args.path_maps, station_data, obsid)
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/liscal-1.0.0-py3.12.egg/liscal/cutmaps.py", line 110, in cut_maps_station
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pcraster/numpy_operations.py", line 16, in pcr2numpy
return _pcraster.pcr2numpy(_pcraster.clone(), map, mv)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: resize only works on single-segment arrays
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/269/maps/mask.map 269
Traceback (most recent call last):
File "/home/diksha/Documents/LISFLOOD/lisflood-calibration/./bin/CAL_6_CUT_MAPS.py", line 42, in
cutmaps.cut_maps_station(cfg, args.path_maps, station_data, obsid)
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/liscal-1.0.0-py3.12.egg/liscal/cutmaps.py", line 110, in cut_maps_station
File "/home/diksha/miniconda3/envs/liscal/lib/python3.12/site-packages/pcraster/numpy_operations.py", line 16, in pcr2numpy
return _pcraster.pcr2numpy(_pcraster.clone(), map, mv)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: resize only works on single-segment arrays
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/maps/mask.map 269
wrong input mask file
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_6_CUT_MAPS.py
usage: CAL_6_CUT_MAPS.py [-h] settings_file path_maps station
CAL_6_CUT_MAPS.py: error: the following arguments are required: settings_file, path_maps, station
(liscal) diksha@diksha-VirtualBox:/Documents/LISFLOOD/lisflood-calibration$ python ./bin/CAL_6_CUT_MAPS.py ./tapi/settings_tapi.txt ./tapi/subcatchments/maps/mask.map 269
wrong input mask file
(liscal) diksha@diksha-VirtualBox:
/Documents/LISFLOOD/lisflood-calibration$

Kindly help me in removing this error.

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi, @doc78, @domeniconappo,

Any update on the above mentioned issue.

@StefaniaGrimaldi
Copy link
Contributor

StefaniaGrimaldi commented Jan 2, 2025

Dear @diksha922,

please find here the instructions to solve the error "wrong input mask file":
#7 (comment)

CAL_6_CUT_MAPS.py requires a valid "mask.map" pcraster file.
Please verify the subcatchment_path in your settings_file and the mask.map file in your maps folder of the subcatchment_path. Does the map folder contain a mask.map file?

We hope this answer helps,
kind regards,
Stefania

@diksha922
Copy link
Author

diksha922 commented Jan 5, 2025

Capture
Capture1
Capture2
Capture4
Hello @StefaniaGrimaldi,

I have prepared the file structure same as mentioned in the issue #7. However, still I am facing the same issue.

The screenshot of the file structure and log error is attached for reference.

Kindly help me to rectify the issue.

Thanks & Regards,

Diksha Gupta

@diksha922
Copy link
Author

Hello @StefaniaGrimaldi Mam,

Any updates on the above mentioned issue.

@diksha922
Copy link
Author

diksha922 commented Jan 10, 2025

tapi.zip
Hello @StefaniaGrimaldi Mam.

Thank you Mam for the response.

I have checked the folder "4501", it contains only station sub-folder (screenshot attached).

The folder I have prepared for tapi and corresponding files created after running till step CAL_5 is also attached herewith for ready reference.

Kindly help me in this please.
Capturen

@StefaniaGrimaldi
Copy link
Contributor

Dear @diksha922,

there are some errors in the folder structure and in the files: these errors indicate that some of the steps were not perfomed correctly.

Having considered these difficulties, I strongly recommend proceeding as follows: perform the calibration of one single single headcatchment to learn the correct structures of files and folder.

For this purpose, you should select one headcatchment in your model domain and identify the coordinates of the calibration station on the LISFLOOD local drainage direction map (ldd). The coordinate values in your file stations.txt file should be consistent with your ldd map (you can find examples for the 3arcmin ldd in https://global-flood.emergency.copernicus.eu/glofas-forecasting/)
image

The coordindates of the calibration station must then be used to prepare the cut-out of the LISFLOOD maps (meteorological forcings and static maps) for your headcatchment.

This
folder_structure.zip
should help you prepare the structure of your calibration folder.

Please create a subfolder for your headacatchment. In the attached example, you see bogus numbers such as 1002, please use the ID of your headcatchment station.
Such headcatchment folder must have a subfolder "maps" including the cut-out of the LISFLOOD maps (meteorological forcings and static maps) for your headcatchment.

The CUTMAPS tool allows you to prepare the cutout: please follow the instructions here https://github.com/ec-jrc/lisflood-utilities?tab=readme-ov-file#cutmaps
cutmaps -f YOUR_INPUT_FOLDER -l YOUR_LDD_MAP -N coordinates_calib_station.txt -o YOUR_OUTPUT_FOLDER
YOUR_INPUT_FOLDER = the folder where your save all the maps for the extended domain
YOUR_LDD_MAP = path leading to the ldd of your set-up
coordinates_calib_station.txt = please see the format explained in https://github.com/ec-jrc/lisflood-utilities?tab=readme-ov-file#cutmaps
YOUR_OUTPUT_FOLDER = the sub-folder "maps" mentioned above.

Please have a look at the attached folder_structure and prepare the cut-out of the maps, as well as the "stations" sub-folder.

As soon as data, maps, templates, settings are all in the correct format, you will only need to run CAL_7A and CAL_7B to complete the calibration of your headcatchment!

One final, side note on your data: I noticed that the observations have 6hours steps. Are your planning to run LISFLOOD at 6h steps (with 6h forcings)?

I hope that this answer helps,
kind regards,
Stefania

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants