MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
dismodule::distype Type Reference

Structured grid discretization. More...

Inheritance diagram for dismodule::distype:
Inheritance graph
Collaboration diagram for dismodule::distype:
Collaboration graph

Public Member Functions

procedure, public record_array
 
procedure, public read_layer_array
 
procedure, public record_srcdst_list_header
 
procedure, public nlarray_to_nodelist
 
generic, public read_grid_array => read_int_array, read_dbl_array
 
generic, public fill_grid_array => fill_int_array, fill_dbl_array
 
procedure, public read_list
 
procedure, public record_connection_array
 
procedure, public noder_to_string
 
procedure, public noder_to_array
 
generic, public record_mf6_list_entry => record_srcdst_list_entry
 
procedure, public highest_active
 
procedure, public get_area
 
procedure, public get_area_factor
 
procedure, public get_flow_width
 

Private Member Functions

procedure dis_df => dis3d_df
 
procedure dis_da => dis3d_da
 
procedure get_dis_type => get_dis_type
 
procedure get_dis_enum => get_dis_enum
 
procedure get_nodenumber_idx1
 
procedure get_nodenumber_idx3
 
procedure nodeu_to_string
 
procedure nodeu_to_array
 
procedure nodeu_from_string
 
procedure nodeu_from_cellid
 
procedure supports_layers
 
procedure get_ncpl
 
procedure get_polyverts
 
procedure connection_vector
 
procedure connection_normal
 
procedure source_options
 
procedure source_dimensions
 
procedure source_griddata
 
procedure log_options
 
procedure log_dimensions
 
procedure log_griddata
 
procedure grid_finalize
 
procedure write_grb
 
procedure allocate_scalars
 
procedure allocate_arrays
 
procedure read_int_array
 
procedure read_dbl_array
 
procedure dis_ac
 
procedure dis_mc
 
procedure dis_ar
 
generic get_nodenumber => get_nodenumber_idx1, get_nodenumber_idx2, get_nodenumber_idx3
 
procedure get_nodenumber_idx2
 
procedure get_nodeuser
 
procedure noder_from_string
 
procedure noder_from_cellid
 
procedure get_cell_volume
 
procedure fill_int_array
 
procedure fill_dbl_array
 
procedure, private record_srcdst_list_entry
 

Private Attributes

integer(i4b), pointer nlay => null()
 number of layers More...
 
integer(i4b), pointer nrow => null()
 number of rows More...
 
integer(i4b), pointer ncol => null()
 number of columns More...
 
real(dp), dimension(:), pointer, contiguous delr => null()
 spacing along a row More...
 
real(dp), dimension(:), pointer, contiguous delc => null()
 spacing along a column More...
 
real(dp), dimension(:, :), pointer, contiguous top2d => null()
 top elevations for each cell at top of model (ncol, nrow) More...
 
real(dp), dimension(:, :, :), pointer, contiguous bot3d => null()
 bottom elevations for each cell (ncol, nrow, nlay) More...
 
integer(i4b), dimension(:, :, :), pointer, contiguous idomain => null()
 idomain (ncol, nrow, nlay) More...
 
real(dp), dimension(:, :, :), pointer botm => null()
 top and bottom elevations for each cell (ncol, nrow, nlay) More...
 
real(dp), dimension(:), pointer, contiguous cellx => null()
 cell center x coordinate for column j More...
 
real(dp), dimension(:), pointer, contiguous celly => null()
 cell center y coordinate for row i More...
 
character(len=lenmempath) memorypath
 path for memory allocation More...
 
character(len=lenmempath) input_mempath = ''
 input context mempath More...
 
character(len=lenmodelname), pointer name_model => null()
 name of the model More...
 
character(len=linelength), pointer input_fname => null()
 input file name More...
 
integer(i4b), pointer inunit => null()
 unit number for input file More...
 
integer(i4b), pointer iout => null()
 unit number for output file More...
 
integer(i4b), pointer nodes => null()
 number of nodes in solution More...
 
integer(i4b), pointer nodesuser => null()
 number of user nodes (same as nodes for disu grid) More...
 
integer(i4b), pointer nja => null()
 number of connections plus number of nodes More...
 
