Skip to content

v0.5.0

Choose a tag to compare

@MoezLabiadh MoezLabiadh released this 25 May 21:27
· 50 commits to main since this release

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-update to run.bat to skip the check on a slow
    network. Update failures are logged to logs\auto-update.log and
    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.
  • 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.bat from
    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\,
    installs uv + Python 3.13, and runs uv sync. No editing files,
    no admin rights.
  • Re-running the same setup.bat checks 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.md rewritten end-to-end for the one-URL flow.

Added

  • scripts/publish_release.ps1 — developer-side release script.
    Verifies a clean tree on main, runs uv run pytest, builds
    groundwater-drawdown-tool.zip excluding dev cruft, tags the
    commit, pushes the tag, and creates the GitHub release with the
    zip and setup.bat as assets. Release notes are extracted from
    the matching CHANGELOG.md section. -Draft flag for pre-release
    review; -SkipTests for emergency use.
  • README publish-workflow section covering gh CLI 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.