MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
gwfvscmodule::gwfvsctype Type Reference
Inheritance diagram for gwfvscmodule::gwfvsctype:
Inheritance graph
Collaboration diagram for gwfvscmodule::gwfvsctype:
Collaboration graph

Public Member Functions

procedure, public vsc_ar_bnd
 
procedure, public vsc_ad_bnd
 
procedure, public update_k_with_vsc
 
procedure, public calc_q_visc
 
procedure, public get_visc_ratio
 

Private Member Functions

procedure vsc_df
 
procedure vsc_ar
 
procedure vsc_rp
 
procedure vsc_ad
 
procedure vsc_ot_dv
 
procedure vsc_da
 
procedure, private vsc_calcvisc
 
procedure allocate_scalars
 
procedure, private allocate_arrays
 
procedure, private read_options
 
procedure, private set_options
 
procedure, private read_dimensions
 
procedure, private read_packagedata
 
procedure, private set_packagedata
 
procedure, private set_npf_pointers
 
procedure, private vsc_set_changed_at
 
procedure set_concentration_pointer
 
procedure set_names
 
procedure da
 
procedure read_check_ionper
 
procedure get_block_data
 

Private Attributes

integer(i4b), pointer thermivisc => null()
 viscosity formulation flag (1:Linear, 2:Nonlinear) More...
 
integer(i4b), pointer idxtmpr => null()
 if greater than 0 then an index for identifying whether the "species" array is temperature More...
 
integer(i4b), pointer ioutvisc => null()
 unit number for saving viscosity More...
 
integer(i4b), pointer iconcset => null()
 if 1 then conc points to a gwt (or gwe) modelx array More...
 
integer(i4b), pointer ireadelev => null()
 if 1 then elev has been allocated and filled More...
 
integer(i4b), dimension(:), pointer, contiguous ivisc => null()
 viscosity formulation flag for each species (1:Linear, 2:Nonlinear) More...
 
real(dp), pointer viscref => null()
 reference fluid viscosity More...
 
real(dp), dimension(:), pointer, contiguous visc => null()
 viscosity More...
 
real(dp), dimension(:), pointer, contiguous elev => null()
 cell center elevation (optional; if not specified, then use (top+bot)/2) More...
 
integer(i4b), dimension(:), pointer ibound => null()
 store pointer to ibound More...
 
integer(i4b), pointer nviscspecies => null()
 number of concentration species used in viscosity equation More...
 
real(dp), dimension(:), pointer, contiguous dviscdc => null()
 linear change in viscosity with change in concentration More...
 
real(dp), dimension(:), pointer, contiguous cviscref => null()
 reference concentration used in viscosity equation More...
 
real(dp), dimension(:), pointer, contiguous ctemp => null()
 temporary array of size (nviscspec) to pass to calc_visc_x More...
 
character(len=lenmodelname), dimension(:), allocatable cmodelname
 names of gwt (or gwe) models used in viscosity equation More...
 
character(len=lenauxname), dimension(:), allocatable cauxspeciesname
 names of aux columns used in viscosity equation More...
 
character(len=lenauxname) name_temp_spec = 'TEMPERATURE'
 
real(dp), pointer a2 => null()
 an empirical parameter specified by the user for calculating viscosity More...
 
real(dp), pointer a3 => null()
 an empirical parameter specified by the user for calculating viscosity More...
 
real(dp), pointer a4 => null()
 an empirical parameter specified by the user for calculating viscosity More...
 
type(concentrationpointer), dimension(:), allocatable modelconc
 concentration (or temperature) pointer for each solute (or heat) transport model More...
 
real(dp), dimension(:), pointer, contiguous k11 => null()
 NPF hydraulic conductivity; if anisotropic, then this is Kx prior to rotation. More...
 
real(dp), dimension(:), pointer, contiguous k22 => null()
 NPF hydraulic conductivity; if specified then this is Ky prior to rotation. More...
 