integer(i4b), pointer njas => null()
 (nja-nodes)/2 More...
 
integer(i4b), pointer lenuni => null()
 length unit More...
 
integer(i4b), pointer ndim => null()
 number of spatial model dimensions (1 for disu grid) More...
 
integer(i4b), pointer icondir => null()
 flag indicating if grid has enough info to calculate connection vectors More...
 
integer(i4b), pointer nogrb => null()
 don't write binary grid file More...
 
real(dp), dimension(:), pointer, contiguous xc => null()
 x-coordinate of the cell center More...
 
real(dp), dimension(:), pointer, contiguous yc => null()
 y-coordinate of the cell center More...
 
real(dp), pointer yorigin => null()
 y-position of the lower-left grid corner (default is 0.) More...
 
real(dp), pointer xorigin => null()
 x-position of the lower-left grid corner (default is 0.) More...
 
real(dp), pointer angrot => null()
 counter-clockwise rotation angle of the lower-left corner (default is 0.0) More...
 
integer(i4b), dimension(:), pointer, contiguous mshape => null()
 shape of the model; (nodes) for DisBaseType More...
 
real(dp), dimension(:), pointer, contiguous top => null()
 (size:nodes) cell top elevation More...
 
real(dp), dimension(:), pointer, contiguous bot => null()
 (size:nodes) cell bottom elevation More...
 
real(dp), dimension(:), pointer, contiguous area => null()
 (size:nodes) cell area, in plan view More...
 
type(connectionstype), pointer con => null()
 connections object More...
 
type(blockparsertype) parser
 object to read blocks More...
 
real(dp), dimension(:), pointer, contiguous dbuff => null()
 helper double array of size nodesuser More...
 
integer(i4b), dimension(:), pointer, contiguous ibuff => null()
 helper int array of size nodesuser More...
 
integer(i4b), dimension(:), pointer, contiguous nodereduced => null()
 (size:nodesuser)contains reduced nodenumber (size 0 if not reduced); -1 means vertical pass through, 0 is idomain = 0 More...
 
integer(i4b), dimension(:), pointer, contiguous nodeuser => null()
 (size:nodes) given a reduced nodenumber, provide the user nodenumber (size 0 if not reduced) More...
 

Detailed Description

Definition at line 23 of file Dis.f90.

Member Function/Subroutine Documentation

◆ allocate_arrays()

procedure dismodule::distype::allocate_arrays
private

Definition at line 68 of file Dis.f90.

◆ allocate_scalars()

procedure dismodule::distype::allocate_scalars
private

Definition at line 67 of file Dis.f90.

◆ connection_normal()

procedure dismodule::distype::connection_normal
private

Definition at line 57 of file Dis.f90.

◆ connection_vector()

procedure dismodule::distype::connection_vector
private

Definition at line 56 of file Dis.f90.

◆ dis_ac()

procedure basedismodule::disbasetype::dis_ac
privateinherited

Definition at line 58 of file DiscretizationBase.f90.

◆ dis_ar()

procedure basedismodule::disbasetype::dis_ar
privateinherited

Definition at line 60 of file DiscretizationBase.f90.

◆ dis_da()

procedure dismodule::distype::dis_da
private

Definition at line 39 of file Dis.f90.

◆ dis_df()

procedure dismodule::distype::dis_df
private

Definition at line 38 of file Dis.f90.

◆ dis_mc()

procedure basedismodule::disbasetype::dis_mc
privateinherited

Definition at line 59 of file DiscretizationBase.f90.

◆ fill_dbl_array()

procedure basedismodule::disbasetype::fill_dbl_array
privateinherited

Definition at line 99 of file DiscretizationBase.f90.

◆ fill_grid_array()

generic, public basedismodule::disbasetype::fill_grid_array
inherited

Definition at line 100 of file DiscretizationBase.f90.

Here is the call graph for this function:

◆ fill_int_array()

procedure basedismodule::disbasetype::fill_int_array
privateinherited

Definition at line 98 of file DiscretizationBase.f90.

◆ get_area()

procedure, public basedismodule::disbasetype::get_area
inherited

Definition at line 112 of file DiscretizationBase.f90.

