add works in progress

This commit is contained in:
2025-05-20 06:14:36 +00:00
parent 45b0049600
commit 579d01da45
4 changed files with 184 additions and 8 deletions

43
downloader.py Normal file
View File

@@ -0,0 +1,43 @@
import subprocess
import os
from datetime import datetime, timedelta
class CopernicusDownloader:
def __init__(self, user, pwd):
self.user = user
self.pwd = pwd
self.dataset_id = "cmems_mod_ibi_phy_anfc_0.027deg-2D_PT1H-m"
self.service_id = "IBI_ANALYSISFORECAST_PHY_005_001-TDS"
self.motu_url = "https://nrt.cmems-du.eu/motu-web/Motu"
def download(self, lat_min, lat_max, lon_min, lon_max, days, output_dir):
today = datetime.utcnow()
start_date = today.strftime("%Y-%m-%dT00:00:00")
end_date = (today + timedelta(days=days)).strftime("%Y-%m-%dT23:00:00")
os.makedirs(output_dir, exist_ok=True)
output_name = f"copernicus_{start_date[:10]}_{end_date[:10]}.nc"
output_path = os.path.join(output_dir, output_name)
cmd = [
"motuclient",
"--motu", self.motu_url,
"--service-id", self.service_id,
"--product-id", self.dataset_id,
"--longitude-min", str(lon_min),
"--longitude-max", str(lon_max),
"--latitude-min", str(lat_min),
"--latitude-max", str(lat_max),
"--date-min", start_date,
"--date-max", end_date,
"--variable", "uo",
"--variable", "vo",
"--variable", "zos",
"--variable", "thetao",
"--out-dir", output_dir,
"--out-name", output_name,
"--user", self.user,
"--pwd", self.pwd
]
subprocess.run(cmd, check=True)