Generate ERA5 data using eWaterCycle#
# General python
import warnings
warnings.filterwarnings("ignore", category=UserWarning)
import importlib
import subprocess
import sys
import numpy as np
from pathlib import Path
import pandas as pd
import matplotlib.pyplot as plt
import xarray as xr
import os
import json
# Niceties
from rich import print
# General eWaterCycle
import ewatercycle
import ewatercycle.models
import ewatercycle.forcing
# Load settings
# Read from the JSON file
with open("settings.json", "r") as json_file:
settings = json.load(json_file)
camel_id = settings["caravan_id"]
# Generate forcing:
try:
load_location = Path(settings['path_ERA5']) / "work" / "diagnostic" / "script"
ERA5_forcing_object = ewatercycle.forcing.sources["LumpedMakkinkForcing"].load(directory=load_location)
except:
ERA5_forcing_object = ewatercycle.forcing.sources["LumpedMakkinkForcing"].generate(
dataset="ERA5",
start_time=settings['calibration_start_date'],
end_time=settings['calibration_end_date'],
directory=settings['path_ERA5'],
shape=settings['path_shape'],
)