◆ get_area_factor()

procedure, public basedismodule::disbasetype::get_area_factor
inherited

Definition at line 113 of file DiscretizationBase.f90.

◆ get_cell_volume()

procedure basedismodule::disbasetype::get_cell_volume
privateinherited

Definition at line 90 of file DiscretizationBase.f90.

◆ get_dis_enum()

procedure dismodule::distype::get_dis_enum
private

Definition at line 41 of file Dis.f90.

◆ get_dis_type()

procedure dismodule::distype::get_dis_type
private

Definition at line 40 of file Dis.f90.

◆ get_flow_width()

procedure, public basedismodule::disbasetype::get_flow_width
inherited

Definition at line 114 of file DiscretizationBase.f90.

◆ get_ncpl()

procedure dismodule::distype::get_ncpl
private

Definition at line 54 of file Dis.f90.

◆ get_nodenumber()

generic basedismodule::disbasetype::get_nodenumber
privateinherited

Definition at line 69 of file DiscretizationBase.f90.

Here is the call graph for this function:

◆ get_nodenumber_idx1()

procedure dismodule::distype::get_nodenumber_idx1
private

Definition at line 47 of file Dis.f90.

◆ get_nodenumber_idx2()

procedure basedismodule::disbasetype::get_nodenumber_idx2
privateinherited

Definition at line 73 of file DiscretizationBase.f90.

◆ get_nodenumber_idx3()

procedure dismodule::distype::get_nodenumber_idx3
private

Definition at line 48 of file Dis.f90.

◆ get_nodeuser()

procedure basedismodule::disbasetype::get_nodeuser
privateinherited

Definition at line 75 of file DiscretizationBase.f90.

◆ get_polyverts()

procedure dismodule::distype::get_polyverts
private

Definition at line 55 of file Dis.f90.

◆ grid_finalize()

procedure dismodule::distype::grid_finalize
private

Definition at line 65 of file Dis.f90.

◆ highest_active()

procedure, public basedismodule::disbasetype::highest_active
inherited

Definition at line 111 of file DiscretizationBase.f90.

◆ log_dimensions()

procedure dismodule::distype::log_dimensions
private

Definition at line 63 of file Dis.f90.

◆ log_griddata()

procedure dismodule::distype::log_griddata
private

Definition at line 64 of file Dis.f90.

◆ log_options()

procedure dismodule::distype::log_options
private

Definition at line 62 of file Dis.f90.

◆ nlarray_to_nodelist()

procedure, public dismodule::distype::nlarray_to_nodelist

Definition at line 45 of file Dis.f90.

◆ noder_from_cellid()

procedure basedismodule::disbasetype::noder_from_cellid
privateinherited

Definition at line 81 of file DiscretizationBase.f90.

◆ noder_from_string()

procedure basedismodule::disbasetype::noder_from_string
privateinherited

Definition at line 80 of file DiscretizationBase.f90.

◆ noder_to_array()

procedure, public basedismodule::disbasetype::noder_to_array
inherited

Definition at line 106 of file DiscretizationBase.f90.

◆ noder_to_string()

procedure, public basedismodule::disbasetype::noder_to_string
inherited

Definition at line 105 of file DiscretizationBase.f90.

◆ nodeu_from_cellid()

procedure dismodule::distype::nodeu_from_cellid
private

Definition at line 52 of file Dis.f90.

◆ nodeu_from_string()

procedure dismodule::distype::nodeu_from_string
private

Definition at line 51 of file Dis.f90.

◆ nodeu_to_array()

procedure dismodule::distype::nodeu_to_array
private

Definition at line 50 of file Dis.f90.

◆ nodeu_to_string()

procedure dismodule::distype::nodeu_to_string
private

Definition at line 49 of file Dis.f90.

◆ read_dbl_array()

procedure dismodule::distype::read_dbl_array
private

Definition at line 72 of file Dis.f90.

◆ read_grid_array()

generic, public basedismodule::disbasetype::read_grid_array
inherited

Definition at line 96 of file DiscretizationBase.f90.

Here is the call graph for this function:

◆ read_int_array()

procedure dismodule::distype::read_int_array
private

Definition at line 71 of file Dis.f90.

