Skip to content

Releases: MODFLOW-ORG/modflow6-nightly-build

20260617 development build

17 Jun 18:14
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 17, 2026.

New Functionality

Model

  • Previously PRT model particle events were written to output file(s) immediately. By default, PRT will now buffer events in memory before writing them to disk. Introduce a new option for the PRT Output Control (OC) package, SCRATCH_BUFFER, which enables buffering events in scratch files instead of memory. This can avoid out-of-memory errors at the price of increased file IO and runtime.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.
  • Previously, GWF model output files could only be referenced by a single coupled model's FMI package. This might be necessary for certain configurations where multiple transport models or particle tracking models in the same simulation need flow information from a previous GWF simulation. Referencing the same GWF output files from multiple coupled models would cause a crash. Fix file-opening logic to allow multiple coupled models to refer to the same GWF model's output files.
  • The BMI interface's get_grid_model_type function worked only for numerical model types such as GWF, GWT, and GWE, but would crash for PRT models. Fix the function's implementation to work with all model types.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.
  • PRT was described as configuring a single release at the beginning of the simulation by default, but a release was in fact scheduled for the first time step of every stress period. Fix the default release behavior so a single release occurs at the beginning of the simulation.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260616 development build

16 Jun 19:35
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 16, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.
  • Previously, GWF model output files could only be referenced by a single coupled model's FMI package. This might be necessary for certain configurations where multiple transport models or particle tracking models in the same simulation need flow information from a previous GWF simulation. Referencing the same GWF output files from multiple coupled models would cause a crash. Fix file-opening logic to allow multiple coupled models to refer to the same GWF model's output files.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260615 development build

15 Jun 19:19
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 15, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.
  • Previously, GWF model output files could only be referenced by a single coupled model's FMI package. This might be necessary for certain configurations where multiple transport models or particle tracking models in the same simulation need flow information from a previous GWF simulation. Referencing the same GWF output files from multiple coupled models would cause a crash. Fix file-opening logic to allow multiple coupled models to refer to the same GWF model's output files.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260614 development build

14 Jun 16:38
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 14, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260613 development build

13 Jun 16:28
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 13, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260612 development build

12 Jun 17:44
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 12, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260611 development build

11 Jun 18:35
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 11, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260610 development build

10 Jun 17:58
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 10, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260609 development build

09 Jun 17:35
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 09, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.

20260608 development build

08 Jun 18:27
ab5ebb9

Choose a tag to compare

MODFLOW 6 development build, Jun 08, 2026.

Bug Fixes And Other Changes To Existing Functionality

Basic Functionality

  • Stop with an informative error if a discretization package is missing after loading the model input file's PACKAGES block.

Exchanges

  • When a MVR connection was included as part of an exchange between two models, it was possible to list a model name in the PACKAGES block of the MVR input file that is not one of the two models included in the exchange. A check was added that reports an error message stating that a model name listed in the exchange MVR input file is not one of the two models connected by the exchange.
  • Avoids an unhandled and unnecessary exception in cases where a GWF-GWF exchange is configured with a MVR package, but the corresponding GWT-GWT exchange does not have a MVT package enabled.

Internal Flow Packages

  • Resolved mass-balance errors in the Central and UTVD numerical schemes caused by inconsistent interpretation of cell-to-interface distances (cl1/cl2).
  • When a horizontal flow barrier is placed between two cells, MODFLOW checks to ensure that the cells are adjacent. This check did not function correctly for DISU grids, in some cases, if the IDOMAIN functionality was used to remove cells. The check for two adjacent DISU cells was corrected to work for IDOMAIN functionality.

Model

  • The Flow Model Interface (FMI) package for transport and tracking models conducts TDIS compatibility checks during each stress period to ensure that the model's time discretization is compatible with that of the flow model. In particular, if a flow model stress period has just one time step, the transport or tracking model may have any number of time steps. However, if a flow model stress period has more than one time step, the transport or tracking model must have the same number of time steps. Simulations would previously stop with an error if the transport or tracking model violated this rule for any stress periods up to the simulation's last, but would not raise an error for the last stress period. The compatibility check was updated to include the last stress period. Simulations will now stop with an error if the transport or tracking model violates this rule for any stress period in the simulation.
  • Fix the PRT PRP package's DRAPE option's behavior. A draped particle's release was previously reported in the original release position, followed by a DROPPED (ireason=6) event due to the particle reaching the water table at tracking time as a result of the default DRY_TRACKING_METHOD setting DROP. This is inconsistent with the intent of the DRAPE option: DRAPE is applied before release to control a particle's release position. Draped particles will now be released in the highest active cell, at the water table if the cell is convertible or at the geometric top if the cell is confined, and no DROPPED event will be reported.

Netcdf

  • Fix an indexing issue in structured NetCDF export where READASARRAYS packages (RCHA, EVTA) with time-varying per-period arrays would crash with a NetCDF edge-exceeds-bound error when writing any stress period after the first.

Parallel

  • The adaptive time stepping algorithm (ATS) was not working correctly in parallel mode. This applies to GWT and GWE models, when the model time step derived from the ATS_PERCEL parameter is not uniform across processes. In such a case, a deadlock occurred and the simulation was stalled. This fix ensures that the actual calculation time steps are synchronized across all processes such that they remain in lockstep.
  • Mover (MVR) Package connections across two or more models running in parallel were previously supported for flow but not for solute or energy transport. GWT-GWT or GWE-GWE exchanges that also include MVT or MVE connections, respectively, is now supported for simulations run in parallel mode.

Stress Packages

  • The default values for DENSITY_WATER, HEAT_CAPACITY_WATER, LATENT_HEAT_VAPORIZATION specified in the OPTIONS block were not set as indicated in the MF6IO guide. Defaults for these three variables now set as documented in the MF6IO guide.
  • For the Well (WEL) Package, when AUTO_FLOW_REDUCE is active and FLOW_REDUCTION_LENGTH is specified, the Newton-Raphson linearization incorrectly used the cell thickness instead of the unit length (1.0) when computing the turnoff threshold. This produced an incorrect Jacobian term and inconsistent behavior between the standard and Newton formulations. The thickness calculation in the Newton code path now respects the FLOW_REDUCTION_LENGTH option, consistent with the non-Newton code path.