Python code to get groundwater data for South Australia
This code provides the Python package sa_gwdata
to make it easier to download and access groundwater data from the South Australian Department for Environment and Water's Groundwater Data website. It also provides some help for getting related data from the Department for Energy and Mining's South Australian Resources Information Gateway (SARIG) website.
This is an unofficial side-project done in my spare time.
Check out the complete package documentation, and some tutorial Jupyter Notebooks in the notebooks folder.
Define the wells you are interested in manually:
>>> import sa_gwdata
>>> wells = sa_gwdata.find_wells("5928-203 and also ULE 96")
>>> wells
["LKW042", "ULE096"]
(It has recognised automatically that 5928-203 is also known as LKW042).
Or search for wells by geographic area:
>>> wells = sa_gwdata.find_wells_in_lat_lon([-34.65, -34.62], [135.47, 135.51])
Then you can download data as pandas DataFrames:
>>> wls = sa_gwdata.water_levels(wells)
>>> tds = sa_gwdata.salinities(wells)
>>> dlogs = sa_gwdata.drillers_logs(wells)
There is also full access to the underlying set of web services which provide a variety of data in JSON format.
Start a session with Groundwater Data:
>>> session = sa_gwdata.WaterConnectSession()
On initialisation it downloads some summary information.
>>> session.networks
{'ANGBRM': 'Angas Bremer PWA',
'AW_NP': 'Alinytjara Wilurara Non-Prescribed Area',
'BAROOTA': 'Baroota PWRA',
'BAROSSA': 'Barossa PWRA',
'BAROSS_IRR': 'Barossa irrigation wells salinity monitoring',
'BERI_REN': 'Berri and Renmark Irrigation Areas',
'BOT_GDNS': 'Botanic Gardens wetlands',
'CENT_ADEL': 'Central Adelaide PWA',
'CHOWILLA': 'Chowilla Floodplain',
...
}
With this information we can make some direct REST calls:
>>> r = session.get("GetObswellNetworkData", params={"Network": "CENT_ADEL"})
>>> r.df.head(5)
aq_mon chem class dhno drill_date lat latest_open_date latest_open_depth latest_sal_date latest_swl_date ... pwa replaceunitnum sal salstatus stat_desc swl swlstatus tds water yield
0 Tomw(T2) Y WW 27382 1968-02-07 -34.764662 1992-02-20 225.00 2013-09-02 2018-09-18 ... Central Adelaide NaN Y C OPR 3.47 C 3620.0 Y 2.00
1 Qhcks N WW 27437 1963-01-01 -34.800905 1963-01-01 6.40 1984-02-01 1986-03-05 ... Central Adelaide NaN Y H NaN 5.86 H 1121.0 Y NaN
2 Tomw(T1) Y WW 27443 1972-04-20 -34.811124 2014-04-01 0.00 1991-10-09 2003-07-04 ... Central Adelaide NaN Y H BKF NaN H 2030.0 Y 5.00
3 Tomw(T1) Y WW 27504 1978-02-28 -34.779893 1978-02-28 144.50 2016-04-06 2011-09-18 ... Central Adelaide NaN Y H OPR 11.21 H 2738.0 Y 0.00
4 Tomw(T1) Y WW 27569 1975-01-01 -34.891250 1975-07-09 131.10 1986-11-13 1988-09-21 ... Central Adelaide NaN Y H BKF 9.90 H 42070.0 Y 12.50
You will need Python 3.8 or a more recent version.
$ pip install -U python-sa-gwdata
This installs the latest release of the Python package sa_gwdata
.
To install the latest code from GitHub, make sure you the dependencies pandas
and requests
installed, then use:
$ pip install https://github.com/kinverarity1/python-sa-gwdata/archive/master.zip
MIT