Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 6.5.0 #1845

Closed
wants to merge 202 commits into from
Closed

Release 6.5.0 #1845

wants to merge 202 commits into from

Conversation

github-actions[bot]
Copy link
Contributor

MODFLOW 6.5.0 release

The release can be approved by merging this PR into master. Merging rather than squashing is necessary to preserve the commit history.

When this PR is merged, a final job will be triggered to draft a tagged GitHub release, then upload assets (OS distributions and release notes).

github-actions bot and others added 30 commits February 7, 2024 21:29
* - cache mpi headers and bodies
* - final step in implementing caching: only cache message bodies (skip routing of headers and maps when possible)
* - fix: initialize mpi request handles
* - add MPI error check
* - PETSc vec readonly access
* - add more strategic MPI error checks
* chore(timer.f90): cleanup docstrings in Timer utility

* Restoring uppercase of intrinsic
* docs(mf6io): correct description of CDIST in gwfgwf/gwtgwt
* correct deprecation warnings to use proper version number
* integrate sim-tdis with idm

* rebuild makefiles

* fix comment

* rebuild makefiles

---------

Co-authored-by: mjreno <[email protected]>
* feat(GWE): Introduce Groundwater Energy Transport

* fix typo in meson file

* fix a formating issue that was popping up in an MST autotest

* some legacy line leftover from a botched rebase, possibly

* Need update initial autotest to conform to new autotest standards adopted with #1464

* Start looking for post-rebase breakages

* Get gwfgwe and gwegwe exchanges up-to-date based on #1505

* Code that had been moved to set_active_status in FMI was still present in fmi_fc(). Removing.

* Forgot to remove unused variables after making changes in 4d76729

* Adding another autotest specific to GWE

* Adding another autotest after getting it #1464 compliant

* Compliantizing another new autotest with PR #1464

* Fixes in response to #1493 (comment)

* Fix in response to #1493 (comment)

* Rerunning black in response to #1493 (comment)

* Fix in response to #1493 (comment)

* Made changes to dfn files in response to #1493 (comment) and #1493 (comment) and reran mf6ivar.py, which updated the tex files in this commit

* Fix in response to #1493 (comment)

* remove unnecessary line of script

* Add missing lines to ConnectionBuilder.f90 related to GWE

* Add a GWE vs GWT comparison autotest

* GWE-GWE exchanges now working.  Other clean-up for code uniformity

* Rebrand constant temperature package acronym to CTP

* Missed an import renaming update

* Forgot to remove a now obsolete file due to renaming.

* Rebrand energy storage and transfer package acronym to EST

* Forgot to remove a now obsolete file due to renaming (again)

* Rebrand gwe dispersion package acronym to CND (conduction) since that is the dominant process in heat transport

* Remove gwe-related code from generalized transport code (tsp1.f90 & tsp1ssm1.f90)

* add single-cell test for energy source loading (ESL) package

* Adding energy source loading (ESL) package

* remove unused variable

* fprettify

* Add another ESL autotest

* Adding another autotest that compares gwe to three different analytical solutions from Carslaw & Jaeger (1947)

* Bringing over Stallman autotest from previous GWE PR (#1237)

* Adding streamflow energy transport (SFE) package

* Add autotest for SFE

* Adding lake energy transport (LKE) package. Includes new autotest

* forgot meson update

* Adding multi-aquifer well energy transport (MWE) package. Includes new autotest

* Adding unsaturated-zone energy transport (UZE) package. Includes 2 new autotests

* Attempting to reapply a failing autotest. Unable to discern why it is failing as downloaded contents from its failure are working locally.

* removing troublesome autotest.  Downloaded contents from failed run on Actions doesn't yield the same output that the logs are reporting.  This particular autotest has an analytical solution (and a plot) that might be better shown on the modflow6-examples repo anyway

* Removing a file that shouldn't have been added (snuck in among other staged files)

* Update release notes
…1611)

* suggest Chocolatey and winlibs distributions
* mention conda distribution's incompatibility
* if CI tests fail it can be helpful to inspect their outputs
* add workflow_dispatch trigger to `large.yml`
* miscellaneous cleanup
add python script that can poll memory usage on HPC system
* v15 of exes distribution doesn't have double-precision program versions
* temporary workaround until double-prec mf2005/mfnwt/etc restored to dist
* previously triggered on push/PR to master or release branch
* reset PR step was removed from release procedure, remove mention of it
* correct inaccuracies from earlier versions of release automation
* remove water mover performance entry from develop.tex
* rename vx.x.x-template.tex -> vx.y.z-template.tex
* describe release notes maintenance procedure
* remove unused function from build_dist.py
* reformat python scripts in distribution/
* skip, don't crash/fail if downloaded programs or rebuilt regression mf6 programs not found
* only require dev build to gracefully run autotests
* move logic into external model repo tests where used
* simplifies framework state management
* double precision mf2005, mfnwt, mflgr and mfusg are back in exes dist v16
* test_mf6_tmp_simulations.py was unused/skipped, remove it
* test_examples.py still had a reference to TestFramework.setup(), neglected in 886e394
* refactor(swf-disl): remove unused routines

