Damiano Baldan


1. Introduction

The RAC package (R package for AcquaCulture) is a tool that allows to simulate the rearing cycle of Mediterrean finfish or shellfish aquaculture farms. The growth of the animal is simulated via a bioenergetics balance and both animal size and impacts, related with farming, are calculated based on environmental forcing time series. The RAC package works with European seabass (Dicentrarchus labrax), Gilthead seabream (Sparus aurata), Manila clam (Ruditapes philippinarum) and Mediterranean mussel (Mytilus galloprovincialis) farm/s. Two different sets of equations are available for clam, with different needs in terms of quantity of forcing. The RAC package solves individual based bioenergetics balance but allows to extend results to population scale using a Monte Carlo simulation in which some growth parameters are perturbed to reproduce the dispersion of the population. The bioenergetics balance ordinary differential equation (ODE) is solved by a 4th order Runge-Kutta method. The equations implemented and the parameters used are described in detail in Brigolin et al. 2009 (mussel), Solidoro et al. 2000 (clam), Pastres et al 2001 (clam), Brigolin et al. 2010 (sea bream), Brigolin et al. 2014 (sea bass and sea bream). A data set for each specie is provided to allow the user to run a simulation by modifying the existing dataset, rather than creating its own.

2. Organization of the package

The package works with several linked functions that allows to create a folder on a user defined path, read the inputs located in such folder and load them into R workspace, run the simulation and save textual and graphical outputs. The folder created by the package is structured as follows:

3. List of scripts

The package includes thirty scripts whose titles have the structure: ‘Species_type_action.R’, where:

Species is the animal considered:

The difference between clam and clamF is the type of equations; moreover, clam requires more forcing, while clamF has less needs.

Type is the category of model:

Action is the command of the script, what the script performs:

4. Instructions

The package is organized in order to run the whole code by taping four simple instructions on the R Console. The steps, in the case of bream individual, are summarize below but the same operations stand for all the other models:

  1. The user has to define the userpath, that is the address where the folders will be created and where the script will save the input and the output. Assuming that the user wants to create the folder where to run the package at ‘C/User/Path’ , the prompt would be:

userpath <-‘C/User/Path’

  1. The folders, containing input and output, are created in the path saved in userpath taping:


This function copies the files included in the package data directory and put them in the user defined folder. This has been implemented to let the user modify his forcing without interfering with R package contents.

  1. Forcing are loaded to the workspace by taping:


This function takes the input from the userpath, uploads and interpolates them. In the end the input are saved on the workspace as list, thus with structure as follows:

[[1]] Date of the first forcing
[[2]] First forcing
[[3]] Date of the second forcing
[[4]] Second forcing
….. ………….

The script executes the dataloader and allows the user to change the input values of both forcing and parameters if screen printed values are not satisfactory. The dataloader is executed iteratively to check input values after the modification. If values inserted are satisfactory, then the bioenergetics balance solution and the postprocessors are executed. An interpolation is performed to match temporally unequally spaced forcing values to the integration time step required by the function that solves the ODE.

  1. Outputs of the model :

output<-Bream_ind_main(userpath, forcings)

It runs the equations at the basis of the model, plots results and saves them on the workspace, as lists or plots, and in the folders on the userpath, as .csv files and jpeg files. One output is saved for each day, starting from the specified integration beginning until the specified integration end.

5. Structure of forcing functions

Each specie has different forcing and parameters, depending on what it need for surviving and growing. The input files must remain csv and user should not change the structure of the files. Format dd/mm/yyyy must be used. All .csv files must be formatted using “;” as separator. This makes it possible to open them with excel. When saving those files with excel, the “;” separator must be selected. Forcing function must start before the integration starts, i.e. the first date reported in the file must precede the specified initial date for the beginning of the integration loop. It is important to respect the following units of measure and recommendations:

Only for population:

6. Structure of output

For what concerns Bass and Bream, output are: weight [g], excretions [g d-1 for individuals or kg/d for population], ingestion [g d-1], waste [g/d], temperature limitation function, metabolic rate [J d-1] and, only for population, individuals. The files ‘Weight.csv’, ‘actual_ingestion.csv’ and ‘potential_ingestion.csv’ have only one column with the output of the model. The other two files, ‘excretion.csv’ and ‘waste.csv’, contains three columns, one for lipid, one for proteins and one for carbohydrates. The plot files are ‘excretion.jpg’, ‘ingestion.jpg’, ‘metabolism.jpg’, ‘T_limitation.jpg’, ‘waste.jpg’, ‘individuals.jpg’ and ‘weight.jpg’.

For what concerns mussel, output are: weight [g], length [cm], pseudofaeces [Kg d-1], metabolic rate [J d-1], CNP content in the animal, in the faeces [g d-1] and in the pseudofaeces [g d-1], temperature limitation function, O2 consumption [g d-1] and, only for population, individuals. The file ‘Weight.csv’ contains the output of dry weight, somatic tissue dry weight, gonadic tissue dry weight, total weight and length. The file ‘CNPcontent.csv’ and ‘pseudofaeces.csv’ contain three columns, one for carbon, one for nitrogen and one for phosphorous. The file ‘O2consumption.csv’ have only one column with the output of the model. The plot files are ‘composition.jpg’, ‘dryweight.jpg’, ‘metabolism.jpg’, ‘T_limitation.jpg’, ‘length.jpg’, ‘individuals.jpg’, ‘pseudofaeces.jpg’ and ‘O2consumption.jpg’.

For what concerns clams, output are: weight [g], temperature limitation function, metabolic rate [J d-1], length [mm] and, only for population, individuals. The file ‘Weight.csv’ contains the output of wet weight, total weight and length. The plot files are ‘wetweight.jpg’, ‘metabolism.jpg’, ‘T_limitation.jpg’, ‘individuals.jpg’ and ‘length.jpg’.

For all species, the days needed to reach the commercial size are computed.

7. References

Brigolin D, Dal Maschio G, Rampazzo F, Giani M, Pastres R. (2009) An individual-based population dynamic model for estimating biomass yield and nutrient fluxes through an off-shore mussel (Mytilus galloprovincialis) farm Estuarine, Coastal and Shelf Science 82 (2009) 365-376.

Brigolin D, Pastres R, Tomassetti P, Porrello S (2010) Modelling the biomass yield and the impact of seabream mariculture in the Adriatic and Tyrrhenian Seas (Italy). Aquacult Intern 18:149-163.

Brigolin D, Meccia VL, Venier C, Tomassetti P, Porrello S, Pastres R (2014) Modelling biogeochemical fluxes across a Mediterranean fish cage farm. Aquac Environ Interact 5(1):71-88.

Pastres R, Solidoro C, Cossarini G, Melaku Canu D, Dejak C, (2001). Managing the rearing of Tapes philippinarum in the lagoon of Venice: a decision support system. Ecol. Model. 138, 231-245.

Solidoro C, Pastres R, Melaku Canu D, Pellizzato M, Rossi R (2000) Modelling the growth of Tapes philippinarum in the northern Adriatic lagoons. Mar Ecol Prog Ser 199:137-148.