Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
150d47a
Refactor scratch workspace by moving script to a new file for better …
bgcasey Sep 8, 2026
0dd4dbe
Add validation script for harmonized test dataset to ensure data inte…
bgcasey Sep 8, 2026
dc9b7ec
Enhance documentation for read_plant_taxon function to clarify densit…
bgcasey Sep 8, 2026
db1f583
Remove outdated v2 modelling scripts for mites and vascular plants; u…
bgcasey Sep 8, 2026
09713a5
Merge pull request #1 from ABbiodiversity/main
bgcasey Sep 8, 2026
a30e0cf
Moved bird scripts
bgcasey Sep 9, 2026
e5a381a
Refactor taxon modules and documentation
bgcasey Sep 13, 2026
5ae067a
Add run_record function to generate a comprehensive run record
bgcasey Sep 28, 2026
0b05b06
Enhance reproducibility and seeding in the pipeline
bgcasey Sep 29, 2026
4d2583e
Add provenance columns to mammal reference data for improved traceabi…
bgcasey Sep 29, 2026
545695e
Update run record with new focal species, bootstrap settings, and met…
bgcasey Sep 29, 2026
e4e5504
Add parity v2 output reports and summary tables
bgcasey Sep 29, 2026
86aabaf
Refactor v2 coverage reporting and enhance documentation
bgcasey Sep 29, 2026
2f885a3
Refactor alignment review and taxon quirks documentation
bgcasey Sep 29, 2026
5b61d5c
Enhance parity analysis and reporting
bgcasey Sep 30, 2026
c6852d4
Refactor parity evaluation and reporting in exp_000_parity_v2
bgcasey Oct 1, 2026
9ceec7f
Update run_record and summary tables for experiment 000_parity_v2
bgcasey Oct 3, 2026
87a096e
Update file paths for bird data to point to the new location in remot…
bgcasey Oct 3, 2026
1cb1e37
Add grid_summary.csv to tracked output tables in .gitignore
bgcasey Oct 3, 2026
11cb646
Refactor framework design and documentation
bgcasey Oct 3, 2026
db1df65
Updated readme to reflect updated pipeline
bgcasey Oct 3, 2026
2b72a2b
Update parity_summary.csv and documentation for output clarity
bgcasey Oct 3, 2026
7de25de
Enhance documentation for experiments and covariate handling
bgcasey Oct 5, 2026
98e8924
Update README and documentation for xgboost integration
bgcasey Oct 5, 2026
60d95ae
Refactor dataset references to use published copies
bgcasey Oct 5, 2026
147c7fe
Remove harmonization script for v2 results
bgcasey Oct 6, 2026
67b30af
Refactor README and taxon quirks documentation; remove legacy scripts…
bgcasey Oct 6, 2026
a45a17d
Update README and getting_started documentation for comparison metrics
bgcasey Oct 6, 2026
44b6e31
Add new_experiment function to scaffold experiment folders and update…
bgcasey Oct 6, 2026
d4ce565
Add parity summary CSV file with climate and habitat data for various…
bgcasey Oct 6, 2026
70bbdac
Refactor code for clarity and efficiency; update comments and headers…
bgcasey Oct 6, 2026
944158f
Refactor documentation and comments across multiple modules for clari…
bgcasey Oct 7, 2026
e548251
Add comprehensive documentation for setup, experiments, harness, modu…
bgcasey Oct 7, 2026
7b1c8a7
Add Quarto documentation site with GitHub Actions workflow
bgcasey Oct 7, 2026
3a495e2
Merge pull request #2 from ABbiodiversity/improve_code_efficiency
bgcasey Oct 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Build the Quarto docs site in docs/ and publish it to GitHub
# Pages. Same pattern as sciSpatialR's pkgdown workflow.
#
# The site is rebuilt from docs/ on every run and handed to Pages
# as a build artifact, so no rendered HTML is ever committed and
# there is no gh-pages branch to keep in sync. Pull requests build
# but do not publish, which surfaces a broken page during review
# rather than after merge.
#
# The pages are plain Markdown, so Quarto renders them without R.
# Which pages are built is set by `project: render` in
# docs/_quarto.yml.
#
# Repository prerequisite: Settings > Pages > Source = "GitHub
# Actions". Without that, the deploy job fails with a 404.

name: docs

on:
push:
branches: [main]
paths:
- "docs/**"
- ".github/workflows/docs.yaml"
pull_request:
paths:
- "docs/**"
- ".github/workflows/docs.yaml"
workflow_dispatch:

# Deny by default; each job requests only the scopes it needs.
permissions: {}

# Serialize publishing. Queued runs collapse to the newest, but an
# in-flight deployment is allowed to finish so the live site is
# never left half-written.
concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v7

- uses: quarto-dev/quarto-actions/setup@v2

# Renders to docs/_site, as set in docs/_quarto.yml
- name: Build site
run: quarto render docs