* fprettify

* some minor reformatting
* add macos-14 (m1 runner) build to release matrix
* native support for apple silicon, removes need for rosetta
* use devtools os tags to distinguish intel from arm mac artifacts
* remove unused inputs from release_dispatch.yml: commit_version, reset
wpbonelli and others added 27 commits May 17, 2024 10:48
Add sections describing particle track binary and CSV output files

Co-authored-by: aprovost-usgs <[email protected]>
* make EXIT_SOLVE_TOLERANCE required for DISV grids for all grids, motivation: one should be aware the generalized method is semi-analytical and subcells are solved numerically for grid cells we can't solve with Pollock's method
* accept any value for DIS grids, following convention in e.g. rnb in gwf-csub.dfn packagedata where a sometimes-required option can have any value when not required
* fix double comma in bib file
Mark some tests that need to be skipped in release mode
Fix test selection in large.yml, marker no longer exists with test: remove unneeded marker #1820
)

* track_all isn't necessary as all events are enabled by default
* "need" -> "needed` in supplemental technical info document
On rectangular grids, the generalized particle tracking method can find itself in an endless loop on macOS 14 compiled with gfortran with optimization=2, confirmed with gfortran 11-14.

It's difficult to say where things are going wrong since on ARM macs neither gdb nor lldb can be used so we are stuck with print debugging. An architecture/compiler problem seems plausible since we'd presumably see the same behavior on other platforms with opt=2 if it were our bug, but I'm not sure.

This should not occur typically since rectangular cells are detected and solved with Pollock's method, but we use dev_forceternary in test_prt_disv1.py to check that the generalized method reduces to Pollock's. The test has been hanging in CI recently — we might have caught it sooner but there was a separate setup-fortran issue which concealed this one at first.

While it might be safe to release with optimization=2 (with the assumption developers are the only ones using dev options) I don't think we can be sure the same or similar issues could not affect other model grids. So I think we should drop the optimization level pending more information.
Add the developmode marker to parallel tests that reuse models from tests that use dev options
Apply 'not developmode' marker when testing parallel mf6 in test-par-win action...
* on master branch, generally
* if developmode is false in the release workflow
* docs(MODFLOW6References.bib): correct url links

* fix minor typos in OC

* Add comment line to gwe apt example observation .tex files for improved readability

* add missing comma in *.bib file
Incorporate fixes and suggestions from @rbwinst-usgs' review.

Co-authored-by: aprovost-usgs <[email protected]>
* unneeded since we are removing the list of distribution contents from release notes
* remove mk_folder_struct.py, pixi task in pixi.toml, and steps from release.yml
* docs(releasenotes): more cleanup for 6.5.0 release

* fix ftype table links in mf6io
* add optional tol dummy arg to nudge() routine in MethodSubcellTernary, better dummy arg naming, improve docstring
* use LENBOUNDNAME instead of hardcoded 40 in mf6io document
* clarify docstring for shared_face() routine in GeomUtil
Remove break statement likely leftover from development/debugging, which caused only the first example model to get a test run. This is why the examples script issue addressed by MODFLOW-USGS/modflow-devtools#156, where models were written to runall.[sh/bat] in an order which did not respect flow model dependencies, was not caught before.

After this PR, the runall.[sh/bat] script will be tested, as well as 3 of the separate example scripts picked at random.
…ames (#1775)

* check input length of model,exg,pacakge names

* delay model package name error until all names checked

---------

Co-authored-by: mjreno <[email protected]>
* need to consider whether necessary to test all individual example scripts too
* logic to pick them randomly was broken, didn't respect gwf model dependencies
developmode, run_tests and models inputs were not passed to release.yml correctly
@wpbonelli
Copy link
Contributor

Closing as we have a newly patched release branch coming shortly

@wpbonelli wpbonelli closed this May 23, 2024
@wpbonelli wpbonelli deleted the v6.5.0 branch May 23, 2024 17:07
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.