Blocks_parallel3_2.py -> it consists of Plant class and Controller class. Plant class is the class of the process modelling, simulation and optimization. data_vis.py -> it consists of simulation plots and tables. dyn_cas3.py -> it consists of the dynamic model in CasADi with Growth and CO2 relationship and ajustment of the coefficients of reaction (1), with all the other parameter functions of Temperature and Salinity (K1, K2, K3, Kw, Henry's constant, and oxygen saturation, and also the feed per minute transformed from the daily dose given by a fish feed supplier). To neglect Growth and CO2 relationship in the optimization, one can simply change the prices for growth to zero in the main_parallel5.py file (line 54 not commented = neglected relationship of Growth & CO2). dyn_cas4.py -> it consists of the same model as dyn_cas3.py, except for the change in input variable from base addition to the biofilter dmbase_B to base-feed ratio (dmbase_B/F), which makes a ratio control possible. load_params.py -> it consists of initialization and definition of parameters. main_parallel5.py -> it consists of definition of simulation parameters, gathering data, hybrid modelling flag (hybrid modelling refers to when reaction (1) coefficients are calculated using data), steady-state simulation to initialize the dynamic simulation, loading of control parameters to include PIDs, FF (feedforward) control, ratio control, RTO layer, NMPC, E-NMPC, data recording, and plotting. pid_design5.py -> it consists of two functions: one to identify the process transfer functions and save them, and another to load the control parameters in case the identification was already done. model_analysis.py -> it consists of simple examples of process simulation given fixed inputs.