Releases: bcgov/groundwater-drawdown-tool
Release list
v0.5.4
Working through the feedback from the end-user testing round. These notes
move under a version heading when the release is actually cut.
Added
- Licensed and unlicensed wells are now shown. Every well carries its
GWELLS licence status — Licensed, Unlicensed, Historical, or Unknown
where GWELLS does not say — in the details table, the map pop-up, the
CSV, the PDF, the KML, and the standalone map. On the map, a dark
ring around a marker means the well is currently licensed. Licence
status is shown for information only; it does not change any well's
status or at-risk result. - An "Other" option in the aquifer picker. If the well is completed
in an aquifer that has not been delineated, you can now say so — even
when the point sits on or near mapped aquifers. Pick "Other", choose
the material, and enter T and S. The results page and the PDF record
the choice, and name the nearest mapped aquifer so a reviewer can see
what was set aside. - A "Method, assumptions and limitations" panel on the results page,
collapsed until you open it. It explains what the tool does and does
not tell you, and what the 30% at-risk threshold means. Guidance on
aquifer defaults now sits with the T and S fields on the setup page,
and guidance on checking driller's logs sits with the details table.
The PDF export carries all of it in one section. - A 0 m reference line on the distance-drawdown chart, marking the
water level before pumping starts, so the drawdown and SAD bars have
a datum to be read against. - Plain-language definitions of s and r under the
distance-drawdown chart, and of NPL above the details table. - The map pop-up now shows the well's aquifer number.
- Aquifer numbers that are not formally delineated are now marked.
GWELLS assigns some wells to an aquifer number the provincial aquifer
layer has no mapped polygon for — Aquifer 1143 is one. Those now read
"1143 (not delineated)" in the details table, the map pop-up, the CSV,
the PDF, and the KML, so it is clear the number is not a mapped
aquifer. The wells are still included and still analysed; a blank
Aquifer ID still means GWELLS assigns the well to no aquifer at all.
The check is made against the aquifer layer on every run rather than
against a fixed list, so it keeps up as more aquifers are delineated.
Changed
- Aquifers are now identified by number first, with the material in
brackets — "Aquifer 199 (Sand and Gravel)" — in the aquifer picker,
the results summary, and the PDF, since that is how aquifers are
usually referred to. - Up to five nearby aquifers are suggested instead of three, for
areas where several small aquifers sit close together. - SAD bars on the distance-drawdown chart are now colour-coded.
Orange means the well has headroom left; red means predicted
drawdown has passed that well's Safe Available Drawdown. A red bar
points upward from the well — that is not a fault, it is the tool
showing an over-impacted well. A caption under the chart explains it. - The manual-entry material option is now just "Unconsolidated"
rather than "Unconsolidated (sand and gravel)", which wrongly implied
every unconsolidated aquifer is sand and gravel. - The impact chart caption now reads "sorted by magnitude of impact"
and no longer describes the threshold line as red — the line is drawn
dark on purpose, so it stays distinct from the red at-risk bars. - Well tag numbers no longer get clipped at the top-right of the
distance-drawdown chart. - Well tag numbers on the distance-drawdown chart now alternate
above and below their point, so wells at similar distances from
the pumping well stop printing on top of each other. When even that
isn't enough, a new "Show well tag numbers on the chart" tickbox
turns them off — hovering a point still names the well, and the PDF
captures the chart as you left it. - The Impact % chart now keeps a WTN on every bar. It grows taller
as the buffer gets busier instead of squeezing the bars until labels
silently dropped out. Past roughly 85 wells there is genuinely no
room left, and the caption now says so rather than leaving you to
spot the gaps.
Removed
- The "Max drawdown" summary tile, from both the results page and
the PDF. It was easily misread as the drawdown at the pumping well
when it was actually the largest drawdown at any nearby well.
Per-well drawdown is unchanged in the table, charts, and exports.
v0.5.3
Added
- An "internal use only" notice now appears in the footer of every
page: the tool is for internal use and must not be shared outside the
organization. This notice shows in the tool only — it is deliberately
left off exported reports, maps, and KML files, which may form part of
a licence file.
Changed
-
The results-interpretation disclaimer now names a Qualified
Professional alongside the regional hydrogeologist: results must be
interpreted by, or in consultation with, a regional hydrogeologist or
a Qualified Professional with expertise in hydrogeology. The updated
wording appears in the tool and on every export (PDF, interactive map,
KML). -
The hints under the pumping-parameter fields were tidied up —
clearer, shorter wording under the pumping-rate, duration, and
buffer-radius fields.
Fixed
- In Lat / Lon input mode, clicking Place without entering both
values now shows a red "Enter both longitude and latitude." message
right next to the button, instead of appearing to do nothing. (The
message was previously shown below the map, where it was easy to
miss.)
v0.5.2
Added
-
The "Well tag number" input mode now links to the BC Groundwater
Wells and Aquifers map (apps.nrs.gov.bc.ca/gwells). If you don't
have a well tag number handy, you can find one by location on that
map; the link opens in a new tab. -
A Clear button on the setup page resets all inputs for a fresh
analysis without refreshing the page.
Changed
-
The maps are larger on bigger monitors — both the setup and
results maps now grow with the window while still fitting smaller
laptop screens. -
A short note under the pumping-duration field explains that the
90-day default applies to all of BC. -
The page header now uses the official BC Government wordmark,
which sits flush in the dark-blue band instead of appearing as a
white panel. -
Storativity (S) now reads as a plain decimal (e.g.
0.00003)
in the results-page input parameters and the PDF export, instead of
scientific notation (3e-05). Transmissivity displays the same way. -
When a results table is empty, the message is now a clearly
highlighted notice instead of a faint line of text — and the
table's Export CSV button is hidden when there's nothing to
export. This covers both "no wells were flagged at risk" and "no
wells were found in the buffer". The buffer-empty message also
suggests increasing the buffer radius and re-running.
Fixed
-
The distance-drawdown chart no longer flips upside down when you
press Autoscale after zooming in. The inverted axis (drawdown growing
downward) now stays put, and "Reset axes" returns to it reliably. -
Refreshing the Results page no longer re-runs the analysis or
discards your edits. Previously, pressing F5 (or restoring the tab)
silently re-queried the BC Geographic Warehouse, wiped any per-well
values you had overridden in the details table, and recorded the run
a second time in the usage statistics. The page now reuses the cached
result when the inputs haven't changed, so your overrides survive a
refresh. -
The Run Analysis button is now greyed out until you place a pumping
point, instead of letting you click it and then showing a "Place a
pumping point first" message. Once a point is set (by map click,
lat/lon, or well tag number), the button enables and any earlier
message clears — so there's no need to scroll back up to check whether
a point was placed.
v0.5.1
Changed
- The documentation site now opens in light mode by default.
The light/dark toggle in the sidebar still works and still remembers your choice per browser.
Fixed
- The footer's "What's new" panel no longer shows an empty
"Unreleased" heading above the current release notes. - First launch on a fresh install no longer shows a
connection-refused page.run.batnow waits for the local server
to be ready before opening your browser, instead of opening it
after a fixed 4-second delay. On a cold first launch the server
can take 10–15 seconds to start (Python and Dash have to load); the
browser now opens at the moment the page is actually available, so
there is no error page to refresh past. Subsequent launches are
unchanged — the wait is essentially zero once everything is warm.
v0.5.0
First broadly-installable release. Phase 5 (visual identity, map
overlays, KML/PDF/HTML exports, logging and disclaimers) and Phase 6
(documentation site, auto-update on launch, version footer with
changelog modal) shipped. Distributed through GitHub Releases — end
users download setup.bat from the latest-release URL and the
installer pulls the matching tool zip. A pre-release security audit
closed out the open Dependabot advisories.
Pre-release for internal testing by the GIS team; a non-pre-release
follows for end users once internal sign-off is in.
Security
- A pre-release dependency-and-code audit was completed; nine
advisories were either resolved or formally reviewed. Five were
fixed by refreshing transitive dependencies (idna,urllib3)
and the development-only test runner (pytest). Four affect
components that the tool depends on indirectly (Flask, Werkzeug)
and are not exploitable on a localhost-only single-user tool; they
will clear automatically when the tool migrates to the next major
Dash release. - The signed-in BCGW username is no longer written to the general
application log file when a session starts. It remains in the
structured usage log used for monitoring and troubleshooting, so
traceability is unchanged.
Phase 6 — Online documentation
Added
- An online documentation site is now available, with a
step-by-step User Guide covering installation, BCGW account
help, running an analysis, reading the results, exporting
them, troubleshooting, and the methods and assumptions behind
the calculations:
https://bcgov.github.io/groundwater-drawdown-tool/ - A "Documentation" link in the footer of every page opens
that site. - The documentation site supports a light/dark theme toggle
(defaults to dark; your choice is remembered per browser). - When the tool starts, it now checks for a new release on GitHub
and updates itself in place if one is available. The check is
silent when nothing has changed; if an update is applied you see a
short "An update is available…" line and the dependency refresh.
Pass--no-updatetorun.batto skip the check on a slow
network. Update failures are logged tologs\auto-update.logand
never block the app from starting. - The footer on every page now shows the running version and the
date it was installed — for example, "Version 0.5.0 — last
updated 2026-05-25". Clicking the version opens a "What's new"
panel with the most recent release notes, so you can see at a
glance what changed (and whether a colleague with a different
install is on the same version as you).
Phase 5d — Logging, sign-in messaging, and UI polish
Added
- The tool now keeps a daily log file in the
logs\folder
next to the tool (gwdrawdown.log). A new file starts each day
and the last 30 days are kept, so if something goes wrong there
is a record to look back on. - Usage logging. Each time an analysis is run, a small summary
record (run parameters and headline results — no passwords) is
written to a central GeoBC log location, along with sign-in and
error events. This helps the team monitor the tool's health,
understand how it is used, and troubleshoot issues. If the
central location can't be reached (for example, off the
government network), logging quietly switches off — it never
blocks or slows the tool. - The sign-in screen now shows a "BCGW account help guide" link
when sign-in fails, pointing at the documentation page that
covers the common causes (locked or expired account, expired
password, network or VPN) and the right next step for each. - A short note on the sign-in screen confirming that your
password is never stored — it is held only in memory for the
session and discarded when you sign out. - A second "� Back to Setup" button at the foot of the results
page, so you don't have to scroll back to the top to start a new
analysis.
Changed
- The page header now shows the official British Columbia logo
in place of the typographic "British Columbia / Government of
B.C." text. - Friendlier sign-in error messages. A failed sign-in now
explains the problem in plain language — wrong username or
password, locked account, expired password, or a network /
connection problem — instead of showing the raw database error.
The technical error code is still shown, in small print, in
case you need to quote it to support. - Reworded the sign-in screen subtitle to "Connect to your BC
Geographic Warehouse (BCGW) account to use the tool." - Minor visual polish: the footer no longer repeats the signed-in
user name (it is already shown in the header) and its
disclaimer is centred; the "Impact % per well" chart caption is
smaller so it sits below the section heading rather than
competing with it.
Phase 5b — Map layers and overlays
Added
- Basemap switcher on both the setup and results maps. A
layers control in the top-right corner switches between
OpenStreetMap (the default), a topographic basemap, and
satellite imagery. - Context overlays you can toggle on either map:
- Aquifers — BC's mapped aquifer polygons, shown by default
on the setup map. Appears once you are zoomed in to roughly
regional scale. - All BC Wells — every registered well in the province, on
the setup map. Appears only when zoomed in close, so it
doesn't swamp the view. - Water Management Districts and Water Management
Precincts — the administrative boundaries, each with a name
label that tracks the part of the boundary you're looking at
and follows you as you pan and zoom.
- Aquifers — BC's mapped aquifer polygons, shown by default
- A small legend in the bottom-right corner of the map
explains the aquifer and well symbology. It appears only while
those layers are switched on. - The setup map shows a crosshair cursor while you are in
"Map click" mode — a clearer cue that the map is waiting for a
click to place the pumping point.
Changed
- Entering a latitude / longitude or looking up a well tag number
now recentres and zooms the map to that point automatically,
so you see it in context without panning there yourself.
Phase 5c — Exports
Added
- Download KML button on the results page. Exports the
pumping well and every nearby well as a KML file you can open
directly in Google Earth. Each well is colour-coded by its
status (at-risk, OK, and so on) and sized by its predicted
impact — the same scheme as the results-page map — and carries
its full result row (distance, drawdown, SAD, impact, and the
rest), so you can inspect any well by clicking it in Google
Earth. - Download PDF report button on the results page. Produces a
print-ready summary of the whole analysis, one section per
page: page 1 — input parameters, a row of summary cards, and a
method-and-assumptions note; the two result charts, one per
page; then the at-risk wells table; then the full per-well
details table. Every page carries a screening-tool disclaimer
banner
and a footer with the run timestamp, a unique run ID, the tool
version, and your username — suitable for attaching to a
licence assessment file. Wells outside the Cooper-Jacob
validity range are tinted light purple in the per-well table,
matching the on-screen view. - Download interactive map (HTML) button on the results
page. Produces a self-contained HTML file that opens in any
browser as an interactive Leaflet map — the pumping well, its
buffer, and every well with a click-through popup. A handy way
to share the result without the full tool. - All three exports reflect any per-well overrides you have
applied, and the PDF charts are captured from exactly what you
see on screen.
Changed
- The per-well CSV export gains an "Outside Validity" Yes/No
column, so the Cooper-Jacob validity advisory (shown as a
purple row tint on screen) survives the export to a format
that can't carry cell colour.
Phase 4d — Aquifer selection fallback + manual entry
Added
- Nearby aquifers are now offered on the setup page alongside
the aquifer the well directly overlaps. The tool searches a
1000 m radius and lists the three closest aquifers, each
labelled with its distance (e.g. "Aquifer 123 — 47 m away") and
tagged "(nearby — not directly overlapping)". The aquifer the
well sits inside is tagged "directly overlapping" and
pre-selected, but you can pick a nearby one instead — useful
when a well sits inside one aquifer (e.g. bedrock) but just
outside the boundary of the aquifer it should really be
associated with (e.g. an unconsolidated aquifer 50 m away). - Manual-entry mode for remote areas the Province hasn't
mapped. A "No mapped aquifer at this location — enter materials
manually" option appears at the bottom of the picker in the same
fallback list. Choosing it reveals an aquifer-material dropdown
(Unconsolidated or Bedrock) and requires you to enter T and S
values directly. The same-aquifer filter is disabled in this
mode (there's no polygon to filter against), and the results
page shows an orange banner above the run summary so reviewers
can see at a glance the run was based on user-supplied
materials and T/S rather than mapped data. - If no aquifers are found within 1000 m and none contain the
point, the picker shows just the manual-entry option with a
note explaining nothing nearby was found, so the workflow is
never blocked by missing aquifer coverage.
Phase 5a.3 — Distribution via GitHub Releases
Changed
- The tool now ships through GitHub Releases instea...