#+BEGIN_HTML
<img width="200px" align="right" position="absolute" style="position: absolute; top: 0; right: 0; border: 0;" src="https://raw.githubusercontent.com/hollorol/RBBGCMuso/master/images/logo.jpg" alt="Fork me on GitHub">
#+END_HTML

* The RBBGCMuso Package
#+AUTHOR: Roland HOLLÓS, Dóra HIDY, Zoltán BARCZA
RBBGCMuso is an R package which supports the easy but powerful application of the [[http://agromo.agrar.mta.hu/bbgc/][Biome-BGCMuSo]] biogeochemical model in R environment. It also provides some additional tools for the model such as Biome-BGCMuSo optimized Monte-Carlo simulation and global sensitivity analysis. If you would like to use the framework, please read the following description.

** Installation
You can install the RBBGCMuso package in several ways depending on the operating system you use. Up to now RBBGCMuso was tested only in Linux and MS Windows environment, so Mac OS X compatibility cannot be guaranteed yet. In MS Windows you can install the package from binary or from source installer. In Linux you can only install the software from source.  

*** Installation in Linux and MS Windows from Source (proposed method)
*Note that in MS Windows first you have to install the [[https://cran.r-project.org/bin/windows/Rtools/][Rtools]] Windows software.* 
If you would like to install the RBBGCMuso package from Source, you have two options. 
a) Clone this repository, then build and run the package (further information is available here: [[http://kbroman.org/pkg_primer/pages/build.html][package build and install]])
OR
b) Install the devtools package first:
#+BEGIN_SRC R :eval no
install.packages("devtools")
#+END_SRC

Then copy the following line into the R session and execute it:
#+BEGIN_SRC R :eval no
devtools::install_github("hollorol/RBBGCMuso/RBBGCMuso")
#+END_SRC

In Debian (version 8+) you can automate the whole installation process with curl via copying the following line into the Linux terminal:
#+BEGIN_SRC bash :eval no
bash <(curl -s https://raw.githubusercontent.com/hollorol/RBBGCMuso/Documentation/debianInstaller.sh)
#+END_SRC

*** Installation in MS Windows
You can also install the latest RBBGCMuso by copying the following line into the R console (using R or RStudio):
#+BEGIN_SRC R :eval no
source("https://raw.githubusercontent.com/hollorol/RBBGCMuso/master/installWin.R")
#+END_SRC

** Quick usage
*** Preparation

To start using RBBGCMuso you have to load the package in R with the following command:
#+BEGIN_SRC R :eval no
library(RBBGCMuso)
#+END_SRC

In order to use the RBBGCMuso framework, you have to set up the environment, as you would normally do if you use the model without the RBBGCMuso framework. It means that according to the Biome-BGCMuSo terminology you have to have the proper INI file set, the meteorology input file, and the ecophysiological constants file (EPC) as minimum input. Additional files might be included by the user including nitrogen deposition, management handlers, etc. Please read the corresponding documentation in the [[http://agromo.agrar.mta.hu/bbgc/files/Manual_BBGC_MuSo_v5.pdf][actual Biome-BGCMuSo User's Guide]].

If you do not yet have a complete, operational model input dataset, you may want to use the so-called copyMusoExampleTo function (part of RBBGCMuso) which downloads a complete sample simulation set to your hard drive:

#+BEGIN_SRC R :eval no
copyMusoExampleTo()
#+END_SRC 

Once this command is executed in R it will invoke a small Graphical User Interface (GUI) where you can select the target site for the sample simulation. At present only "hhs" site is available, which is the abbreviation of the Hegyhátsál eddy covariance station in Hungary. After selecting the site (hhs in this example) the GUI will ask the user to specify a directory (=folder) where the dataset will be stored. In this example we suppose that the user works under MS Windows, and he/she created a directory called C:\model as target directory. It means that after selection of the site the user will select the C:\model directory. 
Once the copyMusoExampleTo command is finished, the model input dataset and the model executable (called muso.exe and cygwin1.dll) are available in the C:\model folder. The user might check the content of the files using his/her favourite text editor (we propose Editpad Lite as it can handle both Windows and Linux text files). Note that file extension might be hidden by Windows which could cause problems, so we propose to adjust Windows so that file extensions are visible. Visit [[https://www.thewindowsclub.com/show-file-extensions-in-windows][this website]] to learn how to show file extensions in Windows. 

In this example the C:\model directory will contain the following files:
- muso.exe - this is the Biome-BGCMuSo 5.0 model (version might change in the future)
- cygwin1.dll - a so-called DLL file that supports the model execution
- c3grass.epc - ecophysiological constants input file for the model (C3 grass in this case)
- maize.epc - another ecophysiological constants input file (C4 maize in this case)
- n.ini - initialization file for the model, normal mode (INI file controls the entire simulation)
- normal_gyep.ini - another initialization file for the model, for the C3 grass simulation
- s.ini - initialization file for the model spinup (also known as self-initialization or equilibrium run)
- parameters.csv - a simple text file to support sensitivity analysis and parameter sweel (see below)
- hhs_1961-2014.mtc43 - meteorology input file; this file is used for spinup simulation
- hhs_2013-2016.mtc43 - meteorology input file for the normal simulation
- CO2_from1961.txt - CO_{2} file for the normal simulation

*** Running the model

Now as we have a complete set of input data, we are ready to run the model. You can run the model in spinup model, in normal mode, or in both phases (including the so-called transient run; see the Biome-BGCMuSo User's Guide). Using the runMuso functcion (that is part of RBBGCMuso) you will be able to execute the the model in both spinup or normal phase, and you can also simplify the execution of both phases consecutively. Note that runMuso is the same as the obsolete calibMuso function. 

In order to execute the simulation, first you have to set the working directory in R so that RBBGCMuso will find the model and the input files:

#+BEGIN_SRC R :eval no
setwd("c:/model")
#+END_SRC 

(Note the "/" symbol which is different from the "\\" that is typically used in Windows!)

In order to run the model as it is provided simply use the following command in R or RStudio:

#+BEGIN_SRC R :eval no
runMuso(skipSpinup = FALSE)
#+END_SRC

Note that by default runMuso skips the spinup simulation (in order to speed up the model execution), but in our case we do not yet have the result of the spinup run (the so-called endpoint file), so spinup simulation is obligatory. This is performed with the skipSpinup=FALSE parameter. 

If the simulation is successful, the results can be found in the C:\model directory. Two files were created with .log extension that contain some information about the spinup and the normal phase. The hhs.endpoint file is the result of the spinup (and optional transient) run, and can be considered as initial conditions for the normal run.( Here we have to note that now runMuso can be called without the skipSpinup parameter which means that the simulation will be restricted to the normal phase only.) The results of the simulation (carbon fluxes, state variables, whatever was set by the user in the DAILY_OUTPUT block of the normal INI file) are available in the file hegyhatsal.dayout. Note that annual output was not requested in this case. 

*** Visualization of the model output


*** Perform Quick experiments


*** Study the effect of ecophysiological parameters using parameterSweep


*** Sensitivity analysis

*** Contact

E-mail: hollorol@gmail.com

** Acknowledgements

The research was funded by the Széchenyi 2020 programme, the European Regional Development Fund and the Hungarian Government (GINOP-2.3.2-15-2016-00028). 
