anchor.diff:  docker containers. If you have docker installed on your system it is
   probably easiest to use the containers as described below.
   
  -### Building the run environment using Docker
  +### Building the Run Environment Using Docker
   
   Docker configuration is the preferred way to deploy the application.
   The process of building the docker images and container are outlined below:
  
positive.code: 
      $ docker build -t siraimg . --build-arg CACHE_DATE="$(date)"
  
  #### Run Option #1: Run a simulation and destroy the container when done
  
  The following command simulataneously does the following:
  bind mounts a volume in docker, creates a container in interactive mode, 
  runs a simulation, then destroys the container after simulation ends.
  
      $ docker run -it --rm -v /abs/local/path/<scenario_dir>:/<scenario_dir> \
          siraimg:latest \
          python sira -d <scenario_dir> -sfl --aws
  
  #### Run Option #2: Build a container for reuse / experimentation
  
  First, build a docker container from the prebuilt image.
  
      $ docker create --name=sira_x -it siraimg:latest
  
  Then start and attach the container:
  
      $ docker start sira_x
      $ docker attach sira_x
  
  It is possible to combine the above steps in one:
  
      $ docker start -a -i sira_x
  
  Run the sira code for the scenario in the specified directory:
  
      $ python sira -d /path/to/scenario_dir -sfl
  
  From outside of docker, on a terminal, use the following command to
  copy the project folder from container to host:
  
      $ docker cp $(docker ps -alq):/from/path/in/container /to/path/in/host/
  
  ### Running the code
  
  To set up a scenario or impact simulation project, SIRA expects the following
  directory structure:
  
  ```
      scenario_dir/
      └── model_foo
          ├── input
          │   ├── config.json
          │   ├── model.json
          │   └── ...
          └── output
              └── ...
  ```
  
  The required structure is as follows:
  
      - 'scenario directory' - it can be named anything
      - within the scenario directory, there must exist a uniquely named
  
negative.code:     - the outputs are saved in the 'output' dir. If it does not exist, the code
        will create it at the beginning of the simulation.
  
  
  ## Running the Application
  
  The application can be run in a number of modes. The relevant options are:
  
    -d <path_to_input_dir>, --input_directory <path_to_input_dir>
    -s, --simulation
    -f, --fit
    -l, --loss_analysis
  
  The following code snippets assume that it is being run from the root 
  directory of the SIRA code, and the model of interest is in the location 
  `sira/scenario_dir/ci_model_x`.
  
  The following code runs the simulation and the post processing simultanrously:
  
      $ python sira -d scenario_dir/ci_model_x -sfl
  
  To run only the monte carlo simulation without post-processing:
  
      $ python sira -d scenario_dir/ci_model_x -s
  
  To run for both the model fitting and the loss analysis code:
  
      $ python sira -d scenario_dir/ci_model_x -fl
  
  Note that the fitting and loss analysis steps require the initial simulation
  to have been run first so that it has the initial output data to perform the
  analysis on.
  
  ### Run Option #1: Run a simulation and destroy the container when done
  
  The following command simulataneously does the following:
  bind mounts a volume in docker, creates a container in interactive mode, 
  runs a simulation, then destroys the container after simulation ends.
  
      $ docker run -it --rm -v /abs/local/path/<scenario_dir>:/<scenario_dir> \
          siraimg:latest \
          python sira -d <scenario_dir> -sfl --aws
  
  ### Run Option #2: Build a container for reuse / experimentation
  
  First, build a docker container from the prebuilt image.
  
      $ docker create --name=sira_x -it siraimg:latest
  
  Then start and attach the container:
  
      $ docker start sira_x
      $ docker attach sira_x
  
  It is possible to combine the above steps in one:
  
      $ docker start -a -i sira_x
  
  Run the sira code for the scenario in the specified directory:
  
      $ python sira -d /path/to/scenario_dir -sfl
  
  From outside of docker, on a terminal, use the following command to
  copy the project folder from container to host:
  
      $ docker cp $(docker ps -alq):/from/path/in/container /to/path/in/host/
  
  
  ## Testing
  
  To run tests use `unittest`. Move into sira directory:
  
      $ cd sira
      $ python -m unittest discover tests
  
  Alternately, you can just run `pytest` from the top of the sira directory:
  
      $ pytest
  
  If you are using docker as described above, you can do this within the sira
  container.
  