43 select case (export_model%disenum)
51 disbase => num_model%dis
54 ugrid_dis%dis => disbase
62 call ugrid_dis%init(export_model%modelname, export_model%modeltype, &
63 export_model%modelfname, export_model%nc_fname, &
71 export_model%nc_export => ugrid_dis
74 allocate (structured_dis)
77 disbase => num_model%dis
80 structured_dis%dis => disbase
88 call structured_dis%init(export_model%modelname, export_model%modeltype, &
89 export_model%modelfname, export_model%nc_fname, &
94 call structured_dis%df()
97 export_model%nc_export => structured_dis
102 allocate (ugrid_disv)
105 disbase => num_model%dis
106 select type (disbase)
108 ugrid_disv%disv => disbase
116 call ugrid_disv%init(export_model%modelname, export_model%modeltype, &
117 export_model%modelfname, export_model%nc_fname, &
125 export_model%nc_export => ugrid_disv
127 errmsg =
'DISV model discretization only &
128 &supported as UGRID NetCDF export. &
129 &Model='//trim(export_model%modelname)//
'.'
134 errmsg =
'Unsupported discretization for NetCDF model export. &
135 &Model='//trim(export_model%modelname)//
'.'
149 type(
listtype),
intent(inout) :: pkglist
151 integer(I4B),
intent(in) :: iout
155 integer(I4B),
pointer :: export_arrays
156 class(*),
pointer :: obj
157 logical(LGP) :: found
161 allocate (export_arrays)
163 do n = 1, loaders%pkglist%Count()
167 dynamic_pkg => loaders%get(n)
171 dynamic_pkg%mf6_input%mempath, found)
173 if (export_arrays > 0 .and. dynamic_pkg%readasarrays)
then
174 select type (dynamic_pkg)
176 rp_loader => dynamic_pkg%rp_loader
177 select type (rp_loader)
180 allocate (export_pkg)
181 call export_pkg%init(rp_loader%mf6_input, &
182 rp_loader%bound_context%mshape, &
183 rp_loader%param_names, rp_loader%nparam)
185 call pkglist%add(obj)
192 deallocate (export_arrays)
205 do n = 1, export_models%Count()
207 export_model => get_export_model(n)
213 if (num_model%name == export_model%modelname .and. &
214 num_model%macronym == export_model%modeltype)
then
This module contains simulation constants.
@ disu
DISV6 discretization.
@ dis
DIS6 discretization.
@ disv
DISU6 discretization.
This module contains the DisNCStructuredModule.
This module contains the IdmMf6FileModule.
This module defines variable data types.
type(listtype), public basemodellist
This module contains the MeshDisModelModule.
This module contains the MeshDisvModelModule.
This module contains the ModelExportModule.
type(listtype), public export_models
class(exportmodeltype) function, pointer, public get_export_model(idx)
get model export object by index
This module contains the NCExportCreateModule.
subroutine create_nc_export(export_model, num_model)
create model netcdf export type
subroutine, public nc_export_create()
initialize netcdf model export type
subroutine create_export_pkglist(pkglist, loaders, iout)
This module contains the NCModelExportModule.
@, public netcdf_structured
netcdf structrured export
@, public netcdf_mesh2d
netcdf ugrid layered mesh export
@, public netcdf_undef
undefined netcdf export type
class(numericalmodeltype) function, pointer, public getnumericalmodelfromlist(list, idx)
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
Structured grid discretization.
Unstructured grid discretization.
Vertex grid discretization.
MF6File dynamic loader type.
A generic heterogeneous doubly-linked list.