MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
Data Types | |
type | disv1dtype |
type | disfoundtype |
Simplifies tracking parameters sourced from the input context. More... | |
Functions/Subroutines | |
subroutine, public | disv1d_cr (dis, name_model, input_mempath, inunit, iout) |
subroutine | disv1d_df (this) |
Define the discretization. More... | |
subroutine | connection_normal (this, noden, nodem, ihc, xcomp, ycomp, zcomp, ipos) |
Get normal vector components between the cell and a given neighbor. More... | |
subroutine | connection_vector (this, noden, nodem, nozee, satn, satm, ihc, xcomp, ycomp, zcomp, conlen) |
Get unit vector components between the cell and a given neighbor. More... | |
subroutine | get_dis_type (this, dis_type) |
Get the discretization type (DIS, DIS2D, DISV, DISV1D, DISU) More... | |
integer(i4b) function | get_dis_enum (this) |
Get the discretization type enumeration. More... | |
subroutine | allocate_scalars (this, name_model, input_mempath) |
Allocate scalar variables. More... | |
subroutine | disv1d_load (this) |
subroutine | source_options (this) |
Copy options from IDM into package. More... | |
subroutine | log_options (this, found) |
Write user options to list file. More... | |
subroutine | source_dimensions (this) |
Copy dimensions from IDM into package. More... | |
subroutine | log_dimensions (this, found) |
Write dimensions to list file. More... | |
subroutine | source_griddata (this) |
subroutine | log_griddata (this, found) |
Write griddata found to list file. More... | |
subroutine | source_vertices (this) |
Copy vertex information from input data context to model context. More... | |
subroutine | source_cell1d (this) |
Copy cell1d information from input data context to model context. More... | |
subroutine | define_cellverts (this, icell1d, ncvert, icvert) |
Construct the iavert and javert integer vectors which are compressed sparse row index arrays that relate the vertices to reaches. More... | |
subroutine | calculate_cellxy (vertices, fdc, iavert, javert, length, cellxy) |
Calculate x, y, coordinates of reach midpoint. More... | |
subroutine | calculate_cell_length (vertices, iavert, javert, length) |
Calculate x, y, coordinates of reach midpoint. More... | |
subroutine | grid_finalize (this) |
Finalize grid construction. More... | |
subroutine | allocate_arrays (this) |
subroutine | create_connections (this) |
subroutine | write_grb (this, icelltype) |
Write binary grid file. More... | |
integer(i4b) function | get_nodenumber_idx1 (this, nodeu, icheck) |
Return a nodenumber from the user specified node number with an option to perform a check. This subroutine can be overridden by child classes to perform mapping to a model node number. More... | |
subroutine | nodeu_to_string (this, nodeu, str) |
integer(i4b) function | nodeu_from_string (this, lloc, istart, istop, in, iout, line, flag_string, allow_zero) |
nodeu_from_string – Receive a string and convert the string to a user nodenumber. The model is unstructured; just read user nodenumber. If flag_string argument is present and true, the first token in string is allowed to be a string (e.g. boundary name). In this case, if a string is encountered, return value as -2. More... | |
subroutine | disv1d_da (this) |
subroutine | record_array (this, darray, iout, iprint, idataun, aname, cdatafmp, nvaluesp, nwidthp, editdesc, dinact) |
Record a double precision array. More... | |
subroutine | record_srcdst_list_header (this, text, textmodel, textpackage, dstmodel, dstpackage, naux, auxtxt, ibdchn, nlist, iout) |
Record list header using ubdsv06. More... | |
subroutine | get_flow_width (this, n, m, idx_conn, width_n, width_m) |
@ brief Calculate the flow width between two cells More... | |
subroutine disv1dmodule::allocate_arrays | ( | class(disv1dtype) | this | ) |
Definition at line 800 of file Disv1d.f90.
subroutine disv1dmodule::allocate_scalars | ( | class(disv1dtype) | this, |
character(len=*), intent(in) | name_model, | ||
character(len=*), intent(in) | input_mempath | ||
) |
Definition at line 231 of file Disv1d.f90.
|
private |
[in] | vertices | 2d array of vertices with x, y as columns |
[in] | iavert | csr mapping of vertices to cell reaches |
[in] | javert | csr mapping of vertices to cell reaches |
[in,out] | length | 2d array of reach midpoint with x, y as columns |
Definition at line 693 of file Disv1d.f90.
subroutine disv1dmodule::calculate_cellxy | ( | real(dp), dimension(:, :), intent(in) | vertices, |
real(dp), dimension(:), intent(in) | fdc, | ||
integer(i4b), dimension(:), intent(in) | iavert, | ||
integer(i4b), dimension(:), intent(in) | javert, | ||
real(dp), dimension(:), intent(in) | length, | ||
real(dp), dimension(:, :), intent(inout) | cellxy | ||
) |
[in] | vertices | 2d array of vertices with x, y as columns |
[in] | fdc | fractional distance to reach midpoint (normally 0.5) |
[in] | iavert | csr mapping of vertices to cell reaches |
[in] | javert | csr mapping of vertices to cell reaches |
[in] | length | vector of cell lengths |
[in,out] | cellxy | 2d array of reach midpoint with x, y as columns |
Definition at line 640 of file Disv1d.f90.
|
private |
The normal points outward from the shared face between noden and nodem.
[in] | noden | cell (reduced nn) |
[in] | nodem | neighbor (reduced nn) |
[in] | ihc | horizontal connection flag (not used) |
[in,out] | xcomp | x component of outward normal vector |
[in,out] | ycomp | y component of outward normal vector |
[in,out] | zcomp | z component of outward normal vector |
[in] | ipos | connection position |
Definition at line 146 of file Disv1d.f90.
|
private |
Saturation must be provided to compute cell center vertical coordinates. Also return the straight-line connection length.
[in] | noden | cell (reduced nn) |
[in] | nodem | neighbor (reduced nn) |
[in] | nozee | do not use z in calculations |
[in] | satn | not used for disv1d |
[in] | satm | not used for disv1d |
[in] | ihc | horizontal connection flag |
[in,out] | xcomp | x component of connection vector |
[in,out] | ycomp | y component of connection vector |
[in,out] | zcomp | z component of connection vector |
[in,out] | conlen | calculated straight-line distance between cell centers |
Definition at line 176 of file Disv1d.f90.
subroutine disv1dmodule::create_connections | ( | class(disv1dtype) | this | ) |
Definition at line 824 of file Disv1d.f90.
subroutine disv1dmodule::define_cellverts | ( | class(disv1dtype) | this, |
integer(i4b), dimension(:), intent(in), pointer, contiguous | icell1d, | ||
integer(i4b), dimension(:), intent(in), pointer, contiguous | ncvert, | ||
integer(i4b), dimension(:), intent(in), pointer, contiguous | icvert | ||
) |
Definition at line 602 of file Disv1d.f90.
subroutine, public disv1dmodule::disv1d_cr | ( | class(disbasetype), pointer | dis, |
character(len=*), intent(in) | name_model, | ||
character(len=*), intent(in) | input_mempath, | ||
integer(i4b), intent(in) | inunit, | ||
integer(i4b), intent(in) | iout | ||
) |
Definition at line 88 of file Disv1d.f90.
|
private |
Definition at line 1068 of file Disv1d.f90.
subroutine disv1dmodule::disv1d_df | ( | class(disv1dtype) | this | ) |
Definition at line 128 of file Disv1d.f90.
subroutine disv1dmodule::disv1d_load | ( | class(disv1dtype) | this | ) |
Definition at line 251 of file Disv1d.f90.
|
private |
Definition at line 222 of file Disv1d.f90.
|
private |
Definition at line 215 of file Disv1d.f90.
subroutine disv1dmodule::get_flow_width | ( | class(disv1dtype) | this, |
integer(i4b), intent(in) | n, | ||
integer(i4b), intent(in) | m, | ||
integer(i4b), intent(in) | idx_conn, | ||
real(dp), intent(out) | width_n, | ||
real(dp), intent(out) | width_m | ||
) |
This should only be called for connections with IHC > 0. Routine is needed, so it can be overridden by the linear network discretization, which allows for a separate flow
[in] | n | cell node number |
[in] | m | cell node number |
[in] | idx_conn | connection index |
[out] | width_n | flow width for cell n |
[out] | width_m | flow width for cell m |
Definition at line 1239 of file Disv1d.f90.
integer(i4b) function disv1dmodule::get_nodenumber_idx1 | ( | class(disv1dtype), intent(in) | this, |
integer(i4b), intent(in) | nodeu, | ||
integer(i4b), intent(in) | icheck | ||
) |
|
private |
Definition at line 720 of file Disv1d.f90.
subroutine disv1dmodule::log_dimensions | ( | class(disv1dtype) | this, |
type(disfoundtype), intent(in) | found | ||
) |
Definition at line 411 of file Disv1d.f90.
subroutine disv1dmodule::log_griddata | ( | class(disv1dtype) | this, |
type(disfoundtype), intent(in) | found | ||
) |
Definition at line 472 of file Disv1d.f90.
subroutine disv1dmodule::log_options | ( | class(disv1dtype) | this, |
type(disfoundtype), intent(in) | found | ||
) |
Definition at line 307 of file Disv1d.f90.
|
private |
|
private |
Definition at line 998 of file Disv1d.f90.
subroutine disv1dmodule::record_array | ( | class(disv1dtype), intent(inout) | this, |
real(dp), dimension(:), intent(inout), pointer, contiguous | darray, | ||
integer(i4b), intent(in) | iout, | ||
integer(i4b), intent(in) | iprint, | ||
integer(i4b), intent(in) | idataun, | ||
character(len=*), intent(in) | aname, | ||
character(len=*), intent(in) | cdatafmp, | ||
integer(i4b), intent(in) | nvaluesp, | ||
integer(i4b), intent(in) | nwidthp, | ||
character(len=*), intent(in) | editdesc, | ||
real(dp), intent(in) | dinact | ||
) |
Record a double precision array. The array will be printed to an external file and/or written to an unformatted external file depending on the argument specifications.
[in,out] | darray | double precision array to record |
[in] | iout | unit number for ascii output |
[in] | iprint | flag indicating whether or not to print the array |
[in] | idataun | unit number to which the array will be written in binary |
[in] | aname | text descriptor of the array |
[in] | nvaluesp | number of values per line for printing |
[in] | nwidthp | width of the number for printing |
[in] | editdesc | format type (I, G, F, S, E) |
[in] | dinact | double precision value to use for cells that are excluded from model domain |
Definition at line 1112 of file Disv1d.f90.
subroutine disv1dmodule::record_srcdst_list_header | ( | class(disv1dtype) | this, |
character(len=16), intent(in) | text, | ||
character(len=16), intent(in) | textmodel, | ||
character(len=16), intent(in) | textpackage, | ||
character(len=16), intent(in) | dstmodel, | ||
character(len=16), intent(in) | dstpackage, | ||
integer(i4b), intent(in) | naux, | ||
character(len=16), dimension(:), intent(in) | auxtxt, | ||
integer(i4b), intent(in) | ibdchn, | ||
integer(i4b), intent(in) | nlist, | ||
integer(i4b), intent(in) | iout | ||
) |
Definition at line 1202 of file Disv1d.f90.
subroutine disv1dmodule::source_cell1d | ( | class(disv1dtype) | this | ) |
Definition at line 538 of file Disv1d.f90.
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 853 of file Disv1d.f90.