rmt_create_ssm creates an RMT3DMS ssm object.

rmt_create_ssm(
  ...,
  btn,
  crch = NULL,
  cevt = NULL,
  mxss = prod(btn$nrow, btn$ncol, btn$nlay),
  issgout = NULL
)

Arguments

...

one or more rmt_list objects or a single list containing them. These represent point sources/sinks.

btn

RMT3DMS btn object

crch

either a single value (used for all species in a multi-species simulation), a single rmt_2d_array or a list of rmt_2d_arrays. For multi-species simulations, a list of single values (one for each species) can also be entered. Represents the concentrations of the recharge flux from the flow model.

cevt

either a single value (used for all species in a multi-species simulation), a single rmt_2d_array or a list of rmt_2d_arrays. For multi-species simulations, a list of single values (one for each species) can also be entered. Represents the concentrations of the evapotranspiration flux from the flow model.

mxss

maximum number of all point sources and sinks in the flow model. Defaults to the number of cells. See details.

issgout

unit number for an optional output file to save calculated flux-averaged concentrations at multi-node wells. Defaults to NULL. MT3D-USGS only.

Value

an object of class ssm

Details

The default value for mxss is likely to be much larger than the actual number of point sources/sinks. In order to preserve more computer memory, this value can be set to a more appropriate number. All rmt_2d_arrays should have their kper and solute arguments set through rmt_create_array. There can only be one active crch & cevt rmt_2d_array per stress-period per species. If a negative concentration value/array for crch or cevt is specified for the first stress-period, concentrations of positive fluxes are set to zero and concentrations of a negative fluxes to the aquifer concentration for all species. If no other values/arrays are specified, this is repeated for all following stress-periods. If a flux is active in the flow simulation, values for the corresponding concentration fluxes must be supplied. E.g. if evt is used in the flow simulation, values for cevt must be supplied even if no concentrations are associated with this flux. In the latter case, supply negative concentration values.

See also

Examples