◆ read_layer_array()

procedure, public dismodule::distype::read_layer_array

Definition at line 43 of file Dis.f90.

◆ read_list()

procedure, public basedismodule::disbasetype::read_list
inherited

Definition at line 101 of file DiscretizationBase.f90.

◆ record_array()

procedure, public dismodule::distype::record_array

Definition at line 42 of file Dis.f90.

◆ record_connection_array()

procedure, public basedismodule::disbasetype::record_connection_array
inherited

Definition at line 104 of file DiscretizationBase.f90.

◆ record_mf6_list_entry()

generic, public basedismodule::disbasetype::record_mf6_list_entry
inherited

Definition at line 109 of file DiscretizationBase.f90.

Here is the call graph for this function:

◆ record_srcdst_list_entry()

procedure, private basedismodule::disbasetype::record_srcdst_list_entry
privateinherited

Definition at line 108 of file DiscretizationBase.f90.

◆ record_srcdst_list_header()

procedure, public dismodule::distype::record_srcdst_list_header

Definition at line 44 of file Dis.f90.

◆ source_dimensions()

procedure dismodule::distype::source_dimensions
private

Definition at line 60 of file Dis.f90.

◆ source_griddata()

procedure dismodule::distype::source_griddata
private

Definition at line 61 of file Dis.f90.

◆ source_options()

procedure dismodule::distype::source_options
private

Definition at line 59 of file Dis.f90.

◆ supports_layers()

procedure dismodule::distype::supports_layers
private

Definition at line 53 of file Dis.f90.

◆ write_grb()

procedure dismodule::distype::write_grb
private

Definition at line 66 of file Dis.f90.

Member Data Documentation

◆ angrot

real(dp), pointer basedismodule::disbasetype::angrot => null()
privateinherited

Definition at line 45 of file DiscretizationBase.f90.

45  real(DP), pointer :: angrot => null() !< counter-clockwise rotation angle of the lower-left corner (default is 0.0)

◆ area

real(dp), dimension(:), pointer, contiguous basedismodule::disbasetype::area => null()
privateinherited

Definition at line 49 of file DiscretizationBase.f90.

49  real(DP), dimension(:), pointer, contiguous :: area => null() !< (size:nodes) cell area, in plan view

◆ bot

real(dp), dimension(:), pointer, contiguous basedismodule::disbasetype::bot => null()
privateinherited

Definition at line 48 of file DiscretizationBase.f90.

48  real(DP), dimension(:), pointer, contiguous :: bot => null() !< (size:nodes) cell bottom elevation

◆ bot3d

real(dp), dimension(:, :, :), pointer, contiguous dismodule::distype::bot3d => null()
private

Definition at line 30 of file Dis.f90.

30  real(DP), dimension(:, :, :), pointer, contiguous :: bot3d => null() !< bottom elevations for each cell (ncol, nrow, nlay)

◆ botm

real(dp), dimension(:, :, :), pointer dismodule::distype::botm => null()
private

Definition at line 32 of file Dis.f90.

32  real(DP), dimension(:, :, :), pointer :: botm => null() !< top and bottom elevations for each cell (ncol, nrow, nlay)

◆ cellx

real(dp), dimension(:), pointer, contiguous dismodule::distype::cellx => null()
private

Definition at line 33 of file Dis.f90.

33  real(DP), dimension(:), pointer, contiguous :: cellx => null() !< cell center x coordinate for column j

◆ celly

real(dp), dimension(:), pointer, contiguous dismodule::distype::celly => null()
private

Definition at line 34 of file Dis.f90.

34  real(DP), dimension(:), pointer, contiguous :: celly => null() !< cell center y coordinate for row i

◆ con

type(connectionstype), pointer basedismodule::disbasetype::con => null()
privateinherited

Definition at line 50 of file DiscretizationBase.f90.

50  type(ConnectionsType), pointer :: con => null() !< connections object

◆ dbuff

real(dp), dimension(:), pointer, contiguous basedismodule::disbasetype::dbuff => null()
privateinherited

Definition at line 52 of file DiscretizationBase.f90.

52  real(DP), dimension(:), pointer, contiguous :: dbuff => null() !< helper double array of size nodesuser