# No configure-pages step: Quarto reads its base URL from
# `site-url` in docs/_quarto.yml, so this job stays on
# contents:read alone.
- uses: actions/upload-pages-artifact@v5
with:
path: docs/_site

deploy:
# Publishing is a main-branch-only consequence of a green build.
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
permissions:
pages: write
id-token: write
steps:
- id: deployment
uses: actions/deploy-pages@v5
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,19 @@ vignettes/*.pdf
!3_output/**/
!3_output/**/.gitkeep

# ...but keep the small, diffable summaries of each experiment:
# the run record, the report and the summary tables. They are
# what lets experiments be compared from the repository alone.
# Per-species detail (coefficient_summary.csv,
# parity_terms.csv) is large and is rebuilt from the
# 2_pipeline/ stores, so it stays ignored.
!3_output/**/run_record.md
!3_output/**/report.md
!3_output/**/tables/parity_summary.csv
!3_output/**/tables/coverage.csv
!3_output/**/tables/metric_summary.csv
!3_output/**/tables/grid_summary.csv
!3_output/**/tables/v2_self_agreement_summary.csv

AGENTS.md
CLAUDE.md
53 changes: 53 additions & 0 deletions 0_data/v2_scripts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# v2_scripts

![Status](https://img.shields.io/badge/Status-Reference%20only-lightgrey)
![Languages](https://img.shields.io/badge/Languages-R-blue)

Cloned snapshots of the v2 modelling code, taken on **2026-09-08**, one
subfolder per taxon.

These are the code as received, kept unmodified. They are the reference the
rewritten modules in `1_code/modules/` are checked against, and they are
**not run** — nothing in the harness, modules, or experiments sources them.
Subfolder names match those under `1_code/modules/`, so each module has an
obvious reference.

## Sources

| Folder | Source | Taken from | Commit |
| --- | --- | --- | --- |
| `birds/` | <https://github.com/ABbiodiversity/BirdModels> | whole repository | `1a3e086` (2026-04-22) |
| `mammals/` | <https://github.com/ABbiodiversity/MammalModels> | `1_code/2_habitat-modeling/2024/` | `2874dec` (2026-09-01) |
| `plants/` | `\\ABMI-DATA2\science\sc\ToEmily\VegetationModels\1_code\r-scripts` | `1_code/r-scripts/` | `24e97e3` (2025-04-02) |

Each snapshot was verified against its source on 2026-09-08:

- `birds/` — 21 files, cloned that day from `main`.
- `mammals/` — 21 files, every blob hash matches the commit above.
- `plants/` — 19 files, byte-identical to the network path.

The `plants/` source is a working copy on ABMI-DATA2 of
<https://github.com/beallen/VegetationModels>, on `main`. The commit was read
from its `.git` refs; whether that working copy had uncommitted changes was
not checked, so treat the commit as indicative rather than exact.

Soil mites sit in `plants/` because that is how the vegetation repository
groups them — "plant group" names a file layout, not a taxonomy, and covers
vascular plants, bryophytes, lichens and soil mites alike.

## No nested repositories

The `.git/` directories were not kept. An embedded repository is recorded by
the parent as a gitlink rather than as files, which would leave these scripts
untracked here. Re-clone at the commit above to recover history.

`birds/.gitignore` came with the clone and was kept as received. It applies
to that subtree and would exclude `data/`, `figs/` and `out/` if any were
added there.

## Refreshing a snapshot

Replace the folder's contents, update the commit and date in the table above,
and re-check the rewritten module against it. A change here is a change to
the reference the parity gate is measured against, so it should not be made
silently — see [Parity gate](../../README.md#parity-gate).
1 change: 0 additions & 1 deletion 0_data/v2_scripts/birds/.gitkeep

This file was deleted.

File renamed without changes.
File renamed without changes.
1 change: 0 additions & 1 deletion 1_code/.gitkeep

This file was deleted.

28 changes: 28 additions & 0 deletions 1_code/_scratch.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# ---
# title: Scratch Work
# author: Brendan Casey
# created: 2026-09-06
# inputs:
# - ad hoc, temporary inputs as needed
# outputs:
# - none by default
# notes:
# Temporary workspace for testing, exploration, and one-off
# tasks. Keep work grouped under dated headings and move any
# durable code into the appropriate script or module.
#
# Headings run three deep, so the Outline menu reads as a
# day > task > step outline:
# # YYYY-MM-DD ---- one per day of scratch work
# ## Task ---- one per piece of work that day, named
# for what it does, not for the date
# ### Step ---- stages within a task; the first is
# Setup, loading packages and data
#
# Add new code under the current date heading, creating that
# heading if the day does not have one yet. A day with only
# one task still gets both a date and a task heading, so the
# outline stays the same shape throughout.
# ---

# End of script ----
Loading
Loading