btn <- rmt_create_btn() wel <- rmt_create_list(data.frame(i = 5, j = 4:5, k = 3, css1 = 6.45, css2 = 47, itype = 2), kper = 1) rmt_create_ssm(wel, crch = 0, btn = btn)
#> Warning: Number of active species in btn is 1, but more species defined in rmf_lists. Only using the first 1
#> $dimensions #> $dimensions$ds1 #> fwel fdrn frch fevt friv fghb fuzf fnew #> TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE #> #> $dimensions$mxss #> [1] 300 #> #> #> $crch #> $crch$crch #> $crch$crch$crch_1 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress period: 1 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] 0 0 0 0 0 0 0 0 0 0 #> [2,] 0 0 0 0 0 0 0 0 0 0 #> [3,] 0 0 0 0 0 0 0 0 0 0 #> [4,] 0 0 0 0 0 0 0 0 0 0 #> [5,] 0 0 0 0 0 0 0 0 0 0 #> [6,] 0 0 0 0 0 0 0 0 0 0 #> [7,] 0 0 0 0 0 0 0 0 0 0 #> [8,] 0 0 0 0 0 0 0 0 0 0 #> [9,] 0 0 0 0 0 0 0 0 0 0 #> [10,] 0 0 0 0 0 0 0 0 0 0 #> #> #> $crch$kper #> kper css1 #> 1 1 crch_1 #> #> #> $points #> $points$wel #> $points$wel$data #> RMODFLOW list with 2 features and 3 variables #> Not representing stress period data #> k i j name itype css1 #> 1 3 5 4 list_1 2 6.45 #> 2 3 5 5 list_1 2 6.45 #> #> $points$wel$kper #> kper list_1 #> 1 1 TRUE #> #> #> #> attr(,"class") #> [1] "ssm" "rmt_package"
btn <- rmt_create_btn(nper = 3, ncomp = 2) wel_df <- data.frame(i = 5, j = 4:5, k = 3, css1 = 6.45, css2 = 47, itype = 2) wel <- rmt_create_list(wel_df, kper = c(1,3)) wel2_df <- wel_df wel2_df$css1 <- 0 wel2 <- rmt_create_list(wel2_df, kper = 2) riv <- rmt_create_list(data.frame(i = 1, j = 1:10, k = 1, css1 = 12, css2 = 0, itype = 4), kper = c(1,2)) evt <- list(rmt_create_array(0, dim = c(btn$nrow, btn$ncol), solute = c(1,2), kper = c(1,3)), rmt_create_array(12, dim=c(btn$nrow, btn$ncol), solute = 1, kper = 2), rmt_create_array(0, dim=c(btn$nrow, btn$ncol), solute = 2, kper = 2)) rmt_create_ssm(wel, wel2, riv, crch = list(0, 2), cevt = evt, btn = btn)
#> $dimensions #> $dimensions$ds1 #> fwel fdrn frch fevt friv fghb fuzf fnew #> TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE #> #> $dimensions$mxss #> [1] 300 #> #> #> $crch #> $crch$crch #> $crch$crch$crch_1 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress periods: 1 2 3 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] 0 0 0 0 0 0 0 0 0 0 #> [2,] 0 0 0 0 0 0 0 0 0 0 #> [3,] 0 0 0 0 0 0 0 0 0 0 #> [4,] 0 0 0 0 0 0 0 0 0 0 #> [5,] 0 0 0 0 0 0 0 0 0 0 #> [6,] 0 0 0 0 0 0 0 0 0 0 #> [7,] 0 0 0 0 0 0 0 0 0 0 #> [8,] 0 0 0 0 0 0 0 0 0 0 #> [9,] 0 0 0 0 0 0 0 0 0 0 #> [10,] 0 0 0 0 0 0 0 0 0 0 #> #> $crch$crch$crch_2 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress periods: 1 2 3 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] 2 2 2 2 2 2 2 2 2 2 #> [2,] 2 2 2 2 2 2 2 2 2 2 #> [3,] 2 2 2 2 2 2 2 2 2 2 #> [4,] 2 2 2 2 2 2 2 2 2 2 #> [5,] 2 2 2 2 2 2 2 2 2 2 #> [6,] 2 2 2 2 2 2 2 2 2 2 #> [7,] 2 2 2 2 2 2 2 2 2 2 #> [8,] 2 2 2 2 2 2 2 2 2 2 #> [9,] 2 2 2 2 2 2 2 2 2 2 #> [10,] 2 2 2 2 2 2 2 2 2 2 #> #> #> $crch$kper #> kper css1 css2 #> 1 1 crch_1 crch_2 #> 2 2 crch_1 crch_2 #> 3 3 crch_1 crch_2 #> #> #> $cevt #> $cevt$cevt #> $cevt$cevt$cevt_1 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress periods: 1 3 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] 0 0 0 0 0 0 0 0 0 0 #> [2,] 0 0 0 0 0 0 0 0 0 0 #> [3,] 0 0 0 0 0 0 0 0 0 0 #> [4,] 0 0 0 0 0 0 0 0 0 0 #> [5,] 0 0 0 0 0 0 0 0 0 0 #> [6,] 0 0 0 0 0 0 0 0 0 0 #> [7,] 0 0 0 0 0 0 0 0 0 0 #> [8,] 0 0 0 0 0 0 0 0 0 0 #> [9,] 0 0 0 0 0 0 0 0 0 0 #> [10,] 0 0 0 0 0 0 0 0 0 0 #> #> $cevt$cevt$cevt_2 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress period: 2 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] 12 12 12 12 12 12 12 12 12 12 #> [2,] 12 12 12 12 12 12 12 12 12 12 #> [3,] 12 12 12 12 12 12 12 12 12 12 #> [4,] 12 12 12 12 12 12 12 12 12 12 #> [5,] 12 12 12 12 12 12 12 12 12 12 #> [6,] 12 12 12 12 12 12 12 12 12 12 #> [7,] 12 12 12 12 12 12 12 12 12 12 #> [8,] 12 12 12 12 12 12 12 12 12 12 #> [9,] 12 12 12 12 12 12 12 12 12 12 #> [10,] 12 12 12 12 12 12 12 12 12 12 #> #> $cevt$cevt$cevt_3 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress period: 2 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] 0 0 0 0 0 0 0 0 0 0 #> [2,] 0 0 0 0 0 0 0 0 0 0 #> [3,] 0 0 0 0 0 0 0 0 0 0 #> [4,] 0 0 0 0 0 0 0 0 0 0 #> [5,] 0 0 0 0 0 0 0 0 0 0 #> [6,] 0 0 0 0 0 0 0 0 0 0 #> [7,] 0 0 0 0 0 0 0 0 0 0 #> [8,] 0 0 0 0 0 0 0 0 0 0 #> [9,] 0 0 0 0 0 0 0 0 0 0 #> [10,] 0 0 0 0 0 0 0 0 0 0 #> #> #> $cevt$kper #> kper css1 css2 #> 1 1 cevt_1 cevt_1 #> 2 2 cevt_2 cevt_3 #> 3 3 cevt_1 cevt_1 #> #> #> $points #> $points$wel #> $points$wel$data #> RMODFLOW list with 4 features and 4 variables #> Not representing stress period data #> k i j name itype css1 css2 #> 1 3 5 4 list_1 2 6.45 47 #> 2 3 5 5 list_1 2 6.45 47 #> 3 3 5 4 list_2 2 0.00 47 #> 4 3 5 5 list_2 2 0.00 47 #> #> $points$wel$kper #> kper list_1 list_2 #> 1 1 TRUE FALSE #> 2 2 FALSE TRUE #> 3 3 TRUE FALSE #> #> #> $points$riv #> $points$riv$data #> RMODFLOW list with 10 features and 4 variables #> Not representing stress period data #> k i j name itype css1 css2 #> 1 1 1 1 list_1 4 12 0 #> 2 1 1 2 list_1 4 12 0 #> 3 1 1 3 list_1 4 12 0 #> 4 1 1 4 list_1 4 12 0 #> 5 1 1 5 list_1 4 12 0 #> 6 1 1 6 list_1 4 12 0 #> 7 1 1 7 list_1 4 12 0 #> 8 1 1 8 list_1 4 12 0 #> 9 1 1 9 list_1 4 12 0 #> 10 1 1 10 list_1 4 12 0 #> #> $points$riv$kper #> kper list_1 #> 1 1 TRUE #> 2 2 TRUE #> 3 3 FALSE #> #> #> #> attr(,"class") #> [1] "ssm" "rmt_package"
rmt_create_ssm(cevt = -1, btn = btn)
#> $dimensions #> $dimensions$ds1 #> fwel fdrn frch fevt friv fghb fuzf fnew #> FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE #> #> $dimensions$mxss #> [1] 300 #> #> #> $cevt #> $cevt$cevt #> $cevt$cevt$cevt_1 #> RMODFLOW 2d array with 10 rows and 10 columns, representing the i & j dimensions. #> Active during stress periods: 1 2 3 #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> [1,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [2,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [3,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [4,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [5,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [6,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [7,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [8,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [9,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> [10,] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 #> #> #> $cevt$kper #> kper css1 css2 #> 1 1 cevt_1 cevt_1 #> 2 2 cevt_1 cevt_1 #> 3 3 cevt_1 cevt_1 #> #> #> attr(,"class") #> [1] "ssm" "rmt_package"