Skip to content

species: American coot (Fulica americana) - #1311

Draft
jt55401 wants to merge 1 commit into
mainfrom
wave-20261101d-583-fulica-americana
Draft

jt55401 wants to merge 1 commit into
mainfrom
wave-20261101d-583-fulica-americana

Conversation

@jt55401

@jt55401 jt55401 commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

What this adds

American coot (Fulica americana): species record, U.S. activity curve, attribution and a species-local wetland behavior program.

Refs #583

Evidence and scope

GBIF resolves usage key 2474393 as accepted Fulica americana at species rank; iNaturalist resolves active species taxon 473. Both checked 2026-11-01. US is supported as native range. The submitted record adds this taxon only.

traits.mass_range_kg uses the sex-specific female and male ranges in Wikipedia, Description; mass_kg is the derived midpoint of those range midpoints, 0.62 kg. Length and wingspan use sourced range midpoints. Lifespan is the ADW account's 9-year average wild value, Lifespan/Longevity, lines 125-135. The adjacent 268-month value is linked separately to Bird Banding Laboratory and is treated as a maximum age, not the average. ADW gives no estimator or population for its average statement.

One value remains unsupported: seasonal.winter_fraction, required for PartialMigration. The CC BY-SA Wikipedia account, Distribution and habitat, says some populations migrate while others remain year-round where water stays open; it gives migration windows for temperate populations east of the Rockies, but no U.S.-wide resident share. GBIF/iNaturalist observations are not a population census. USGS BBL/AnAge provide maximum-age information, not this fraction. A licensed estimate for a defined U.S. population or a better-supported regional scope is needed. The record omits the value instead of guessing; validation reports MissingWinterFraction.

Activity and behaviour

Region US uses tier A iNaturalist place 1 (15,763 observations, all months; usable) and GBIF country US (4,833,955 total; usable), both filtered to CC0/CC BY. Combined monthly curve, Jan-Dec: 0.96, 0.82, 0.83, 0.58, 0.23, 0.20, 0.20, 0.24, 0.31, 0.65, 1.00, 0.90. The source queries and filters are recorded in the species record.

fsm-fulica-wetland-v1 walks shorelines, uses swim-gait feeding for aquatic plants and animal foods, flies from threats and rests at night. Active states exit to rest when is_day becomes false; rest exits to idle when day returns. The program has no month_in calendar. Migration varies across the U.S.; population-specific windows are recorded in the seasonal note and are not applied as a national behavior calendar. The format has no dive action, so underwater feeding is abstracted as swim-gait feeding.

Validate report

Tested commit: 00c40610e06a65c902a014d69c89b58b553f45ed.

  • uv run tools/validate.py species/fulica-americana --write-attribution --report: 1 error, MissingWinterFraction; 1 warning, ADW CC-BY-NC-SA-3.0 on traits.lifespan_y only.
  • uv run tools/validate.py --self-check: passed, 644 files scanned, 0 findings.
  • uv run tools/validate.py --report: 1 error across 197 targets, the same missing value.
  • uv run tools/validate.py --locale all --report: passed.
  • CARGO_BUILD_JOBS=1 uv run --with pytest --with jsonschema pytest tools/tests -q: 347 passed, 8 skipped.
  • Attribution regeneration left git diff -- species/fulica-americana empty.

Preview evidence

Inspected idle, walk, swim, fly and rest in the previewer. The block model reads as a dark, white-billed coot with a red bill marking; swim feeding is a simplified surface/dive representation, as noted above. Preview review does not establish live-scene acceptance.

Checklist

Species

  • Checked current main and open PRs for the same taxon; claimed the issue
  • Taxon identifiers and source claims checked at their providers
  • Evidence locators, units/statistics and authored transformations documented
  • Validate report has no errors; the sole failure is the named missing value above
  • ATTRIBUTION.md regenerated and committed
  • U.S. activity curve generated and query scope, counts, licence tier and usability inspected
  • Regional seasonal fraction has licensed population evidence
  • No unrelated shared record is changed
  • All-species/all-locale validation passes on the submitted commit
  • Every declared pose inspected
  • The NC source is isolated to lifespan and justified below
  • No private data, paths, hostnames or tokens in the diff
  • One species in this PR

Non-CC0/CC-BY sources

Wikipedia is CC BY-SA 4.0 and supports the natural-history, morphology and seasonal claims listed in provenance. ADW's conditions page confirms its text is CC BY-NC-SA 3.0. I retained it only for the required 9-year average wild lifespan after checking GBIF/iNaturalist provider data, the USGS banding longevity material and permissively licensed natural-history accounts; the alternatives located supplied taxonomy, observation data or maximum ages, not a typical-wild average. The ADW attribution is preserved in ATTRIBUTION.md.

Remaining work

Find licensed evidence for the resident share of a defined U.S. population, then set seasonal.winter_fraction with its source and locator and rerun validation. The issue has needs-deeper-research until that value is supported.

@jt55401 jt55401 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hourly maintainer review: 00c4061

Disposition: held in draft for the missing winter-resident fraction. Targeted seasonal/lifespan source check only.

species/fulica-americana/species.json:seasonal.strategy=PartialMigration requires seasonal.winter_fraction, the population share staying for winter (species.schema.json:1006–1008). The cited Wikipedia, Distribution and habitat describes both migrants and year-round residents, but supplies no population fraction. Occurrence counts and the area of a range map cannot establish that demographic share. Retain the omission until there is an admissibly licensed estimate for a defined population, with its scope and derivation; an invented national fraction would not clear #583.

The nine-year value is directly stated in ADW, Lifespan/Longevity, with a wild-status label. Its text conditions link to CC BY-NC-SA 3.0, consistent with the isolated last-resort use. However, the adjacent 268-month entry is also labelled “Average lifespan / Status: wild” on ADW. Update provenance[traits.lifespan_y] and the PR/issue summary to acknowledge that conflicting label, and cite a separately verified maximum-age locator for the interpretation. The linked old BBL page returned 403 here, so I did not independently verify that maximum. ADW does not identify an estimator or population for its nine-year statement; retain that limitation.

Fresh focused validation/attribution: 1 MissingWinterFraction error, 1 NC warning, 34/34 provenance; attribution unchanged. Hosted validate fails at this SHA. Only the three new species files differ from current main. Identifiers, activity queries, executable behavior, repository-wide checks/tests and poses were not rerun for this targeted draft note. No merge or private/live acceptance.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant