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
168 allocate (export_arrays)
170 do n = 1, loaders%pkglist%Count()
174 dynamic_pkg => loaders%get(n)
178 dynamic_pkg%mf6_input%mempath, found)
180 readasarrays = (dynamic_pkg%readasarrays .or. dynamic_pkg%readarraygrid)
181 if (export_arrays > 0 .and. readasarrays)
then
182 select type (dynamic_pkg)
184 rp_loader => dynamic_pkg%rp_loader
185 select type (rp_loader)
188 allocate (export_pkg)
189 call export_pkg%init(rp_loader%mf6_input, &
190 rp_loader%ctx%mshape, &
191 rp_loader%ctx%naux, &
192 rp_loader%param_names, rp_loader%nparam)
194 call pkglist%add(obj)
197 allocate (export_pkg)
198 call export_pkg%init(rp_loader%mf6_input, &
199 rp_loader%ctx%mshape, &
200 rp_loader%ctx%naux, &
201 rp_loader%param_names, rp_loader%nparam)
203 call pkglist%add(obj)
210 deallocate (export_arrays)
223 do n = 1, export_models%Count()
225 export_model => get_export_model(n)
231 if (num_model%name == export_model%modelname .and. &
232 num_model%macronym == export_model%modeltype)
then
This module contains simulation constants.
@ mvalidate
validation mode - do not run time steps
@ 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
integer(i4b) isim_mode
simulation mode
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.