remove "requests" dependency
This commit is contained in:
1 parent
b04a4704a5
commit
5cf1364e7e
2 files changed
+42
-5649
No files matched your search
+42
-24
@@ -1,31 +1,49 @@
|
||||
import requests
|
||||
import pandas as pd
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
from datetime import datetime
|
||||
|
||||
# Define parameters
|
||||
latitude = 21.0305
|
||||
longitude = 105.8458
|
||||
latitude, longitude = 21.04815477090267, 105.80123159165096 # lmao
|
||||
start_date = "2010-01-01"
|
||||
end_date = datetime.now().strftime("%Y-%m-%d") # Today's date
|
||||
|
||||
# Construct the API URL
|
||||
url = (
|
||||
f"https://power.larc.nasa.gov/api/temporal/daily/point"
|
||||
f"?parameters=QV2M"
|
||||
f"&community=RE"
|
||||
f"&longitude={longitude}"
|
||||
f"&latitude={latitude}"
|
||||
f"&start={start_date.replace('-', '')}"
|
||||
f"&end={end_date.replace('-', '')}"
|
||||
f"&format=CSV"
|
||||
)
|
||||
# Define desired parameters
|
||||
# T2M MERRA-2 Temperature at 2 Meters (C)
|
||||
# PRECTOTCORR MERRA-2 Precipitation Corrected (mm/day)
|
||||
# QV2M MERRA-2 Specific Humidity at 2 Meters (g/kg)
|
||||
# RH2M MERRA-2 Relative Humidity at 2 Meters (%)
|
||||
# PS MERRA-2 Surface Pressure (kPa)
|
||||
# WS10M MERRA-2 Wind Speed at 10 Meters (m/s)
|
||||
# WD10M MERRA-2 Wind Direction at 10 Meters (Degrees)
|
||||
# more at https://power.larc.nasa.gov/data-access-viewer/
|
||||
|
||||
# Make the API request
|
||||
response = requests.get(url)
|
||||
if response.status_code == 200:
|
||||
# Save the CSV content to a file
|
||||
with open("hanoi_qv2m_latest.csv", "w") as file:
|
||||
file.write(response.text)
|
||||
print("Data successfully downloaded and saved to 'hanoi_qv2m_latest.csv'.")
|
||||
else:
|
||||
print(f"Failed to retrieve data: {response.status_code}")
|
||||
params = {
|
||||
"parameters": "QV2M,T2M,PRECTOTCORR",
|
||||
"community": "RE",
|
||||
"longitude": longitude,
|
||||
"latitude": latitude,
|
||||
"start": start_date.replace("-", ""),
|
||||
"end": end_date.replace("-", ""),
|
||||
"format": "CSV",
|
||||
}
|
||||
|
||||
|
||||
# Encode parameters
|
||||
query_string = urllib.parse.urlencode(params)
|
||||
|
||||
# Construct the full URL
|
||||
base_url = "https://power.larc.nasa.gov/api/temporal/daily/point"
|
||||
url = f"{base_url}?{query_string}"
|
||||
|
||||
# Make the API request using urllib
|
||||
try:
|
||||
with urllib.request.urlopen(url) as response:
|
||||
if response.status == 200:
|
||||
csv_data = response.read().decode("utf-8")
|
||||
with open("hanoi_weather_data.csv", "w", encoding="utf-8") as file:
|
||||
file.write(csv_data)
|
||||
print("Data successfully downloaded and saved to 'hanoi_weather_data.csv'.")
|
||||
else:
|
||||
print(f"Failed to retrieve data: HTTP Status Code {response.status}")
|
||||
except urllib.error.URLError as e:
|
||||
print(f"Failed to retrieve data: {e.reason}")
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user