real(dp), dimension(:), pointer, contiguous k33 => null()
 NPF hydraulic conductivity; if specified then this is Kz prior to rotation. More...
 
real(dp), dimension(:), pointer, contiguous k11input => null()
 NPF hydraulic conductivity as originally specified by the user. More...
 
real(dp), dimension(:), pointer, contiguous k22input => null()
 NPF hydraulic conductivity as originally specified by the user. More...
 
real(dp), dimension(:), pointer, contiguous k33input => null()
 NPF hydraulic conductivity as originally specified by the user. More...
 
integer(i4b), pointer kchangeper => null()
 
integer(i4b), pointer kchangestp => null()
 
integer(i4b), dimension(:), pointer, contiguous nodekchange => null()
 
character(len=lenmodelname) name_model = ''
 the name of the model that contains this package More...
 
character(len=lenpackagename) packname = ''
 name of the package More...
 
character(len=lenmempath) memorypath = ''
 the location in the memory manager where the variables are stored More...
 
character(len=lenmempath) memorypathmodel = ''
 the location in the memory manager where the variables of the parent model are stored More...
 
character(len=lenmempath) input_mempath = ''
 input context mempath More...
 
character(len=linelength), pointer input_fname => null()
 input file name More...
 
character(len=lenftype) filtyp = ''
 file type (CHD, DRN, RIV, etc.) More...
 
character(len=lenftype), pointer package_type => null()
 package type (same as filtyp) stored in memory manager More...
 
integer(i4b), pointer id => null()
 consecutive package number in model More...
 
integer(i4b), pointer inunit => null()
 unit number for input file More...
 
integer(i4b), pointer iout => null()
 unit number for writing package output More...
 
integer(i4b), pointer inewton => null()
 newton flag More...
 
integer(i4b), pointer iasym => null()
 package causes matrix asymmetry More...
 
integer(i4b), pointer iprpak => null()
 integer flag to echo input More...
 
integer(i4b), pointer iprflow => null()
 flag to print simulated flows More...
 
integer(i4b), pointer ipakcb => null()
 output flows (-1, 0, 1) - save_flows More...
 
integer(i4b), pointer ionper => null()
 stress period for next data More...
 
integer(i4b), pointer lastonper => null()
 last value of ionper (for checking) More...
 
type(blockparsertype) parser
 parser object for reading blocks of information More...
 
class(disbasetype), pointer dis => null()
 model discretization object More...
 

Detailed Description

Definition at line 29 of file gwf-vsc.f90.

Member Function/Subroutine Documentation

◆ allocate_arrays()

procedure, private gwfvscmodule::gwfvsctype::allocate_arrays
private

Definition at line 78 of file gwf-vsc.f90.

◆ allocate_scalars()

procedure gwfvscmodule::gwfvsctype::allocate_scalars
private

Definition at line 77 of file gwf-vsc.f90.

◆ calc_q_visc()

procedure, public gwfvscmodule::gwfvsctype::calc_q_visc

Definition at line 87 of file gwf-vsc.f90.

◆ da()

procedure numericalpackagemodule::numericalpackagetype::da
privateinherited

Definition at line 55 of file NumericalPackage.f90.

◆ get_block_data()

procedure numericalpackagemodule::numericalpackagetype::get_block_data
privateinherited

Definition at line 57 of file NumericalPackage.f90.

◆ get_visc_ratio()

procedure, public gwfvscmodule::gwfvsctype::get_visc_ratio

Definition at line 88 of file gwf-vsc.f90.

◆ read_check_ionper()

procedure numericalpackagemodule::numericalpackagetype::read_check_ionper
privateinherited

Definition at line 56 of file NumericalPackage.f90.

◆ read_dimensions()

procedure, private gwfvscmodule::gwfvsctype::read_dimensions
private

Definition at line 81 of file gwf-vsc.f90.

◆ read_options()

procedure, private gwfvscmodule::gwfvsctype::read_options
private

