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 3.7.0 #2196

Merged
merged 62 commits into from
May 23, 2024
Merged

Release 3.7.0 #2196

merged 62 commits into from
May 23, 2024

Conversation

github-actions[bot]
Copy link
Contributor

FloPy 3.7.0

The release can be approved by merging this pull request into master. This will trigger a final job to publish the release to PyPI.

wpbonelli and others added 30 commits February 8, 2024 08:23
…#2103)

* previously PRT <-> MP7 conversion functions crashed on empty DataFrame or recarray
* return early if input argument is empty or already in desired format
* convert particle name to StringDtype if returning DataFrame
* consolidate pathline/endpoint output dtype definitions
* expand conversion function tests
* fix branch names in dev docs
…ids (#2107)

* use correct vertices for rotated/offset vertexgrids
* add local kwarg to force gridintersect to use local model coordinates
* make local an attribute so structured methods can use it
* add tests for rotated vertexgrids and test local kwarg
* remove non-existing attributes from Grid docstring
* until ARM mac distributions supported from all three distributions?
* update(plotting): check for user set axes limits

* added method to check for user supplied axes limits and set with default extents if autoscaling is on
* update docstring in StructuredGrid.neighbors
* add tests for axes limit checks and scaling

* change np.alltrue back to np.all for numpy 2.0
… multiple blocks (#2058) (#2102)

* fix(str and repr): improved display string for str and repr data with multiple blocks

* fix(str and repr)

* fix(str/repr): pandas list str/repr fix
* feat get budget data by second package name `paknam2`

* Add a test and update docstring

---------

Co-authored-by: Langevin, Christian D <langevin@usgs.gov>
…#2124)

* switch to ruff from black, isort, flake8, pylint, keep (mostly) the same settings
* apply some suggested linting/formatting rules, ignore others in pyproject.toml
* run ruff check --select NPY201 as suggested here, replace deprecated syntax
    * np.float_ -> np.float64
    * np.NaN -> np.nan
* ignore well-known python-dateutil and pandas warnings
* fix(get_package and model_time): #2117, #2118

get_package now allows you to get package only by name or type, instead of always searching for a package both by name and type

model_time displays the correct steady state array and no longer gets confused if packages are named similar to the package type it is searching for

* fix(resolve merge conflict)

---------

Co-authored-by: scottrp <45947939+scottrp@users.noreply.github.com>
* install with --repo modflow6-nightly-build --ostag win64par
* todo: generalize asset name discovery?
* introduce base particle track file module and class
* rename _ModpathSeries -> ModpathFile
* deduplicate shared logic in ModpathFile
* deprecate write_shapefile() params
* prep to add support for MF6 PRT
* clarify canonical (minimal) fields
* add dtypes as class attributes
* misc cleanup in plotutil.py
* accidentally broken with switch to ruff
* fixes optional dependency ci tests
…overland flow) (#2131)

* This first PR doesn't really do anything, except define model shapes and cellids for dis2d
* No testing yet
* A modelgrid for this discretization type has not been addressed yet
* Unclear what type of plotting and export to support
* support PRT pathline format
* support dataframe or recarray
* support merged or separate paths
* attach layer array to exported points
* feat(disv1d): rename DISL to DISV1D
* ruff

Merging this in even though a few of the mf6 tests are failing.  Those tests will fail until this gets in.
* patch a few remaining gaps in support for dataframes
* update mf6_mnw2_tutorial01.py to use dataframe pkg input
* update a test in test_modflow.py to use dataframe pkg input
* extend default rules in pyproject.toml
* apply import sorting
* fix line lengths: demo what's needed to fully observe E501
  * flopy/version.py
  * update_version.py
  * flopy/utils/zonbud.py
* ignore line length violations in comments for now
…2139)

* fix(empty transient data): empty stress period 1 transient data is now retained and used to create empty stress period block (#1091)

* fix(empty transient data)

---------

Co-authored-by: scottrp <45947939+scottrp@users.noreply.github.com>
#2140)

* update(MFSimulationBase): allow simulations to have no attached models

* updates for mfmodel
mwtoews and others added 26 commits April 18, 2024 22:39
)

* test_lgrutil.py fails with numpy>=2.0.0rc1
* wrap numpy scalars with float() to avoid precision loss per https://numpy.org/devdocs/numpy_2_0_migration_guide.html#changes-to-numpy-data-type-promotion
* using builtin types in custom output data structures, rather than mixing builtins and np types, seems preferable in general
Instead of hardcoding which arrays to include in vtk pathline export, include all numeric arrays present in the pathline data
* determines whether to return local z coordinates
* useful to set release elevation w.r.t. water table
* minor docstring improvements
* use python 3.9 for example notebook tests in rtd.yml
…2172)

