Skip to content

Commit

Permalink
ucd ipm download for DeltaCD
Browse files Browse the repository at this point in the history
  • Loading branch information
dwr-psandhu committed Dec 2, 2024
1 parent 9c68758 commit e8d8827
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
6 changes: 5 additions & 1 deletion dms_datastore/download_mokelumne.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import requests
import glob
import pandas as pd
from . import store_utils as utils
from dms_datastore import store_utils as utils


def build_filename(date_str, base_dir):
Expand Down Expand Up @@ -81,3 +81,7 @@ def download_last_7(base_dir="raw"):
def main():
download_last_7()
update_last_7days()


if __name__ == "__main__":
main()
29 changes: 29 additions & 0 deletions dms_datastore/download_ucdipm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import requests
import pandas as pd
import io

UCD_IPM_URL = "https://ipm.ucanr.edu/weather/weather-data-export.cfm"


def get_weather_data(start_date, end_date, stnKey=281):
url = f"{UCD_IPM_URL}?stnKey={stnKey}&startDate={start_date}&endDate={end_date}&unit=f&interval=1440&weatherApp=caWeatherApp&export=text"
response = requests.get(url)
assert response.status_code == 200
df = pd.read_csv(io.StringIO(response.text), skiprows=6, delimiter="\t")
df.index = pd.to_datetime(df["Date"])
df.index.freq = pd.infer_freq(df.index)
df.drop(columns=["Date"], inplace=True)
return df


# argparse for calling get_weather_data from command line
if __name__ == "__main__":
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("start_date", help="Start date in format YYYY-MM-DD")
parser.add_argument("end_date", help="End date in format YYYY-MM-DD")
parser.add_argument("--stnKey", help="Station key", default=281)
args = parser.parse_args()
df = get_weather_data(args.start_date, args.end_date)
df.to_csv(f"ucdipm_{args.stnKey}.csv")

0 comments on commit e8d8827

Please sign in to comment.