Definition at line 79 of file gwf-vsc.f90.

◆ read_packagedata()

procedure, private gwfvscmodule::gwfvsctype::read_packagedata
private

Definition at line 82 of file gwf-vsc.f90.

◆ set_concentration_pointer()

procedure gwfvscmodule::gwfvsctype::set_concentration_pointer
private

Definition at line 89 of file gwf-vsc.f90.

◆ set_names()

procedure numericalpackagemodule::numericalpackagetype::set_names
privateinherited

Definition at line 53 of file NumericalPackage.f90.

◆ set_npf_pointers()

procedure, private gwfvscmodule::gwfvsctype::set_npf_pointers
private

Definition at line 84 of file gwf-vsc.f90.

◆ set_options()

procedure, private gwfvscmodule::gwfvsctype::set_options
private

Definition at line 80 of file gwf-vsc.f90.

◆ set_packagedata()

procedure, private gwfvscmodule::gwfvsctype::set_packagedata
private

Definition at line 83 of file gwf-vsc.f90.

◆ update_k_with_vsc()

procedure, public gwfvscmodule::gwfvsctype::update_k_with_vsc

Definition at line 85 of file gwf-vsc.f90.

◆ vsc_ad()

procedure gwfvscmodule::gwfvsctype::vsc_ad
private

Definition at line 72 of file gwf-vsc.f90.

◆ vsc_ad_bnd()

procedure, public gwfvscmodule::gwfvsctype::vsc_ad_bnd

Definition at line 73 of file gwf-vsc.f90.

◆ vsc_ar()

procedure gwfvscmodule::gwfvsctype::vsc_ar
private

Definition at line 69 of file gwf-vsc.f90.

◆ vsc_ar_bnd()

procedure, public gwfvscmodule::gwfvsctype::vsc_ar_bnd

Definition at line 70 of file gwf-vsc.f90.

◆ vsc_calcvisc()

procedure, private gwfvscmodule::gwfvsctype::vsc_calcvisc
private

Definition at line 76 of file gwf-vsc.f90.

◆ vsc_da()

procedure gwfvscmodule::gwfvsctype::vsc_da
private

Definition at line 75 of file gwf-vsc.f90.

◆ vsc_df()

procedure gwfvscmodule::gwfvsctype::vsc_df
private

Definition at line 68 of file gwf-vsc.f90.

◆ vsc_ot_dv()

procedure gwfvscmodule::gwfvsctype::vsc_ot_dv
private

Definition at line 74 of file gwf-vsc.f90.

◆ vsc_rp()

procedure gwfvscmodule::gwfvsctype::vsc_rp
private

Definition at line 71 of file gwf-vsc.f90.

◆ vsc_set_changed_at()

procedure, private gwfvscmodule::gwfvsctype::vsc_set_changed_at
private

Definition at line 86 of file gwf-vsc.f90.

Member Data Documentation

◆ a2

real(dp), pointer gwfvscmodule::gwfvsctype::a2 => null()
private

Definition at line 50 of file gwf-vsc.f90.

50  real(DP), pointer :: a2 => null() !< an empirical parameter specified by the user for calculating viscosity

◆ a3

real(dp), pointer gwfvscmodule::gwfvsctype::a3 => null()
private

Definition at line 51 of file gwf-vsc.f90.

51  real(DP), pointer :: a3 => null() !< an empirical parameter specified by the user for calculating viscosity

◆ a4

real(dp), pointer gwfvscmodule::gwfvsctype::a4 => null()
private

Definition at line 52 of file gwf-vsc.f90.

52  real(DP), pointer :: a4 => null() !< an empirical parameter specified by the user for calculating viscosity

◆ cauxspeciesname

character(len=lenauxname), dimension(:), allocatable gwfvscmodule::gwfvsctype::cauxspeciesname
private

Definition at line 46 of file gwf-vsc.f90.

