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)//
'.'
150 type(
listtype),
intent(inout) :: pkglist
152 integer(I4B),
intent(in) :: iout
156 integer(I4B),
pointer :: export_arrays
157 class(*),
pointer :: obj
158 logical(LGP) :: found, readasarrays
162 allocate (export_arrays)
164 do n = 1, loaders%pkglist%Count()
168 dynamic_pkg => loaders%get(n)
172 dynamic_pkg%mf6_input%mempath, found)
174 readasarrays = (dynamic_pkg%readasarrays .or. dynamic_pkg%readarraygrid)
175 if (export_arrays > 0 .and. readasarrays)
then
176 select type (dynamic_pkg)
178 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%ctx%mshape, &
185 rp_loader%ctx%naux, &
186 rp_loader%param_names, rp_loader%nparam)
188 call pkglist%add(obj)
191 allocate (export_pkg)
192 call export_pkg%init(rp_loader%mf6_input, &
193 rp_loader%ctx%mshape, &
194 rp_loader%ctx%naux, &
195 rp_loader%param_names, rp_loader%nparam)
197 call pkglist%add(obj)
204 deallocate (export_arrays)
217 do n = 1, export_models%Count()
219 export_model => get_export_model(n)
225 if (num_model%name == export_model%modelname .and. &
226 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 GridArrayLoadModule.
This module contains the IdmMf6FileModule.
This module defines variable data types.
This module contains the LayerArrayLoadModule.
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.
Ascii grid based dynamic loader type.
MF6File dynamic loader type.
Ascii array layer dynamic loader type.
A generic heterogeneous doubly-linked list.