Getting started

Installation

VASCA is tested to work with Python 3.10 and 3.11. Typically, you want to create a new Python environment, e.g., with pyenv-virtualenv or mamba:

mamba create -n vasca python=3.11
mamba activate vasca

For standard usage, install VASCA from PyPi:

pip install vasca

Standard usage covers all pipeline functions for data from instruments that are already implemented in VASCA. For more information consult the list of supported instruments.

In order to extend VASCA to incorporate another instrument’s data, install it directly from the Github repository.

pip install -e git+https://github.com/rbuehler/vasca

This will ensure that all resources for testing and the jupyter examples are included in the installation.

Resource management

Management of the input observational data is handled in VASCA via the ResourceManager class. Before first use, users need to edit environment variables that specify the data storage locations in an .env file in VASCA’s root directory.

Tip

The easiest way to set up the resource manager is to duplicate the .env_template and rename it. Then edit your paths to the location of cloud-synced or local directories.

The system is very flexible and can be tailored to your needs. New environment variables specifying storage locations can be added in the resource_envs.yml file. New data items that might be required to support additional instruments can be added in the resource_catalog.yml file.

Running the pipeline and post-processing

To start the pipeline processing go into the vasca directory and start the command line script:

vasca-pipe <path-to-config.yml>

See the user guide for more infos on how to configure the pipeline in the yaml file.

We use Jupyter Lab for post-processing, with functional examples provided in vasca/examples.

Coding guidelines

We use the PEP 8 coding conventions. Before contributing, please consider the use of automatic code formatting tools. We recommend ruff. It is a one-stop-shop that combines all style rules from tools like isort, flake8, and black. All ruff configurations can be found in the pyproject.toml file. We set 88 characters as the default line width. The recommended Python version to use is 3.11. For docstrings, we use the numpy format.

Build the documentation

For documentation, we use Sphinx. To build it locally, run the following command from VASCA’s root directory:

sphinx-build docs docs/_build

To create Unified Modeling Language diagrams, install pyreverse and graphviz, then run:

pyreverse vasca -o png -d ./docs/