46  character(len=LENAUXNAME), dimension(:), allocatable :: cauxspeciesname !< names of aux columns used in viscosity equation

◆ cmodelname

character(len=lenmodelname), dimension(:), allocatable gwfvscmodule::gwfvsctype::cmodelname
private

Definition at line 45 of file gwf-vsc.f90.

45  character(len=LENMODELNAME), dimension(:), allocatable :: cmodelname !< names of gwt (or gwe) models used in viscosity equation

◆ ctemp

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::ctemp => null()
private

Definition at line 44 of file gwf-vsc.f90.

44  real(DP), dimension(:), pointer, contiguous :: ctemp => null() !< temporary array of size (nviscspec) to pass to calc_visc_x

◆ cviscref

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::cviscref => null()
private

Definition at line 43 of file gwf-vsc.f90.

43  real(DP), dimension(:), pointer, contiguous :: cviscref => null() !< reference concentration used in viscosity equation

◆ dis

class(disbasetype), pointer numericalpackagemodule::numericalpackagetype::dis => null()
privateinherited

Definition at line 50 of file NumericalPackage.f90.

50  class(DisBaseType), pointer :: dis => null() !< model discretization object

◆ dviscdc

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::dviscdc => null()
private

Definition at line 42 of file gwf-vsc.f90.

42  real(DP), dimension(:), pointer, contiguous :: dviscdc => null() !< linear change in viscosity with change in concentration

◆ elev

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::elev => null()
private

Definition at line 38 of file gwf-vsc.f90.

38  real(DP), dimension(:), pointer, contiguous :: elev => null() !< cell center elevation (optional; if not specified, then use (top+bot)/2)

◆ filtyp

character(len=lenftype) numericalpackagemodule::numericalpackagetype::filtyp = ''
privateinherited

Definition at line 33 of file NumericalPackage.f90.

33  character(len=LENFTYPE) :: filtyp = '' !< file type (CHD, DRN, RIV, etc.)

◆ iasym

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iasym => null()
privateinherited

Definition at line 41 of file NumericalPackage.f90.

41  integer(I4B), pointer :: iasym => null() !< package causes matrix asymmetry

◆ ibound

integer(i4b), dimension(:), pointer gwfvscmodule::gwfvsctype::ibound => null()
private

Definition at line 39 of file gwf-vsc.f90.

39  integer(I4B), dimension(:), pointer :: ibound => null() !< store pointer to ibound

◆ iconcset

integer(i4b), pointer gwfvscmodule::gwfvsctype::iconcset => null()
private

Definition at line 33 of file gwf-vsc.f90.

33  integer(I4B), pointer :: iconcset => null() !< if 1 then conc points to a gwt (or gwe) model%x array

◆ id

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::id => null()
privateinherited

Definition at line 37 of file NumericalPackage.f90.

37  integer(I4B), pointer :: id => null() !< consecutive package number in model

◆ idxtmpr

integer(i4b), pointer gwfvscmodule::gwfvsctype::idxtmpr => null()
private

Definition at line 31 of file gwf-vsc.f90.

31  integer(I4B), pointer :: idxtmpr => null() !< if greater than 0 then an index for identifying whether the "species" array is temperature

◆ inewton

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::inewton => null()
privateinherited

Definition at line 40 of file NumericalPackage.f90.

40  integer(I4B), pointer :: inewton => null() !< newton flag

◆ input_fname

character(len=linelength), pointer numericalpackagemodule::numericalpackagetype::input_fname => null()
privateinherited

Definition at line 32 of file NumericalPackage.f90.

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

◆ input_mempath

character(len=lenmempath) numericalpackagemodule::numericalpackagetype::input_mempath = ''
privateinherited

Definition at line 31 of file NumericalPackage.f90.

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

◆ inunit

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::inunit => null()
privateinherited

Definition at line 38 of file NumericalPackage.f90.

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

◆ ionper

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::ionper => null()
privateinherited

Definition at line 45 of file NumericalPackage.f90.

45  integer(I4B), pointer :: ionper => null() !< stress period for next data

◆ iout

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iout => null()
privateinherited

Definition at line 39 of file NumericalPackage.f90.

39  integer(I4B), pointer :: iout => null() !< unit number for writing package output

◆ ioutvisc

integer(i4b), pointer gwfvscmodule::gwfvsctype::ioutvisc => null()
private

Definition at line 32 of file gwf-vsc.f90.

32  integer(I4B), pointer :: ioutvisc => null() !< unit number for saving viscosity

◆ ipakcb

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::ipakcb => null()
privateinherited

Definition at line 44 of file NumericalPackage.f90.

44  integer(I4B), pointer :: ipakcb => null() !< output flows (-1, 0, 1) - save_flows

◆ iprflow

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iprflow => null()
privateinherited

Definition at line 43 of file NumericalPackage.f90.

43  integer(I4B), pointer :: iprflow => null() !< flag to print simulated flows

◆ iprpak

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iprpak => null()
privateinherited

Definition at line 42 of file NumericalPackage.f90.

42  integer(I4B), pointer :: iprpak => null() !< integer flag to echo input

◆ ireadelev

integer(i4b), pointer gwfvscmodule::gwfvsctype::ireadelev => null()
private

Definition at line 34 of file gwf-vsc.f90.

34  integer(I4B), pointer :: ireadelev => null() !< if 1 then elev has been allocated and filled

◆ ivisc

integer(i4b), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::ivisc => null()
private

Definition at line 35 of file gwf-vsc.f90.

35  integer(I4B), dimension(:), pointer, contiguous :: ivisc => null() !< viscosity formulation flag for each species (1:Linear, 2:Nonlinear)

◆ k11

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::k11 => null()
private

Definition at line 56 of file gwf-vsc.f90.

56  real(DP), dimension(:), pointer, contiguous :: k11 => null() !< NPF hydraulic conductivity; if anisotropic, then this is Kx prior to rotation

◆ k11input

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::k11input => null()
private

Definition at line 59 of file gwf-vsc.f90.

59  real(DP), dimension(:), pointer, contiguous :: k11input => null() !< NPF hydraulic conductivity as originally specified by the user

◆ k22

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::k22 => null()
private

Definition at line 57 of file gwf-vsc.f90.

57  real(DP), dimension(:), pointer, contiguous :: k22 => null() !< NPF hydraulic conductivity; if specified then this is Ky prior to rotation

◆ k22input

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::k22input => null()
private

Definition at line 60 of file gwf-vsc.f90.

60  real(DP), dimension(:), pointer, contiguous :: k22input => null() !< NPF hydraulic conductivity as originally specified by the user

◆ k33

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::k33 => null()
private

Definition at line 58 of file gwf-vsc.f90.

58  real(DP), dimension(:), pointer, contiguous :: k33 => null() !< NPF hydraulic conductivity; if specified then this is Kz prior to rotation

◆ k33input

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::k33input => null()
private

Definition at line 61 of file gwf-vsc.f90.

61  real(DP), dimension(:), pointer, contiguous :: k33input => null() !< NPF hydraulic conductivity as originally specified by the user

◆ kchangeper

integer(i4b), pointer gwfvscmodule::gwfvsctype::kchangeper => null()
private

Definition at line 62 of file gwf-vsc.f90.

62  integer(I4B), pointer :: kchangeper => null() ! last stress period in which any node K (or K22, or K33) values were changed (0 if unchanged from start of simulation)

◆ kchangestp

integer(i4b), pointer gwfvscmodule::gwfvsctype::kchangestp => null()
private

Definition at line 63 of file gwf-vsc.f90.

63  integer(I4B), pointer :: kchangestp => null() ! last time step in which any node K (or K22, or K33) values were changed (0 if unchanged from start of simulation)

