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

Feat (mfusg): FloPy MODFLOW-USG support (with .bas file example) #1476 #2378

Draft
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

swfwmd
Copy link
Contributor

@swfwmd swfwmd commented Nov 22, 2024

  • Feat(mfusg): add mfusg transport version 2.4.0 support

fixes and updates included with feature:
New Features

  • MfUsgBct : Block Centered Transport (BCT)
  • MfUsgPcb : Prescribed Concentration Boundary (PCB)
  • MfUsgDdf: Density Driven Flow (DDF)
  • MfUsgDpf: Dual Porosity Flow (DPF)
  • MfUsgDpt: Dual Porosity Transport (DPT)
  • MfUsgMdt: Matrix Diffusion Transport (MDT)
  • MfUsgRch: Recharge (RCH)
  • MfUsgLak: Lake (LAK)

Modified Packages

  • MfUsgBcf : Block Centered Flow (BCF)
  • MfUsgCln : Connected Linear Network (CLN)
  • MfUsgSms : Sparse Matrix Solver (SMS)
  • MfUsgWel : Well (WEL)
  • ModflowFhb : Flow and Head Boundary (FHB)

See Panday, S., 2024; USG-Transport Version 2.4.0: Transport and Other Enhancements to MODFLOW-USG, GSI Environmental, July 2024 http://www.gsi-net.com/en/software/free-software/USG-Transport.html

…lowpy#1476

* Feat(mfusg): add mfusg transport version 2.4.0 support

fixes and updates included with feature:
New Features
* MfUsgBct : Block Centered Transport (BCT)
* MfUsgPcb : Prescribed Concentration Boundary (PCB)
* MfUsgDdf: Density Driven Flow (DDF)
* MfUsgDpf: Dual Porosity Flow (DPF)
* MfUsgDpt: Dual Porosity Transport (DPT)
* MfUsgMdt: Matrix Diffusion Transport (MDT)
* MfUsgRch: Recharge (RCH)
* MfUsgLak: Lake (LAK)

Modified Packages
* MfUsgBcf : Block Centered Flow (BCF)
* MfUsgCln :  Connected Linear Network (CLN)
* MfUsgSms :  Sparse Matrix Solver (SMS)
* MfUsgWel :  Well (WEL)
* ModflowFhb : Flow and Head Boundary (FHB)

See Panday, S., 2024; USG-Transport Version 2.4.0: Transport and Other Enhancements to MODFLOW-USG, GSI Environmental, July 2024 http://www.gsi-net.com/en/software/free-software/USG-Transport.html
Copy link

codecov bot commented Nov 22, 2024

Codecov Report

Attention: Patch coverage is 6.27262% with 2331 lines in your changes missing coverage. Please review.

Project coverage is 34.7%. Comparing base (bb9824e) to head (7957756).
Report is 9 commits behind head on develop.

Files with missing lines Patch % Lines
flopy/mfusg/mfusgoc.py 2.9% 656 Missing ⚠️
flopy/mfusg/mfusgbct.py 3.6% 421 Missing ⚠️
flopy/mfusg/mfusglak.py 3.4% 394 Missing ⚠️
flopy/mfusg/mfusgrch.py 4.9% 232 Missing ⚠️
flopy/mfusg/mfusgdpt.py 7.9% 186 Missing ⚠️
flopy/mfusg/mfusgmdt.py 10.1% 142 Missing ⚠️
flopy/mfusg/mfusgcln.py 2.2% 87 Missing ⚠️
flopy/mfusg/mfusgdpf.py 20.7% 61 Missing ⚠️
flopy/mfusg/mfusgpcb.py 29.7% 52 Missing ⚠️
flopy/mfusg/mfusgddf.py 21.6% 47 Missing ⚠️
... and 5 more
Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #2378      +/-   ##
==========================================
- Coverage     68.4%   34.7%   -33.7%     
==========================================
  Files          294     301       +7     
  Lines        59390   61927    +2537     
