[1]:
%matplotlib inline
Global River Water Quality
[2]:
import site
site.addsitedir('../../..')
from easy_mpl import plot
import matplotlib.pyplot as plt
from aqua_fetch import GRQA
from aqua_fetch.utils import print_info
print_info()
numpy 1.26.4
pandas 2.1.4
water_datasets 0.1.0
python 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024, 15:12:24) [GCC 11.2.0]
os posix
matplotlib 3.8.4
xarray 2024.7.0
netCDF4 1.6.2
Script Executed on: 06 August 2024 12:18:04
tot_cpus 112
avail_cpus 112
mem_gib 251.52819442749023
[3]:
ds = GRQA(path="/mnt/datawaha/hyex/atr/data")
Not downloading the data since the directory
/mnt/datawaha/hyex/atr/data/GRQA already exists.
Use overwrite=True to remove previously saved files and download again
[4]:
print(ds.parameters)
['TPP', 'PON', 'TEMP', 'NO3N', 'PIC', 'DOC', 'DOP', 'TAN', 'COD', 'CODMn', 'DKN', 'DIC', 'TON', 'TC', 'TSS', 'DON', 'TKN', 'pH', 'TDP', 'NH4N', 'DO', 'TIC', 'TP', 'BOD5', 'CODCr', 'DOSAT', 'DC', 'TIP', 'TOC', 'POP', 'PC', 'DIN', 'NO2N', 'POC', 'TN', 'DIP', 'PN', 'TOP', 'TDN', 'BOD', 'BOD7', 'TIN']
[5]:
len(ds.parameters)
[5]:
42
[6]:
country = "Pakistan"
len(ds.fetch_parameter('TEMP', country=country))
[6]:
1324
[7]:
for param in ds.parameters:
data = ds.fetch_parameter(param, country=country)
if len(data)>1:
print(param, data.shape)
TEMP (1324, 38)
COD (1317, 32)
TSS (1293, 38)
DON (123, 36)
TKN (58, 36)
pH (1285, 38)
TDP (92, 36)
NH4N (28, 36)
DO (1327, 38)
TP (249, 38)
/home/abbaa0a/anaconda3/envs/watds_py312/lib/python3.12/site-packages/pandas/io/parsers/c_parser_wrapper.py:234: RuntimeWarning: overflow encountered in cast
chunks = self._reader.read_low_memory(nrows)
DOSAT (221, 38)
BOD (1326, 32)
[8]:
df = ds.fetch_parameter("TEMP", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(1324, 38)
[9]:
df = ds.fetch_parameter("NH4N", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(28, 36)
[10]:
df = ds.fetch_parameter("DO", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(1327, 38)
[11]:
df = ds.fetch_parameter("COD", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(1317, 32)
[12]:
df = ds.fetch_parameter("BOD", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(1326, 32)
[13]:
df = ds.fetch_parameter("DON", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(123, 36)
[14]:
df = ds.fetch_parameter("DOSAT", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
/home/abbaa0a/anaconda3/envs/watds_py312/lib/python3.12/site-packages/pandas/io/parsers/c_parser_wrapper.py:234: RuntimeWarning: overflow encountered in cast
chunks = self._reader.read_low_memory(nrows)
(221, 38)
[15]:
df = ds.fetch_parameter("TDP", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(92, 36)
[16]:
df = ds.fetch_parameter("TKN", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(58, 36)
[17]:
df = ds.fetch_parameter("TSS", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(1293, 38)
[18]:
df = ds.fetch_parameter("TP", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(249, 38)
[19]:
df = ds.fetch_parameter("pH", country=country)
print(df.shape)
for grp_name, grp in df.groupby('site_name'):
plot(grp['obs_value'], '--.', label=grp_name, show=False,
ax_kws=dict(figsize=(18,7)))
plt.show()
(1285, 38)