◆ delc

real(dp), dimension(:), pointer, contiguous dismodule::distype::delc => null()
private

Definition at line 28 of file Dis.f90.

28  real(DP), dimension(:), pointer, contiguous :: delc => null() !< spacing along a column

◆ delr

real(dp), dimension(:), pointer, contiguous dismodule::distype::delr => null()
private

Definition at line 27 of file Dis.f90.

27  real(DP), dimension(:), pointer, contiguous :: delr => null() !< spacing along a row

◆ ibuff

integer(i4b), dimension(:), pointer, contiguous basedismodule::disbasetype::ibuff => null()
privateinherited

Definition at line 53 of file DiscretizationBase.f90.

53  integer(I4B), dimension(:), pointer, contiguous :: ibuff => null() !< helper int array of size nodesuser

◆ icondir

integer(i4b), pointer basedismodule::disbasetype::icondir => null()
privateinherited

Definition at line 39 of file DiscretizationBase.f90.

39  integer(I4B), pointer :: icondir => null() !< flag indicating if grid has enough info to calculate connection vectors

◆ idomain

integer(i4b), dimension(:, :, :), pointer, contiguous dismodule::distype::idomain => null()
private

Definition at line 31 of file Dis.f90.

31  integer(I4B), dimension(:, :, :), pointer, contiguous :: idomain => null() !< idomain (ncol, nrow, nlay)

◆ input_fname

character(len=linelength), pointer basedismodule::disbasetype::input_fname => null()
privateinherited

Definition at line 30 of file DiscretizationBase.f90.

30  character(len=LINELENGTH), pointer :: input_fname => null() !< input file name

◆ input_mempath

character(len=lenmempath) basedismodule::disbasetype::input_mempath = ''
privateinherited

Definition at line 28 of file DiscretizationBase.f90.

28  character(len=LENMEMPATH) :: input_mempath = '' !< input context mempath

◆ inunit

integer(i4b), pointer basedismodule::disbasetype::inunit => null()
privateinherited

Definition at line 31 of file DiscretizationBase.f90.

31  integer(I4B), pointer :: inunit => null() !< unit number for input file

◆ iout

integer(i4b), pointer basedismodule::disbasetype::iout => null()
privateinherited

Definition at line 32 of file DiscretizationBase.f90.

32  integer(I4B), pointer :: iout => null() !< unit number for output file

◆ lenuni

integer(i4b), pointer basedismodule::disbasetype::lenuni => null()
privateinherited

Definition at line 37 of file DiscretizationBase.f90.

37  integer(I4B), pointer :: lenuni => null() !< length unit

◆ memorypath

character(len=lenmempath) basedismodule::disbasetype::memorypath
privateinherited

Definition at line 27 of file DiscretizationBase.f90.

27  character(len=LENMEMPATH) :: memoryPath !< path for memory allocation

◆ mshape

integer(i4b), dimension(:), pointer, contiguous basedismodule::disbasetype::mshape => null()
privateinherited

Definition at line 46 of file DiscretizationBase.f90.

46  integer(I4B), dimension(:), pointer, contiguous :: mshape => null() !< shape of the model; (nodes) for DisBaseType

◆ name_model

character(len=lenmodelname), pointer basedismodule::disbasetype::name_model => null()
privateinherited

Definition at line 29 of file DiscretizationBase.f90.

29  character(len=LENMODELNAME), pointer :: name_model => null() !< name of the model

◆ ncol

integer(i4b), pointer dismodule::distype::ncol => null()
private

Definition at line 26 of file Dis.f90.

26  integer(I4B), pointer :: ncol => null() !< number of columns

◆ ndim

integer(i4b), pointer basedismodule::disbasetype::ndim => null()
privateinherited

Definition at line 38 of file DiscretizationBase.f90.

38  integer(I4B), pointer :: ndim => null() !< number of spatial model dimensions (1 for disu grid)

◆ nja

integer(i4b), pointer basedismodule::disbasetype::nja => null()
privateinherited

Definition at line 35 of file DiscretizationBase.f90.

35  integer(I4B), pointer :: nja => null() !< number of connections plus number of nodes

