Read {LIM}R Documentation

Reads an inverse input file

Description

Reads an inverse input file and creates the inverse problem as a list, of type "liminput"

Usage

Read(file, verbose=FALSE, checkLinear=TRUE, remtabs=TRUE)

Arguments

file name of inverse input file
verbose if TRUE: prints warnings and messages to the screen
checkLinear if FALSE: does not check for linearity
remtabs remove tabs

Details

The structure of an inverse input file is explained in vignette("LIM") which should be consulted.

In short the inverse input file contains the declaration sections enclosed inbetween two lines starting with a ##.
For instance, the following section declares two components
# COMP
State1
State2
# END COMP

Only the first 4 characters of the section names are read
The following sections are allowed:

  • Parameters - ## PARAMETERS
  • Components - ## STOCKS or ## DECISION VARIABLES or ## STATES or ## UNKNOWNS
  • Externals - ## EXTERNALS
  • Rates - ## RATES
  • Flows - ## FLOWS
  • Variables - ## VARIABLES
  • Cost - ## COST or ## MINIMISE
  • Profit - ## PROFIT or ## MAXIMISE
  • Equalities - ## EQUALITIES
  • InEqualities - ## INEQUALITIES or ## CONSTRAINTS

    Any (part of a) line starting with a "!" is considered a comment.

    Input is NOT case sensitive

    The output of this function is used as input in function Setup which creates the inverse matrices

    By default, only linear problems can be solved, and the function checks whether the input is linear. To toggle off this check, set checkLinear to FALSE.

    Some input files contain tabs, which are converted to spaces, unless this logical is set to FALSE.

    Value

    a list containing :

    file name of inverse input file
    pars a data.frame with parameter declarations
    comp a data.frame with compartments (or states, stocks)
    rate a data.frame with rate declarations
    extern a data.frame with external declarations
    flows a data.frame with flow declarations
    vars a data.frame with variable declarations
    cost a data.frame with cost declarations
    profit a data.frame with profit declarations
    equations a data.frame with equality declarations
    constraints a data.frame with constraint declarations
    reactions a data.frame with reaction declarations
    posreac a vector with TRUE if reaction or flow is unidirectional (and is thus positive), FALSE if two-way reaction or flow
    marker a data.frame with marker declarations - see vignette("LIM")
    parnames a vector with parameter names
    varnames a vector with variable names
    compnames a vector with compartment names
    externnames a vector with names of externals
    Type a string; one of "web" (flows are unknowns), "reaction" (reaction rates unknown) and "simple" (compartments are unknowns

    Author(s)

    Karline Soetaert <k.soetaert@nioo.knaw.nl>

    See Also

    Setup the function to create inverse matrices, based on output of Read

    Examples

      # this input has been created with function Read:
      LIMinputBlending
      ## Not run: 
      wd <- getwd()
      setwd(paste(system.file(package="LIM"), "/examples/Foodweb", sep=""))
      Read("RigaAutumn.input")
      setwd(wd)
      
    ## End(Not run)
      

    [Package LIM version 1.1 Index]