Release History

Version 0.5.0 (2024-03-08)

  • Improvements to rotated grid generation * add support for generating grids with a specified rotation around features of interest * add support for rotated LGR models (LGR parent and inset with same rotation) * add additional validation checks in grid setup * fix issue related to SFR layer assignment in cases with multiple inactive layers below the lowest active cell * fix issue with reading transient array-based source data from multiple rasters * other miscellaneous fixes

Version 0.4.0 (2024-01-15)

  • Improvements to lake package

    • Add automatic writing of lake polygon and lake cell connection shapefiles

    • Add name_column arg to shapefile input (which adds names to lake auxiliary tables)

    • Allow PRISM input to be specified for all lakes (via single filename instead of dictionary)

    • Allow specification of lakes_shapefile: without include_ids: item

    • Move output tables to tables/ folder

  • Pre-defined stress periods

    • Allow stress period data to be pre-defined in a CSV file, which allows for more complicated or irregular stress period configurations that would otherwise require many group blocks; for example 7-day periods that always start on the same day of the year, which results in an extra period of 1 or 2 days at the end of each year.

  • Bug fixes

    • fix issue with identifier column dtypes, so that NHDPlus Hi-Res COMIDs (which require 64-bits as integers) work more robustly on Windows.

    • in case of pre-defined (csvfile) stress periods, base perlen on end_datetime - start_datetime (what you see is what you get, and so that gaps between stress periods don’t affect perlen); add trap for missing required columns

    • see commit history for other misc. fixes

Version 0.3.1 (2023-08-17)

  • change ‘boundname_col’ argument in basic stress CSV input to ‘boundname_column’ for consistency with other inputs.

  • fix issue with layer assignment in SFR Package setup where idomain/ibound array wasn’t getting passed to the SFRmaker assign_layers() function, which can be problematic for models with extensive inactive cells in their upper layers.

  • fix issue with model grid setup where .prj file for bounding box shapefile wasn’t being written.

  • bug fixes for compatibility with flopy>=3.4`

  • fixes to grid.rasterize() to better handle 64-bit integer and object dtypes

  • update example configuration files to use new length unit arguments in sfrmaker>=0.11.1

Version 0.3.0 (2023-07-25)

  • Transient input to basic stress packages can now be supplied via a csvfile: block. Transient values for the package variables are associated with the shapefile feature extents via an id_column of values that match values in the shapefile id_column. Input can be mixed between transient csvfile: input and static input supplied via rasters (that varies spatially) or uniform global values. See the Basic stress packages section in the documentation for more details.

  • add automatic reprojection of NetCDF source data files

  • most Soil Water Balance code models should be work as-is

  • added crs: configuration file item to specify the coordinate reference system for NetCDF files where coordinate reference information can’t be parsed.

  • add support for inner and outer CSV file output in MODFLOW 6 IMS options (remap input to work with Flopy)

  • refactor grid.rasterize() function to work with standard Flopy StructuredGrid (s)

  • refactor MODFLOW 6 head observations setup

  • add allow_obs_in_bc_cells option to allow observations in boundary condition cells (previously not allowed).

  • put modflow-setup specific options in an mfsetup_options: sub-block, consistent with other packages

  • fixes to adapted to breaking changes with pandas 2.0 and revised flopy modelgrid/crs interface

  • fix AttributeError issue with model name not getting passed to flopy

  • some fixes to model version reporting in MODFLOW input file headers

Version 0.2.0 (2023-02-06)

  • add minimal support for MODFLOW-2000 parent models and variably-spaced structured grids
    • relax requirement that inset cells align with parent cells

    • add package translations between mf6 and mf2k

  • remove all basic stress package bcs from inactive cells prior to write

  • fix to allow for no epsg input argument to setup_grid (crs is now favored)

  • add support for virtual raster (*.vrt file) input

  • add support for parent MODFLOW model Name files with blank lines

  • other fixes to adapt to breaking changes in numpy 1.24, pandas, inspect, collections and SFRmaker

Version 0.1.0 Initial release (2022-09-30)

  • support for constructing MODFLOW-NWT or MODFLOW-6 models from scratch

  • supported source dataset formats include GeoTiff, Arc-Ascii grids, shapefiles, NetCDF, and CSV files

  • automatic reprojection of source datasets that have CRS information (GeoTiffs, shapefiles, etc.)

  • supported MODFLOW-NWT packages: DIS, BAS6, OC, UPW, RCH, GHB, SFR2, LAK, WEL, MNW2, HYD, GAGE, NWT, CHD, DRN, GHB, RIV

  • supported MODFLOW-6 packages: DIS, IC, OC, NPF, RCHA, SFR, LAK, WEL, OBS, IMS, TDIS, CHD, DRN, GHB, RIV

  • Lake observations are set up automatically (one output file per lake); basic stress package observations are also setup up automatically

  • SFR observations can be set up via an observations block in the SFR package source_data

  • Telescopic mesh refinement (TMR) insets from MODFLOW-NWT or MODFLOW 6 models
    • support for specified head or flux perimeter boundaries from the parent model solution

    • perimeter boundaries can be along the model bounding box perimeter, or an irregular polygon of the active model area

    • model input can also be supplied from grid-independent source data, parent model package input (except for SFR, LAK, CHD, DRN, GHB, RIV), or MODFLOW binary output (perimeter boundaries and starting heads)

  • Dynamically coupled local grid refinement (LGR) insets supported for MODFLOW-6 models.
    • The water mover (MVR) package is set up automatically at the simulation level for LGR models with SFR packages in the parent and inset model.

  • see the Configuration File Gallery or the *.yml configuation files in mfsetup/tests/data folder for examples of valid input to modflow-setup