==========================================
- Hits         40652   21525   -19127     
- Misses       18738   40402   +21664     
Files with missing lines Coverage Δ
flopy/mfusg/__init__.py 100.0% <100.0%> (ø)
flopy/mfusg/mfusgwel.py 11.1% <ø> (-60.4%) ⬇️
flopy/mfusg/mfusgdisu.py 7.4% <0.0%> (-74.8%) ⬇️
flopy/modflow/mffhb.py 5.8% <0.0%> (-48.4%) ⬇️
flopy/mfusg/mfusg.py 14.5% <0.0%> (-51.8%) ⬇️
flopy/mfusg/mfusgsms.py 6.3% <0.0%> (-84.1%) ⬇️
flopy/mfusg/mfusgbcf.py 7.5% <0.0%> (-1.4%) ⬇️
flopy/mfusg/mfusgddf.py 21.6% <21.6%> (ø)
flopy/mfusg/mfusgpcb.py 29.7% <29.7%> (ø)
flopy/mfusg/mfusgdpf.py 20.7% <20.7%> (ø)
... and 7 more

... and 245 files with indirect coverage changes

---- 🚨 Try these New Features:

@langevin-usgs
Copy link
Contributor

Thanks for this, @swfwmd. Have you thought about some of the other issues raised in #1476? It's still unclear how to test these changes. Maybe @cnicol-gwlogic or @martinvonk have some thoughts?

@swfwmd
Copy link
Contributor Author

swfwmd commented Nov 22, 2024

I am working on the test cases and will commit later

@cnicol-gwlogic
Copy link
Contributor

cnicol-gwlogic commented Nov 22, 2024

My understanding was a key barrier to flopy tests for usg-transport was this: a git repo with tagged releases and ci testing for usg-transport was needed, so the flopy ci can pull in that executable as needed as usg-transport is developed.

I had a very quick stab at this some time ago based on mf6, but again haven't had the time to finish it. It needs some work, and would need to be brought into pymake etc. Someone pointed out to me last week that pymake downloads usg-transport exe from he gsi site these days, I believe, but I don't think it compiles the code and does not seem to live update versions as usg t releases are made (as far as I noticed in my glancing look).

@martinvonk
Copy link
Contributor

My understanding was a key barrier to flopy tests for usg-transport was this: a git repo with tagged releases and ci testing for usg-transport was needed, so the flopy ci can pull in that executable as needed as usg-transport is developed.

This was also my understanding. And I did not have the time (or fortran experience :)) either to set this up. So if we'd want this, we would have to:

  1. Set up and improve the USG-transport repo with tests, releases and all the fancy CI stuff
  2. Merge the two FloPy forks that now exist for MODFLOW USG-Transport. For example, my fork has the Richards equation and PFAS transport options. Haven't looked closely at @swfwmd fork yet for it's functionalities.
  3. Make tests and example notebooks for the FloPy usage of MODFLOW USG-Transport

@wpbonelli wpbonelli marked this pull request as draft November 25, 2024 12:08
@hzhang4
Copy link
Contributor

hzhang4 commented Nov 25, 2024

I will contact Sorab to see if it is possible to set up a git repo for usg-transport.

@jdhughes-usgs
Copy link
Contributor

The gsi version of mfusg is available from https://github.com/MODFLOW-USGS/executables/releases. This could be used to test usg-transport flopy functionality.

@wpbonelli wpbonelli added this to the 3.10 milestone Nov 26, 2024
hzhang4 and others added 3 commits November 26, 2024 15:22
…lowpy#1476

* Feat(mfusg): add mfusg transport version 2.4.0 support

fixes and updates included with feature:
New Features
* MfUsgEvt: EVT added ETFACTOR support for transport

Modified Packages
* MfUsg :
* MfUsgBct :
* MfUsgCln :
* MfUsgWel :
* MfUsgDpf :
* MfUsgRch :

Examples:
Added usg_tranport folder under example\data
with following examples:
Ex1-1D
Ex2_Radial_2D
Ex3_CLN_Conduit
Ex4_Dual_Domain
Ex5_Henry
Ex6_Stallman
Ex7_Multispecies
Ex8_Lake
Ex9_PFAS

See Panday, S., 2024; USG-Transport Version 2.4.0: Transport and Other Enhancements to MODFLOW-USG, GSI Environmental, July 2024 http://www.gsi-net.com/en/software/free-software/USG-Transport.html
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.

7 participants