[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)
../_images/_notebooks_grqa_8_1.png
[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)
../_images/_notebooks_grqa_9_1.png
[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)
../_images/_notebooks_grqa_10_1.png
[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)
../_images/_notebooks_grqa_11_1.png
[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)
../_images/_notebooks_grqa_12_1.png
[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)
../_images/_notebooks_grqa_13_1.png
[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)
../_images/_notebooks_grqa_14_2.png
[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)
../_images/_notebooks_grqa_15_1.png
[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)
../_images/_notebooks_grqa_16_1.png
[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)
../_images/_notebooks_grqa_17_1.png
[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)
../_images/_notebooks_grqa_18_1.png
[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)
../_images/_notebooks_grqa_19_1.png