Read                   package:LIM                   R Documentation

_R_e_a_d_s _a_n _i_n_v_e_r_s_e _i_n_p_u_t _f_i_l_e

_D_e_s_c_r_i_p_t_i_o_n:

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

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

   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. 

_D_e_t_a_i_l_s:

     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'.

_V_a_l_u_e:

     a list containing : 

   file : name of the 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' values if reaction or flow is
          unidirectional (and the unknown x is thus positive), 'FALSE'
          if it is two-way reaction or flow, and x can be positive or
          negative. 

 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). 

_A_u_t_h_o_r(_s):

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

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

       # 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)

