43 select case (export_model%disenum)
52 disbase => num_model%dis
55 ugrid_dis%dis => disbase
63 call ugrid_dis%init(export_model%modelname, export_model%modeltype, &
64 export_model%modelfname, export_model%disenum, &
71 export_model%nc_export => ugrid_dis
75 allocate (structured_dis)
78 disbase => num_model%dis
81 structured_dis%dis => disbase
89 call structured_dis%init(export_model%modelname, export_model%modeltype, &
90 export_model%modelfname, export_model%disenum, &
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%disenum, &
124 export_model%nc_export => ugrid_disv
126 errmsg =
'DISV model discretization only &
127 &supported as UGRID NetCDF export. &
128 &Model='//trim(export_model%modelname)//
'.'
133 errmsg =
'Unsupported discretization for NetCDF model export. &
134 &Model='//trim(export_model%modelname)//
'.'
148 type(
listtype),
intent(inout) :: pkglist
150 integer(I4B),
intent(in) :: iout
154 integer(I4B),
pointer :: export_arrays
155 class(*),
pointer :: obj
156 logical(LGP) :: found
160 allocate (export_arrays)
162 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)
177 rp_loader => dynamic_pkg%rp_loader
179 select type (rp_loader)
182 allocate (export_pkg)
183 call export_pkg%init(rp_loader%mf6_input, &
184 rp_loader%bound_context%mshape, &
185 rp_loader%param_names, rp_loader%nparam)
187 call pkglist%add(obj)
195 deallocate (export_arrays)
209 do n = 1, export_models%Count()
211 export_model => get_export_model(n)
219 if (num_model%name == export_model%modelname .and. &
220 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_undef
undefined netcdf export type
@, public netcdf_ugrid
netcdf mesh export
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.