* return the same particle order from to_coords() and to_prp() as generated by MP7 — preserves particle indexing for MF6 PRT, making it easier to compare results
* refactoring/cleanup, factor out helper methods get_cell_release_points(), get_face_release_points()
* defer materialization — return iterators not lists so the consumer can control memory use, previously done for to_coords() and to_prp() but not get_release_points(), might be relevant for very large release configurations
* test-drive a pytest plugin for previously hardcoded snapshot tests, introduce some fixtures in autotest/conftest.py for nicer array snapshots than the default format, maybe these could live in devtools if they see wider use?
…mulation name file's options block (#2164)

* feat(sim options block packages):

Support for simulation options block packages added including the hpc package.

* feat

* feat

* fix

* fix(format)

* fix(array reader)

* Revert "fix(array reader)"

This reverts commit 0b753ac.

---------

Co-authored-by: scottrp <45947939+scottrp@users.noreply.github.com>
* round to remove near-duplicate vertices produced by GRIDGEN, with tunable precision
…mulation name file's options block (#2174)

* feat(sim options block packages):

Support for simulation options block packages added including the hpc package.

* feat

* feat

* fix

* fix(format)

* fix(array reader)

* Revert "fix(array reader)"

This reverts commit 0b753ac.

* fix(array reader): Limit array line size read based on the dimensions of the array (#2053)

* fix(data formatting): test case data format issue

* fix(test updates)

* fix(reformat)

* fix(HPC)

---------

Co-authored-by: scottrp <45947939+scottrp@users.noreply.github.com>
* fix(discretization/UnstructuredGrid)

Method from_gridspec:
* allow comments before headers
* force consistent upper case header strings for parsing
* refactor autotest/test_grid.py and add test for gsf file with comment line

* ruff

* gsf file for test...ahem

* test_grid.py remove comment lines form loaded file data
* add budgetkey param to MF6Output and pass it down to MF6ListBudget in MF6Output.__list()
* update MFModel.output to set budgetkey to "MASS..." instead of volume for transport models
* todo: revisit and generalize for additional model types
ndarray is treated as before — only named data structures (recarray and dataframe) are considered, to avoid questions about where to put the kper column
Check np.isclose instead of exact equality in find_position_in_array() to allow for floating point error after round-trip coordinate transformation — if a coordinate passes the fuzzy check, clamp it to the cell boundary
…ered (#2183)

* fix(MFFileAccessArray): read_text_data_from_file modified to work with non-layered input

* minor comment fix
)

* mention modflow-devtools testing dependency in DEVELOPER.md, motivated by #2180
* update CONTRIBUTING.md and DEVELOPER.md with info on ruff instead of black/isort
* update etc/environment.yml lint deps (ruff replaces black/isort/flake8/pylint)
* remove scripts/pull_request_prepare.py, suggest ruff commands instead
* update .github/workflows/release.yml to use ruff
* import snapshot fixtures from modflow-devtools and remove them from conftest.py
* switch to dev version of devtools in environment.yml, use micromamba in rtd.yml ci
#2192)

get_structured_faceflows returned flf = 0 for cells when the cell below it has idmomain -1
* notebooks can be converted/executed with pytest via autotest/test_notebooks.py
* no more need to run notebooks pre-release since ipynb files are not versioned
Update DFN files and generated mf6 component classes in preparation for 3.7.0 release
@wpbonelli wpbonelli marked this pull request as ready for review May 23, 2024 20:57
@wpbonelli wpbonelli merged commit 6163383 into master May 23, 2024
1 check passed
@wpbonelli wpbonelli deleted the v3.7.0 branch May 23, 2024 20:59
@wpbonelli wpbonelli restored the v3.7.0 branch May 23, 2024 20:59
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.