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 instead of being handed
out as a folder. End users download one file —
setup.batfrom
https://github.com/bcgov/groundwater-drawdown-tool/releases/latest/download/setup.bat
— and double-click it. The installer pulls the matching release
zip, extracts it to%USERPROFILE%\Tools\groundwater-drawdown-tool\,
installsuv+ Python 3.13, and runsuv sync. No editing files,
no admin rights. - Re-running the same
setup.batchecks for newer releases and
updates the install in place..env,outputs\,logs\, and
flask_session\are preserved across updates so users don't lose
exports or have to re-login on every release. Update time is
roughly 30 seconds; "already up to date" exits in under a second. CLIENT_INSTALL.mdrewritten end-to-end for the one-URL flow.
Added
scripts/publish_release.ps1— developer-side release script.
Verifies a clean tree onmain, runsuv run pytest, builds
groundwater-drawdown-tool.zipexcluding dev cruft, tags the
commit, pushes the tag, and creates the GitHub release with the
zip andsetup.batas assets. Release notes are extracted from
the matchingCHANGELOG.mdsection.-Draftflag for pre-release
review;-SkipTestsfor emergency use.- README publish-workflow section covering
ghCLI setup and the
release cut steps.
Phase 5a.2 — Setup-page polish and form styling
Added
- Section icons beside each setup-page section heading
(location pin, layers, sliders). - The setup page's source-aquifer "Override default T / S" and
"Filter out wells spatially outside source aquifer" controls
are now on/off toggle switches (instead of basic checkboxes)
so it's clearer at a glance whether they are on or off. - The setup-page input-mode selector (Map click / Lat-Lon / Well
tag number) is now a segmented control — one row of three
buttons rather than radio dots. - A new m³/yr pumping-rate unit, so multi-year licence-volume
estimates can be entered directly without pre-converting.
Changed
- Pumping-rate unit list reordered to lead with m³/d (now default),
followed by m³/min, m³/s, m³/yr, L/min, L/s. Imperial GPM and
US GPM removed (BC officers don't use them outside the legacy
BCGW YIELD column, which still flows through its own conversion).
Default Q value is now 200 m³/d (was 3.97 L/s). - Default pumping duration is 90 days (was 100). Quick-pick
presets are now 30 d / 90 d / 180 d / 1 yr / 10 yr. - Results page now reads as a sequence of clearly-separated
sections (Distance-drawdown, Impact %, Map, At-risk, All wells)
with a faint divider line above each section heading. Headings
are smaller and more compact so the charts and tables get the
visual attention. - "Map" section heading renamed to "Wells in buffer (map view)"
so it describes what the map actually shows. - "Editable columns" line on the per-well details table is now
on its own bold line and lists the four columns directly, with
the longer usage notes below it. - The pagination reminder under the at-risk and per-well tables
moved from above the table to below — closer to the page
controls themselves. - Setup-page Lat / Lon and Well-tag-number input panels now have
compact, fixed-width inputs with the action button on its own
row below.
Fixed
- The footer no longer floats above the bottom of the screen on
short pages like the login screen — the page wrapper was
shortening itself by the header height it contained.
Phase 5a.1 — Visual identity
Added
- The tool now follows the BC government visual identity. Every
page has a dark-blue header with the "British Columbia"
wordmark, a thin gold stripe, the app title, and (once signed in)
your username with a Logout button. Matching dark-blue footer
with the version, your username, and a "screening tool" reminder. - A show / hide password button (eye icon) on the sign-in
screen, in case you want to double-check what you typed.
Changed
- The status tiles on the results page (Total wells, At risk, OK,
etc.) have been redesigned. White tiles with a coloured left
edge and a larger number, in place of the pale pastel
backgrounds — easier to read at a glance and consistent with the
rest of the new BC theme. - Buttons, section panels, and link colours updated to match the
BC navy and gold palette.