# Example 1
# Inputs as character vector
xs = c('x1','x2','x3')
# Units
xs_units <- c('Mg / ha', 'Mg / ha / hr', 'dimensionless')
# Outputs
ys = c('y1','y2')
out <- module_write('testmod', 'testlib', 'direct',
inputs=xs, input_units= xs_units, outputs=ys)
# Use writeLines to print to console
writeLines(out)
if (FALSE) {
# Use writeLines to save as a `.h` file
writeLines(out, "./testmod.h")
}
# Example 2: A differential module
xs <- c('var_1','var_2')
out <- module_write('testmod', 'testlib', 'differential', xs, xs)
writeLines(out)
# Example 3: A module with pairwise names
# Here we use an outer product to generate pairwise combinations of
# tissues and pool types
tissues <- c('leaf', 'stem', 'root')
pools <- c('carbon', 'nitrogen')
xs <- as.vector(outer(tissues, pools, paste, sep = '_'))
out <- module_write('testmod', 'testlib', 'differential', xs, xs)
writeLines(out)
# Example 4: Circular modules
if (FALSE) {
out <- module_write(inputs = c('x' ,'x'))
# Will compile, but will cause a "circular quantities" error if it is used
# in a BioCro simulation:
out <- module_write('inconsistent', 'examplelib', type='direct',
inputs = 'x', outputs = 'x')
}
Run the code above in your browser using DataLab