Quick Start#
This page walks you through running your first pyCIF simulation in a few minutes, using the built-in Toy Gaussian model — a lightweight analytical transport model that requires no external data or compiled code.
Tip
The fastest way to get started is with the CIF Docker image, which ships with all dependencies pre-installed. Pull it with:
docker pull pycif/pycif-ubuntu:latest
Then jump straight to Step 3 — Run pyCIF.
Step 1 — Install pyCIF#
If you have not installed pyCIF yet, follow the installation guide. The short version:
pip install --user pycif-*-py3-none-any.whl # from a downloaded wheel
or directly from the repository:
git clone git@gitlab.in2p3.fr:satinv/cif.git
cd cif
pip install --user --editable .
Step 2 — Get the example configuration file#
Download the ready-made YAML configuration for the toy forward simulation:
Alternatively, browse it online: Configuration Forward Long Nomcf.
Open the file and set the two path variables near the top:
rootdir: &rootdir /path/to/cif/sources/ # where pyCIF is installed / cloned
outdir: &outdir /path/to/output/dir/ # where results will be written
Everything else is plug-and-play — no other edits are required for this first run.
Step 3 — Run pyCIF#
python -m pycif path/to/config_fwd_long_noMCF.yml
pyCIF will print progress to the terminal and write a log file
(pycif.logtest) in outdir.
The simulation covers five days (2010-01-01 to 2010-01-05) with a Gaussian plume model, synthetic meteorology and five randomly placed observation stations. It completes in a few seconds on any modern laptop.
Step 4 — Explore the outputs#
Results are written to ${outdir}/fwd_long_noMCF/:
fwd_long_noMCF/
├── config_fwd_long_noMCF.yml ← copy of the config used
├── pycif.logtest ← full run log
├── VERSION ← git commit ID for reproducibility
├── controlvect/ ← control-vector data (correlation matrix, …)
├── datavect/
│ ├── fluxes/CH4/ ← input fluxes
│ └── meteo/ ← synthetic meteorological fields
├── model/
│ └── H_matrix.pickle ← saved observation operator matrix
└── obsoperator/
└── fwd_0000/
├── obsvect/ ← simulated concentrations (monitor.nc)
└── controlvect/ ← netCDF-format control vector snapshot
Open obsoperator/fwd_0000/obsvect/ to find monitor.nc files
containing the simulated concentrations at each station.
Next steps#
More simulations — explore other models and setups in Tutorials for users.
Compare to observations — see How to run a first comparison between a simulation and observations.
Run an inversion — see How to run a first inversion.
Configuration reference — browse the full YAML syntax in Documentation.
Plugin catalogue — find available models, parsers and transforms in Plugins in pyCIF.