◆ njas

integer(i4b), pointer basedismodule::disbasetype::njas => null()
privateinherited

Definition at line 36 of file DiscretizationBase.f90.

36  integer(I4B), pointer :: njas => null() !< (nja-nodes)/2

◆ nlay

integer(i4b), pointer dismodule::distype::nlay => null()
private

Definition at line 24 of file Dis.f90.

24  integer(I4B), pointer :: nlay => null() !< number of layers

◆ nodereduced

integer(i4b), dimension(:), pointer, contiguous basedismodule::disbasetype::nodereduced => null()
privateinherited

Definition at line 54 of file DiscretizationBase.f90.

54  integer(I4B), dimension(:), pointer, contiguous :: nodereduced => null() !< (size:nodesuser)contains reduced nodenumber (size 0 if not reduced); -1 means vertical pass through, 0 is idomain = 0

◆ nodes

integer(i4b), pointer basedismodule::disbasetype::nodes => null()
privateinherited

Definition at line 33 of file DiscretizationBase.f90.

33  integer(I4B), pointer :: nodes => null() !< number of nodes in solution

◆ nodesuser

integer(i4b), pointer basedismodule::disbasetype::nodesuser => null()
privateinherited

Definition at line 34 of file DiscretizationBase.f90.

34  integer(I4B), pointer :: nodesuser => null() !< number of user nodes (same as nodes for disu grid)

◆ nodeuser

integer(i4b), dimension(:), pointer, contiguous basedismodule::disbasetype::nodeuser => null()
privateinherited

Definition at line 55 of file DiscretizationBase.f90.

55  integer(I4B), dimension(:), pointer, contiguous :: nodeuser => null() !< (size:nodes) given a reduced nodenumber, provide the user nodenumber (size 0 if not reduced)

◆ nogrb

integer(i4b), pointer basedismodule::disbasetype::nogrb => null()
privateinherited

Definition at line 40 of file DiscretizationBase.f90.

40  integer(I4B), pointer :: nogrb => null() !< don't write binary grid file

◆ nrow

integer(i4b), pointer dismodule::distype::nrow => null()
private

Definition at line 25 of file Dis.f90.

25  integer(I4B), pointer :: nrow => null() !< number of rows

◆ parser

type(blockparsertype) basedismodule::disbasetype::parser
privateinherited

Definition at line 51 of file DiscretizationBase.f90.

51  type(BlockParserType) :: parser !< object to read blocks

◆ top

real(dp), dimension(:), pointer, contiguous basedismodule::disbasetype::top => null()
privateinherited

Definition at line 47 of file DiscretizationBase.f90.

47  real(DP), dimension(:), pointer, contiguous :: top => null() !< (size:nodes) cell top elevation

◆ top2d

real(dp), dimension(:, :), pointer, contiguous dismodule::distype::top2d => null()
private

Definition at line 29 of file Dis.f90.

29  real(DP), dimension(:, :), pointer, contiguous :: top2d => null() !< top elevations for each cell at top of model (ncol, nrow)

◆ xc

real(dp), dimension(:), pointer, contiguous basedismodule::disbasetype::xc => null()
privateinherited

Definition at line 41 of file DiscretizationBase.f90.

41  real(DP), dimension(:), pointer, contiguous :: xc => null() !< x-coordinate of the cell center

◆ xorigin

real(dp), pointer basedismodule::disbasetype::xorigin => null()
privateinherited

Definition at line 44 of file DiscretizationBase.f90.

44  real(DP), pointer :: xorigin => null() !< x-position of the lower-left grid corner (default is 0.)

◆ yc

real(dp), dimension(:), pointer, contiguous basedismodule::disbasetype::yc => null()
privateinherited

Definition at line 42 of file DiscretizationBase.f90.

42  real(DP), dimension(:), pointer, contiguous :: yc => null() !< y-coordinate of the cell center

◆ yorigin

real(dp), pointer basedismodule::disbasetype::yorigin => null()
privateinherited

Definition at line 43 of file DiscretizationBase.f90.

43  real(DP), pointer :: yorigin => null() !< y-position of the lower-left grid corner (default is 0.)

The documentation for this type was generated from the following file: