![]() |
MODFLOW 6
version 6.7.0.dev2
USGS Modular Hydrologic Model
|
Data Types | |
type | concentrationpointer |
type | gwfvsctype |
Functions/Subroutines | |
real(dp) function | calc_visc (ivisc, viscref, dviscdc, cviscref, conc, a2, a3, a4) |
Generic function to calculate changes in fluid viscosity using a linear formulation. More... | |
subroutine, public | vsc_cr (vscobj, name_model, input_mempath, inunit, iout) |
@ brief Create a new package object More... | |
subroutine | vsc_df (this, dis, vsc_input) |
@ brief Define viscosity package options and dimensions More... | |
subroutine | vsc_ar (this, ibound) |
@ brief Allocate and read method for viscosity package More... | |
subroutine | vsc_ar_bnd (this, packobj) |
Activate viscosity in advanced packages. More... | |
subroutine | set_npf_pointers (this) |
Set pointers to NPF variables. More... | |
subroutine | vsc_rp (this) |
@ brief Read new period data in viscosity package More... | |
subroutine | vsc_ad (this) |
@ brief Advance the viscosity package More... | |
subroutine | vsc_ad_bnd (this, packobj, hnew) |
Advance the boundary packages when viscosity is active. More... | |
subroutine | vsc_ad_standard_bnd (packobj, hnew, visc, viscref, locelev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
advance ghb while accounting for viscosity More... | |
subroutine | vsc_ad_sfr (packobj, visc, viscref, elev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
Update sfr-related viscosity ratios. More... | |
subroutine | vsc_ad_lak (packobj, visc, viscref, elev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
Update lak-related viscosity ratios. More... | |
subroutine | vsc_ad_maw (packobj, visc, viscref, elev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
Update maw-related viscosity ratios. More... | |
real(dp) function | update_bnd_cond (bndvisc, viscref, spcfdcond) |
Apply viscosity to the conductance term. More... | |
real(dp) function | calc_vsc_ratio (viscref, bndvisc) |
calculate and return the viscosity ratio More... | |
real(dp) function | calc_bnd_viscosity (n, locvisc, locconc, viscref, dviscdc, cviscref, ctemp, ivisc, a2, a3, a4, auxvar) |
@ brief Calculate the boundary viscosity More... | |
subroutine | get_visc_ratio (this, n, m, gwhdn, gwhdm, viscratio) |
Calculate the viscosity ratio. More... | |
subroutine | calc_q_visc (this, cellid, viscratio) |
Account for viscosity in the aquiferhorizontal flow barriers. More... | |
subroutine | update_k_with_vsc (this) |
Appled the viscosity ratio (mu_o/mu) to the hydraulic conductivity. More... | |
subroutine | vsc_set_changed_at (this, kper, kstp) |
Mark K changes as having occurred at (kper, kstp) More... | |
subroutine | vsc_ot_dv (this, idvfl) |
@ brief Output viscosity package dependent-variable terms. More... | |
subroutine | vsc_da (this) |
@ brief Deallocate viscosity package memory More... | |
subroutine | source_dimensions (this) |
@ brief Source dimensions for package More... | |
subroutine | source_packagedata (this) |
@ brief source packagedata for package More... | |
subroutine | set_packagedata (this, input_data) |
Sets package data instead of reading from file. More... | |
subroutine | vsc_calcvisc (this) |
Calculate fluid viscosity. More... | |
subroutine | allocate_scalars (this) |
@ brief Allocate scalars More... | |
subroutine | allocate_arrays (this, nodes) |
@ brief Allocate arrays More... | |
subroutine | source_options (this) |
@ brief Source VSC options More... | |
subroutine | log_options (this, found, viscosityfile) |
@ brief log VSC options More... | |
subroutine | set_options (this, input_data) |
Sets options as opposed to reading them from a file. More... | |
subroutine | set_concentration_pointer (this, modelname, conc, icbund, istmpr) |
@ brief Set pointers to concentration(s) More... | |
subroutine gwfvscmodule::allocate_arrays | ( | class(gwfvsctype) | this, |
integer(i4b), intent(in) | nodes | ||
) |
|
private |
Allocate and initialize scalars for the VSC package. The base model allocate scalars method is also called.
Definition at line 1127 of file gwf-vsc.f90.
|
private |
Return the viscosity of the boundary package using one of the options in the following order of priority:
Definition at line 730 of file gwf-vsc.f90.
subroutine gwfvscmodule::calc_q_visc | ( | class(gwfvsctype) | this, |
integer(i4b), intent(in) | cellid, | ||
real(dp), intent(inout) | viscratio | ||
) |
Will return the viscosity associated with the upgradient node (cell) to the HFB package for adjusting the hydraulic characteristic (hydchr) of the barrier
Definition at line 801 of file gwf-vsc.f90.
|
private |
|
private |
|
private |
Calculate the viscosity ratio applied to the hydraulic characteristic provided by the user. The viscosity ratio is applicable only when the hydraulic characteristic is specified as positive and will not be applied when the hydchr is negative
Definition at line 775 of file gwf-vsc.f90.
subroutine gwfvscmodule::log_options | ( | class(gwfvsctype), intent(inout) | this, |
type(gwfvscparamfoundtype), intent(in) | found, | ||
character(len=*), intent(in) | viscosityfile | ||
) |
Definition at line 1282 of file gwf-vsc.f90.
|
private |
Pass in a gwt model name, concentration array, and ibound, and store a pointer to these in the VSC package so that viscosity can be calculated from them. This routine is called from the gwfgwt exchange in the exg_ar() method.
Definition at line 1377 of file gwf-vsc.f90.
subroutine gwfvscmodule::set_npf_pointers | ( | class(gwfvsctype) | this | ) |
Set array and variable pointers from the NPF package for access by VSC.
Definition at line 301 of file gwf-vsc.f90.
subroutine gwfvscmodule::set_options | ( | class(gwfvsctype) | this, |
type(gwfvscinputdatatype), intent(in) | input_data | ||
) |
[in] | input_data | the input data to be set |
Definition at line 1362 of file gwf-vsc.f90.
subroutine gwfvscmodule::set_packagedata | ( | class(gwfvsctype) | this, |
type(gwfvscinputdatatype), intent(in) | input_data | ||
) |
this | this vscoancy pkg | |
[in] | input_data | the input data to be set |
Definition at line 1078 of file gwf-vsc.f90.
|
private |
Definition at line 949 of file gwf-vsc.f90.
|
private |
Definition at line 1204 of file gwf-vsc.f90.
subroutine gwfvscmodule::source_packagedata | ( | class(gwfvsctype), intent(inout) | this | ) |
Definition at line 976 of file gwf-vsc.f90.
real(dp) function gwfvscmodule::update_bnd_cond | ( | real(dp), intent(in) | bndvisc, |
real(dp), intent(in) | viscref, | ||
real(dp), intent(in) | spcfdcond | ||
) |
When the viscosity package is active apply the viscosity ratio to the active boundary package's conductance term.
Definition at line 695 of file gwf-vsc.f90.
|
private |
This routine called after updating the viscosity values using the latest concentration and/or temperature values. The ratio mu_o/mu, reference viscosity divided by the updated viscosity value, is multiplied by K for each cell.
Definition at line 824 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad | ( | class(gwfvsctype) | this | ) |
Advance data in the VSC package. The method sets or advances time series, time array series, and observation data.
Definition at line 358 of file gwf-vsc.f90.
|
private |
Update the conductance values associate with inflow from a boundary when VSC package is active.
Definition at line 371 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_lak | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
real(dp), dimension(:), intent(in) | elev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When the viscosity package is active, update the viscosity ratio that is applied to the lakebed conductance calculated in the LAK package
Definition at line 587 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_maw | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
real(dp), dimension(:), intent(in) | elev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When the viscosity package is active, update the viscosity ratio that is applied to the conductance calculated in the MAW package
Definition at line 641 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_sfr | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
real(dp), dimension(:), intent(in) | elev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When the viscosity package is active, update the viscosity ratio that is applied to the hydraulic conductivity specified in the SFR package
Definition at line 533 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_standard_bnd | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | hnew, | ||
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
integer(i4b), intent(in) | locelev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When flow enters from ghb boundary type, take into account the effects of viscosity on the user-specified conductance terms
Definition at line 462 of file gwf-vsc.f90.
|
private |
Generic method to allocate and read static data for the viscosity package available within the GWF model type.
Definition at line 215 of file gwf-vsc.f90.
|
private |
Viscosity ar_bnd routine to activate viscosity in the advanced packages. This routine is called from gwf_ar() as it moves through each package
Definition at line 233 of file gwf-vsc.f90.
|
private |
Calculates fluid viscosity based on concentration or temperature
Definition at line 1098 of file gwf-vsc.f90.
subroutine, public gwfvscmodule::vsc_cr | ( | type(gwfvsctype), pointer | vscobj, |
character(len=*), intent(in) | name_model, | ||
character(len=*), intent(in) | input_mempath, | ||
integer(i4b), intent(in) | inunit, | ||
integer(i4b), intent(in) | iout | ||
) |
Create a new VSC Package object.
Definition at line 142 of file gwf-vsc.f90.
|
private |
|
private |
Define viscosity package options and dimensions
this | this viscosity package | |
[in] | dis | pointer to discretization |
[in] | vsc_input | optional vsc input data, otherwise read from file |
Definition at line 168 of file gwf-vsc.f90.
|
private |
|
private |
Method to read and prepare period data for the VSC package.
Definition at line 325 of file gwf-vsc.f90.
|
private |
Procedure called by VSC code when K updated due to viscosity changes. K values changed at (kper, kstp).
Definition at line 851 of file gwf-vsc.f90.