Uh oh!
There was an error while loading. Please reload this page.
Merge master into dev to keep dev from falling behind - #188
Merged
Conversation
The repository has seven tags and six GitHub releases, and no file that tells a user what changed between them. `pip install forefire` makes that worse: someone pinning a version has the release notes on GitHub and nothing in the tree. CHANGELOG.md reconstructs every release from the release notes and the commit history. Claims that could be checked were checked against the tags: listenHTTP and RothermelAndrews2018 are absent at v1.2 and present at v2.0, the geojson dump mode is absent at v1.1.10. [Unreleased] lists only what is on this branch, #154 and #155. The dev branch carries a longer list in its own copy, which supersedes this one when dev is merged. CONTRIBUTING.md now asks for an entry, so the file stays current instead of being reconstructed again in a year. Its link to a testing page pointed at a Read the Docs URL that has never existed; it points at TESTING.md, which nothing in the repository linked to.
The documentation site had no mention of pip, pypi or wheels -- `grep -rni 'pip\|pypi\|wheel' docs/source` returned nothing -- while the README's headline instruction is `pip install forefire`. Every reader arriving at the site was sent to build from source. - installation.rst leads with pip: platforms, what the wheel contains, and the three options wheels turn off (MPI, -march=native, ANN_test), then the source build as before. - The NetCDF prerequisite said 'Verify which one is actually required by the current CMake setup', leaving the reader to answer the documentation's own question. CMakeLists.txt looks for netcdf_c++4 / netcdf-cxx4 / netcdf-cxx and its failure message already lists the package per distribution; that table is now in the page, along with the note that libnetcdf-cxx-legacy-dev is a different API. - The FOREFIRE_* build options are documented, with their real defaults. - quickstart.rst offered Docker only, calling it 'the quickest way'. A pip route comes first now; the Docker walkthrough is unchanged. - conf.py hard-coded release = '2.0.0', so the site advertised 2.0.0 while the code was v2.5.0. It parses src/include/Version.h, as CMake and scikit-build-core do. Sphinx builds clean: the only warnings are the eleven doxygenclass lookups that need the Doxygen XML RTD generates in its pre_build step.
Nearly every specific claim in tests/README.md was wrong: - `idealized_wind.py` and `rothermel.fann` do not exist; the files are `idealizedwind.py` and `Rothermel.ffann`. - runANN was listed as needing `tensorflow` (or `torch`). It needs neither. It runs `bin/ANN_test`, built from tools/runANN/ANNTest.cpp, and ForeFire reads the .ffann network itself. - runANN was described as comparing against reference outputs. It diffs against result.txt.ref, which is not in the repository, so the suite fails on its second line every time -- now stated, with a pointer to #163. - percolation.py runs four fires, not three: one per entry in k_coeffs. - idealizedwind.py writes no NetCDF, only 360wind.png, and by way of ForeFire's plot[] command rather than matplotlib. - runff has two entry points that do different things. run.bash runs three scenarios and checks the artefacts exist; ff-run.bash runs two and compares KML and NetCDF against references. CI calls the second, so only the second can catch physics drift. The old text described neither accurately. tests/python/README.md documented only farsite_flat.py, the one script that cannot run as checked out, and did not say so. It now covers all four files, keeps the download URL for flatland.lcp, and marks test_wheel.py as belonging to cibuildwheel rather than to this suite.
`emit` has been in Command::makeCmds since it was added, but in neither app/forefire/commands.md nor the command reference. That file is not prose: AdvancedLineEditor.cpp parses it into getCommandMan(), which drives Tab completion, the help text and the syntax colouring. A command missing from it is invisible to the console -- typing `emit` was rendered uncoloured, exactly like a typo, while `save` beside it came out green. commands.md also carried two '## clear' blocks. getCommandMan() assigns cmdMan[key] as it walks the file, so the second silently replaced the first and the longer entry was dead text. They are merged into one that matches what Command::clear does: free the domain, cancel scheduled events, keep the parameters. Both files now cover all 22 registered commands, with no duplicates. Verified: rebuilt and piped `emit`, `clear` and a nonsense word into the console. The first two now colour green as recognised commands, the third does not. Sphinx builds with no new warnings.
Document the pip install path, and fix the stale test and command references
# Conflicts: # CHANGELOG.md # CONTRIBUTING.md # docs/source/getting_started/installation.rst # tests/README.md # tests/python/README.md
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Real git merge of master into dev (not a cherry-pick), so dev stops showing as "behind" master in the branch list.
master's only commits not already in dev were #184 and #186 (and their four underlying commits) — content-wise already present in dev via the #185/#187 cherry-pick backports, so this is purely a history-graph sync, not a content change.
Conflicts resolved
Five add/add or content conflicts, all resolved by taking dev's side, per the guidance already written into #185/#187's own descriptions:
CHANGELOG.md,CONTRIBUTING.md: dev's version is a strict superset (additions only) of master's, per Backport the CHANGELOG to dev, with the dev-only entries #185's verification.docs/source/getting_started/installation.rst,tests/README.md,tests/python/README.md: dev's version documents behavior that only exists on dev (e.g. runANN passing, thanks to Make runANN work, and run it in CI #183) — Backport the documentation fixes to dev, with the dev-only entries #187 says explicitly to take dev's copy here.Verified no leftover conflict markers, and after this merge
git log HEAD..origin/masteris empty — dev is fully caught up.