29 component_name, subcomponent_name, input_type, &
30 input_fname, component_fname)
result(loader)
33 character(len=*),
intent(in) :: component_type
34 character(len=*),
intent(in) :: subcomponent_type
35 character(len=*),
intent(in) :: component_name
36 character(len=*),
intent(in) :: subcomponent_name
37 character(len=*),
intent(in) :: input_type
38 character(len=*),
intent(in) :: input_fname
39 character(len=*),
intent(in) :: component_fname
42 character(len=LENPACKAGENAME) :: source_type
43 character(len=LENPACKAGENAME) :: sc_name
50 mf6_input =
getmodflowinput(input_type, component_type, subcomponent_type, &
51 component_name, sc_name, input_fname)
60 call loader%init(mf6_input, component_name, component_fname, input_fname)
71 character(len=*),
intent(inout) :: source_type
79 select case (source_type)
81 allocate (mf6file_loader)
82 loader => mf6file_loader
85 'Simulation package input source type "'//trim(source_type)// &
86 '" not currently supported.'
97 character(len=*),
intent(in) :: pkgtype
98 character(len=*),
intent(in) :: filename
99 character(len=*),
intent(in) :: modelfname
100 integer(I4B),
intent(in) :: iout
102 character(len=LENPACKAGENAME) :: source_type
110 select case (source_type)
124 character(len=*),
intent(in) :: mtype
125 character(len=*),
intent(in) :: mfname
126 character(len=*),
intent(in) :: mname
127 integer(I4B),
intent(in) :: iout
129 character(len=LENPACKAGENAME) :: source_type
136 mname,
'NAM', mfname)
138 select case (source_type)
153 character(len=LINELENGTH) :: line
157 inquire (file=trim(adjustl(
simfile)), exist=lexist)
162 write (line,
'(2(1x,a))')
'Using Simulation name file:', &
187 character(len=LENMEMPATH) :: input_mempath
189 character(len=LENPACKAGENAME) :: source_type
190 character(len=:),
pointer :: tdis6
197 call mem_setptr(tdis6,
'TDIS6', input_mempath)
200 if (tdis6 /=
'')
then
205 select case (source_type)
208 inquire (file=trim(adjustl(tdis6)), exist=lexist)
214 'SIM',
'TDIS', simfile)
217 call input_load(tdis6, mf6_input, simfile, iout)
220 write (errmsg,
'(a)') &
221 'Simulation TIMING input file "'//trim(tdis6)// &
239 character(len=*),
intent(in) :: mtype
240 character(len=*),
intent(in) :: mfname
241 integer(I4B) :: ncelldim
242 character(len=LENPACKAGENAME) :: source_type
244 integer(I4B) :: ierr, inunit
245 logical(LGP) :: isfound, endofblock
246 character(len=LINELENGTH) :: ptype
254 select case (source_type)
259 call openfile(inunit, 0, trim(adjustl(mfname)), mtype, &
260 'FORMATTED',
'SEQUENTIAL',
'OLD')
263 call parser%Initialize(inunit, 0)
266 call parser%GetBlock(
'OPTIONS', isfound, ierr, &
267 supportopenclose=.true., blockrequired=.false.)
271 call parser%GetNextLine(endofblock)
277 call parser%GetBlock(
'PACKAGES', isfound, ierr, &
278 supportopenclose=.true., blockrequired=.true.)
282 call parser%GetNextLine(endofblock)
285 call parser%GetStringCaps(ptype)
302 'Unknown discretization type "'//trim(ptype)// &
303 '" not currently supported.'
This module contains block parser methods.
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
integer(i4b), parameter lenmodelname
maximum length of the model name
integer(i4b), parameter lenpackagename
maximum length of the package name
integer(i4b), parameter lenpackagetype
maximum length of a package type (DIS6, SFR6, CSUB6, etc.)
integer(i4b), parameter lenftype
maximum length of a package type (DIS, WEL, OC, etc.)
integer(i4b), parameter lenmempath
maximum length of the memory path
This module contains the IdmMf6FileModule.
subroutine, public input_load(filename, mf6_input, component_filename, iout)
input load for traditional mf6 simulation static input file
integer(i4b) function, public open_mf6file(filetype, filename, component_fname, iout)
open a model package files
This module defines variable data types.
character(len=lenmempath) function create_mem_path(component, subcomponent, context)
returns the path to the memory object
Store and issue logging messages to output units.
subroutine, public write_message(text, iunit, fmt, skipbefore, skipafter, advance)
Write a message to an output unit.
This module contains simulation methods.
subroutine, public store_error(msg, terminate)
Store an error message.
subroutine, public store_error_filename(filename, terminate)
Store the erroring file name.
This module contains simulation variables.
character(len=maxcharlen) errmsg
error message string
character(len=linelength) idm_context
integer(i4b) iout
file unit number for simulation output
character(len=linelength) simfile
simulation name file
This module contains the SourceCommonModule.
character(len=lenpackagename) function, public package_source_type(sourcename)
source identifier from model namfile FNAME array
character(len=lencomponentname) function, public idm_component_type(component)
component from package or model type
character(len=lenpackagename) function, public idm_subcomponent_name(component_type, subcomponent_type, sc_name)
model package subcomponent name
This module contains the SourceLoadModule.
subroutine, public load_simnam()
class(staticpkgloadbasetype) function, pointer, public create_input_loader(component_type, subcomponent_type, component_name, subcomponent_name, input_type, input_fname, component_fname)
factory function to create and setup model package static loader
integer(i4b) function, public open_source_file(pkgtype, filename, modelfname, iout)
subroutine, public load_simtdis()
class(staticpkgloadbasetype) function, pointer package_loader(source_type)
allocate source model package static loader
integer(i4b) function, public remote_model_ndim(mtype, mfname)
subroutine, public load_modelnam(mtype, mfname, mname, iout)
MF6File static loader type.