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

Add CAMELS-USA #426

Open
6 tasks done
Daafip opened this issue Jun 6, 2024 · 6 comments
Open
6 tasks done

Add CAMELS-USA #426

Daafip opened this issue Jun 6, 2024 · 6 comments
Labels
enhancement New feature or request forcing Issue related to forcing (generation, loading, etc.)

Comments

@Daafip
Copy link
Collaborator

Daafip commented Jun 6, 2024

The caravan datset has already been added PR #407 as discussed in #398.
This was relatively simple as we had the NetCDF files availible from the source, we only had to combined them.
The downside is it used era5-Land data, the evaporation can be quite far from realistic.
See this article on the issue.

As part of my thesis I used the original Camels-USA dataset, which has better forcing. But the forcing is in text files, split per type: forcing/streamflow/characteristics.
I ran models for all 671 catchments, in the process already making the conversion to netcdf. I only used a 5 year period, there is data for the period 1980-2010 (some cases 14).
I used custom forcing in the HBV mode to achieve this.
It would also be nice to include the catchment characteristics. These are currently spread across different files and comparing your results to them requires a bit of pandas effort as shown in this messy notebook, or if you want to view it online use this link. Definetely doable, but effort.
Loading observations is shown here

Tl;dr: original camels forocing is better than the caravan. Code exists but still some effort to polish.

One main discussion points. Do we:

  • update the existing caravan data set? This might be confusing as the forcing is different.
  • create a new _forcing.camels? Then we have a bit of repeated code but the dataset structure is likley different so kinda needed.

Todo:

  • Use exisiting code to make NetCDF files for forcing of the whole data set. Using all three sources: Daymet, NLDAS and Maurer

Summary from my thesis
- Daymet has the finest resolution at 1x1km, whilst the other two sources have resolutions of 1/8th a degree.
- Daymet aims to reproduce the weather conditions in the whole of the USA.
- NLDAS is more focussed on the soil moisture stores and energy.
- Both Daymet and NLDAS are products by NASA.
- The dataset by Maurer et al is a baseline for climate predictions

  • Also load in characteristics per catchmetns
  • Combine the forcing and characteristics
  • merge all 671 catchments
  • Optionally load streamflow
  • Add to OpenDap
@Daafip Daafip added enhancement New feature or request forcing Issue related to forcing (generation, loading, etc.) labels Jun 6, 2024
@BSchilperoort
Copy link
Member

BSchilperoort commented Jun 6, 2024

It's a shame that the forcing data for Caravan has issues. Preferably we would not want to have too many different forcing sources in this main ewatercycle package, as we would have to maintain those. Especially if we have conflicting sources (i.e. Caravan's CAMELS and CAMELS separately).

Of course it is possible to add forcing as plugin (same way as adding a model plugin), but that's also not ideal.

If we already have the observations of streamflow through the USGS system, it would make more sense to have a forcing generator that generates model forcing from daymet data. The downside of that is that it's not global.

@Daafip
Copy link
Collaborator Author

Daafip commented Jun 7, 2024

we would have to maintain those.

With this in mind we can just add an extra dimension to the netCDF file for CAMELs basins in the caravan dataset.

Most catchments will just have the era5 land, but camels-USA will then have daymet, Maurer and NLDAS.

Would also be interesting for future data assimilation research to run a model with different forcings.

@Peter9192
Copy link
Collaborator

update the existing caravan data set? This might be confusing as the forcing is different.

I don't have a complete grasp of all differences between the datasets you describe, but in general 4tu has a good system for updating data (creating a new version with a different doi, I believe also with a changelog). Isn't that sufficient to avoid confusion?

@Daafip
Copy link
Collaborator Author

Daafip commented Jun 10, 2024

I started working on it here, trying to mimic the structure we used for caravan so we can just merge the two

@Daafip
Copy link
Collaborator Author

Daafip commented Jun 13, 2024

I've submitted an update to the data.4tu.nl dataset. Once that is approved an published, I can adjust the CaravanForcing accordingly to support the additional 3 forcings being stored in the camels.nc file.

@BSchilperoort
Copy link
Member

To work around some issues with the camels.nc file, I have opened #458 . It would be nicer if this was fixed in the original file, but this was much more time efficient for me to implement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request forcing Issue related to forcing (generation, loading, etc.)
Projects
None yet
Development

No branches or pull requests

3 participants