◆ lastonper

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::lastonper => null()
privateinherited

Definition at line 46 of file NumericalPackage.f90.

46  integer(I4B), pointer :: lastonper => null() !< last value of ionper (for checking)

◆ memorypath

character(len=lenmempath) numericalpackagemodule::numericalpackagetype::memorypath = ''
privateinherited

Definition at line 28 of file NumericalPackage.f90.

28  character(len=LENMEMPATH) :: memoryPath = '' !< the location in the memory manager where the variables are stored

◆ memorypathmodel

character(len=lenmempath) numericalpackagemodule::numericalpackagetype::memorypathmodel = ''
privateinherited

Definition at line 29 of file NumericalPackage.f90.

29  character(len=LENMEMPATH) :: memoryPathModel = '' !< the location in the memory manager where the variables

◆ modelconc

type(concentrationpointer), dimension(:), allocatable gwfvscmodule::gwfvsctype::modelconc
private

Definition at line 54 of file gwf-vsc.f90.

54  type(ConcentrationPointer), allocatable, dimension(:) :: modelconc !< concentration (or temperature) pointer for each solute (or heat) transport model

◆ name_model

character(len=lenmodelname) numericalpackagemodule::numericalpackagetype::name_model = ''
privateinherited

Definition at line 26 of file NumericalPackage.f90.

26  character(len=LENMODELNAME) :: name_model = '' !< the name of the model that contains this package

◆ name_temp_spec

character(len=lenauxname) gwfvscmodule::gwfvsctype::name_temp_spec = 'TEMPERATURE'
private

Definition at line 47 of file gwf-vsc.f90.

47  character(len=LENAUXNAME) :: name_temp_spec = 'TEMPERATURE'

◆ nodekchange

integer(i4b), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::nodekchange => null()
private

Definition at line 64 of file gwf-vsc.f90.

64  integer(I4B), dimension(:), pointer, contiguous :: nodekchange => null() ! grid array of flags indicating for each node whether its K (or K22, or K33) value changed (1) at (kchangeper, kchangestp) or not (0)

◆ nviscspecies

integer(i4b), pointer gwfvscmodule::gwfvsctype::nviscspecies => null()
private

Definition at line 41 of file gwf-vsc.f90.

41  integer(I4B), pointer :: nviscspecies => null() !< number of concentration species used in viscosity equation

◆ package_type

character(len=lenftype), pointer numericalpackagemodule::numericalpackagetype::package_type => null()
privateinherited

Definition at line 34 of file NumericalPackage.f90.

34  character(len=LENFTYPE), pointer :: package_type => null() !< package type (same as filtyp) stored in memory manager

◆ packname

character(len=lenpackagename) numericalpackagemodule::numericalpackagetype::packname = ''
privateinherited

Definition at line 27 of file NumericalPackage.f90.

27  character(len=LENPACKAGENAME) :: packName = '' !< name of the package

◆ parser

type(blockparsertype) numericalpackagemodule::numericalpackagetype::parser
privateinherited

Definition at line 49 of file NumericalPackage.f90.

49  type(BlockParserType) :: parser !< parser object for reading blocks of information

◆ thermivisc

integer(i4b), pointer gwfvscmodule::gwfvsctype::thermivisc => null()
private

Definition at line 30 of file gwf-vsc.f90.

30  integer(I4B), pointer :: thermivisc => null() !< viscosity formulation flag (1:Linear, 2:Nonlinear)

◆ visc

real(dp), dimension(:), pointer, contiguous gwfvscmodule::gwfvsctype::visc => null()
private

Definition at line 37 of file gwf-vsc.f90.

37  real(DP), dimension(:), pointer, contiguous :: visc => null() !< viscosity

◆ viscref

real(dp), pointer gwfvscmodule::gwfvsctype::viscref => null()
private

Definition at line 36 of file gwf-vsc.f90.

36  real(DP), pointer :: viscref => null() !< reference fluid viscosity

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