79707082

Date: 2025-07-19 08:39:33
Score: 0.5
Natty:
Report link
import pandas as pd, requests, io

# Set location and time
lat, lon = -6.000, 38.758
start, end = '20150101', '20241231'

# Fetch daily rainfall (PRECTOT) from NASA POWER
url = (f"https://power.larc.nasa.gov/api/temporal/daily/point?"
       f"parameters=PRECTOT&start={start}&end={end}&latitude={lat}&longitude={lon}&format=CSV")
csv = requests.get(url).text.splitlines()

# Load into DataFrame
df = pd.read_csv(io.StringIO("\n".join(csv[10:])))  # skip metadata
df['DATE'] = pd.to_datetime(df[['YEAR','MO','DY']])

# Monthly total rainfall
monthly = df.groupby(df['DATE'].dt.to_period('M'))['PRECTOT'].sum().reset_index()
monthly.columns = ['Month', 'Rainfall_mm']
monthly['Month'] = monthly['Month'].astype(str)

# Annual total rainfall
annual = df.groupby(df['DATE'].dt.year)['PRECTOT'].sum().reset_index()
annual.columns = ['Year', 'Rainfall_mm']

# Export
monthly.to_csv("saadani_monthly_rainfall_2015_2024.csv", index=False)
annual.to_csv("saadani_annual_rainfall_2015_2024.csv", index=False)
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: user31086741