Skip to content

feature: Separate input and out files in different directories #2462

Open
@pya

Description

@pya

Is your feature request related to a problem? Please describe.

Models tend to get big with many input and output files. Therefore, distributing files in directories and sub-directories can be helpful to organize a project. All examples I found so far use a flat directory structure, i.e. all input and output files are in one directory.

This is my attempt to separate input and output files.

This is the directory structure after running mf6:

├── input
│   ├── rivercond.chd
│   ├── rivercond.dis
│   ├── rivercond.dis.grb
│   ├── rivercond.ic
│   ├── rivercond.ims
│   ├── rivercond.nam
│   ├── rivercond.npf
│   ├── rivercond.oc
│   ├── rivercond.riv
│   └── rivercond.tdis
├── mfsim.lst
├── mfsim.nam
└── output
    ├── rivercond.cbc
    └── rivercond.hds

The content of mfsim.nam:

BEGIN options
  MEMORY_PRINT_OPTION  all
END options

BEGIN timing
  TDIS6  input/rivercond.tdis
END timing

BEGIN models
  gwf6  input/rivercond.nam  rivercond
END models

BEGIN exchanges
END exchanges

BEGIN solutiongroup  1
  ims6  input/rivercond.ims  rivercond
END solutiongroup  1             

rivercond.oc:

BEGIN options
  BUDGET  FILEOUT  output/rivercond.cbc
  HEAD  FILEOUT  output/rivercond.hds
END options

BEGIN period  1
  SAVE  head  all
  SAVE  budget  all
  PRINT  budget  all
END period  1                  

rivercond.nam:

BEGIN options
  PRINT_INPUT
  SAVE_FLOWS
END options

BEGIN packages
  DIS6  input/rivercond.dis  dis
  NPF6  input/rivercond.npf  npf
  IC6  input/rivercond.ic  ic
  RIV6  input/rivercond.riv  river
  CHD6  input/rivercond.chd  chd_0
  OC6  input/rivercond.oc  oc
END packages

This works. I guess this could be extend into a deeper structure that would allow to use the same input files for multiple models. For example, these models could share files for the model geometry and use specific files for some boundary conditions that are different for each model (variant).

Looking at the source of flopy, it seems that it always assumes a flat structure (i.e. all files in one directory) for model post processing such as plotting. I this correct?

Describe the solution you'd like

A flexible directory structure, that allows to distribute input and output files to specified directories would help to organize large models and scenario runs that modify only small parts of the input. Maybe this already possible but I don't know how to do it.

Describe alternatives you've considered

See problem description above.

Additional context

Test runs done with MF 6.6.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions