Skip to main content
Ctrl+K
Community Inversion Framework - Home Community Inversion Framework - Home

Getting Started

  • Overview
  • Installation
  • CIF in Docker

References

  • Publications
  • Main CIF projects
    • The Global Carbon Project - CH4
      • Downloading and preprocessing EDGAR dataset
      • Grouping GCP emission files by category
      • Generating inputs for LMDZ from GCP standard files
    • CAMS55 - global inversion-optimised greenhouse gas fluxes and concentrations
    • SMART-CH4 - Satellite-based methane quantification
      • Regional inversions of TROPOMI observations with CHIMERE
        • Pre-processing of the inputs
        • Running a forward simulation
        • Running an inverse simulation
        • Basic plots and analyses of the simulations
      • Global inversions of CH4 and isotopic signatures
    • Inversions in the project VERIFY
      • Methane net total emissions in Europe (WP4)
        • Prepare emissions for WP4 protocol
        • Inversions with surface stations
        • Inversions with TROPOMI data
      • Nitrous oxide net total emissions in Europe (WP4)

User Guide

  • Documentation
    • General options
    • Yaml configuration
    • General input and output structures in the CIF
      • Observations
      • Control vectors
      • Observation vectors
      • Other input data
      • Files for checks
    • Pandas and xarray in pyCIF
    • Paths and variables in Yaml
    • Plugins in pyCIF
      • Plugins: what are they?
        • CIF Classes
      • Requirements and dependencies in pyCIF
        • Available plugins
      • Chemistries chemistry
        • CHIMERE/gasJtab CHIMERE/gasJtab
        • ICON-ART/std ICON-ART/std
        • LMDZ/SACS LMDZ/SACS
        • TM5/SINK-TIPP TM5/SINK-TIPP
      • Controlvects controlvect
        • Standard CIF control vector standard/std
      • Datastreams datastream
        • Backgrounds datastream
        • Fields datastream
        • Fluxes datastream
        • Meteos datastream
      • Datavects datavect
        • Standard CIF data vector standard/std
      • Domains domain
        • CHIMERE HCOORD/VCOORD domain CHIMERE/std
        • Dynamico grid dynamico/std
        • FLEXPART/std FLEXPART/std
        • Gridded NetCDF domain gridded_netcdf/std
        • ICON-ART/std ICON-ART/std
        • LMDZ dynamico domain LMDZ/dynamico
        • LMDZ regular lat-lon domain LMDZ/regular
        • LMDz grid LMDZ/std
        • Unstructured grid NetCDF domain gridded_netcdf/unstructured
        • dummy/std dummy/std
        • wrfchem/std wrfchem/std
      • Measurements measurements
        • Concatenation of observations from parsers standard/std
        • Random generation of observations random/param
      • Minimizers minimizer
        • M1QN3/std M1QN3/std
        • congrad/std congrad/std
        • scipy/std scipy/std
        • scipy/conjugate scipy/conjugate
      • Models model
        • CHIMERE/std CHIMERE/std
        • CHIMERE with OpenACC annotations CHIMERE/acc
        • ICOsahedral Nonhydrostatic weather- and climate model with Aerosols and Reactive Trace gases ICON-ART/std
        • LMDZ/std LMDZ/std
        • LMDZ with regular and dynamico grids LMDZ/reg-ico
        • LMDz with OpenACC annotations LMDZ/acc
        • Lagrangian/std Lagrangian/std
        • SatWetCH4 v.1 Juliette Bernard et al., 2024 satwetch4/std
        • TM5/std TM5/std
        • Template for model implementation template/std
        • dummy/std dummy/std
        • wrfchem/std wrfchem/std
      • Modes mode
        • 4DVAR variational inversions 4dvar/std
        • Analytical inversions analytic/std
        • Ensemble Square-Root Filter EnSRF/std
        • Footprints or backward mode footprint/std
        • Forward run forward/std
        • Response functions response-functions/std
        • Test of the adjoint adj-tl_test/std
        • post-proc/std post-proc/std
      • Obsoperators obsoperator
        • FLEXINVERT/std FLEXINVERT/std
        • Main CIF observation operator standard/std
        • Random observation operator for testing random/std
      • Obsparsers obsparser
        • CO2M pseudo_data CO2M/pseudo_data
        • Integrated Carbon Observing System (ICOS) data ICOS/std
        • NOAA-ESRL Observation Package (ObsPack) Data Products obspack/std
        • TROPOMI XCH4 retrievals – Official RPRO product TROPOMI/CH4-RPRO
        • TROPOMI XCH4 retrievals – Official product TROPOMI/CH4-official
        • TROPOMI XCH4 retrievals from SRON TROPOMI/CH4-SRON
        • TROPOMI XCH4 retrievals from the University of Bremen TROPOMI/CH4-WFMD
        • TROPOMI-GOSAT XCH4 retrievals from Balasus TROPOMI/CH4-BLENDED
        • Template plugin for observation parsers template/std
        • VERIFY/std VERIFY/std
        • WDCGG/std WDCGG/std
      • Obsvects obsvect
        • standard/std standard/std
      • Platforms platform
        • Bologna’s ECMWF cluster ECMWF/ecs
        • CSC-Puhti’s FMI cluster FMI/Puhti
        • CSCS - Swiss National Supercomputing Centre EMPA/daint
        • Centre de Calcul Recherche et Technologie (AMD/rome) TGCC-CCRT/AMD
        • Centre de Calcul Recherche et Technologie (skylake) TGCC-CCRT/std
        • Centre de Calcul Recherche et Technologie with NVIDIA environnement TGCC-CCRT/nvidia
        • Docker container for pycif docker/cif
        • Docker container for pycif with nvidia HPC environment docker/nvidia
        • ESPRI Spirit/SpiritX cluster with NVIDIA environment ESPRI/spirit-nvidia
        • IDRIS Jean-Zay cluster JEAN-ZAY/std
        • LAERO’s cluster LAERO/nuwa
        • LSCE’s cluster LSCE/obelix
        • LSCE’s cluster with NVIDIA environnement LSCE/obelix-nvidia
      • Simulators simulator
        • dummy_txt/std dummy_txt/std
        • gausscost/std gausscost/std
        • gausscost/FLEXPART gausscost/FLEXPART
      • Transforms transform
        • Basic transform
        • Complex transform
        • System transform
    • Documentation on the various models supported by the CIF
      • LMDZ-SACS documentation
        • Overview: What is LMDZ-SACS?
        • Use LMDS-SACS with CIF
        • Compilation
        • Input files
        • Output files
      • CHIMERE documentation
        • General information
        • Main departures from the standard distribution
        • Installation
        • Compiling
        • CHIMERE documentation
    • Configuration
      • Yaml configuration
      • File name formats and dates
      • Control vectors
        • Standard pyCIF control vector
      • Measuremens
      • Metos
        • Gaussian Toy Model
      • Minimizers
        • M1QN3
        • CONGRAD
      • Models
        • Gaussian Toy Model
        • CHIMERE
        • LMDZ-Dispersion-SACS
        • FLEXPART
      • Modes
        • Forward simulations
        • Test of the adjoint and of the linear-tangent
        • Variational inversions
        • Footprints
      • Observation operators
        • Standard pyCIF observation operator
      • Observation vectors
        • Standard pyCIF observation vector
      • Simulators
        • Gaussian cost function
  • Tutorials for users
    • Tutorials dedicated to CHIMERE
      • First forward simulation with CHIMERE and ready-made input files
        • 1. Prepare the executable
        • 2. Locate the input files provided directly for CHIMERE
        • 3. Elaborate the yaml for the CIF, using ready-made files
        • 4. Run the system
        • 5. Check what has been done in the workdir:
      • Combining various ready-made inputs for CHIMERE
        • Preprocessing plugins
      • Prepare inputs and run a forward simulation with CHIMERE
        • 1. Preparing inputs from scratch or raw data
        • 2. Elaborate the yaml for the CIF
        • 3. Prepare the executable:
        • 4. Run the system
        • 5. Check what has been done in the workdir:
        • 6. Examples factorisation flux
      • Making a new domain
      • Generating meteo from ECMWF
      • Generating emission files from raw data
      • Generating boundary condition files from raw data
    • Tutorials dedicated to LMDZ
      • First forward simulation with LMDz-SACS
    • How to run a first forward simulation
      • First forward simulation with the toy Gaussian Model
      • First forward simulation with LMDz-SACS
      • First forward simulation with CHIMERE and ready-made input files
        • 1. Prepare the executable
        • 2. Locate the input files provided directly for CHIMERE
        • 3. Elaborate the yaml for the CIF, using ready-made files
        • 4. Run the system
        • 5. Check what has been done in the workdir:
      • Prepare inputs and run a forward simulation with CHIMERE
        • 1. Preparing inputs from scratch or raw data
        • 2. Elaborate the yaml for the CIF
        • 3. Prepare the executable:
        • 4. Run the system
        • 5. Check what has been done in the workdir:
        • 6. Examples factorisation flux
      • Observations
    • How to run a first comparison between a simulation and observations
      • Observation vector (obsvect)
      • Comparison between a forward simulation with surface observations
      • Comparison between a forward simulation and satellite data
    • How to run a first inversion
      • First inversion with the toy-gaussian model
      • First inversion with CHIMERE
    • How to run a simulation with elaborated inputs
      • Combining various ready-made inputs for CHIMERE
        • Preprocessing plugins
      • Prepare inputs and run a forward simulation with CHIMERE
        • 1. Preparing inputs from scratch or raw data
        • 2. Elaborate the yaml for the CIF
        • 3. Prepare the executable:
        • 4. Run the system
        • 5. Check what has been done in the workdir:
        • 6. Examples factorisation flux
    • How to make super-observations
    • How to run TL and adjoint tests
    • How to run further inversions from a first one
      • Extending an inversion
      • Automatic resubmission of jobs
      • Shortening an inversion
    • How to run a forward simulation using the results of an inversion
    • How to run response functions
      • Prepare the YAML configuration file
      • Before running the full simulation
      • Running
    • How to use transformations to control the inputs and/or outputs of a CIF run
      • General principles of using transformations: examples for building the inputs of a CTM and/or elaborating on its outputs
      • Using transformations to build a vector control for an inversion
    • How to post-process the output netcdf files of the CIF
      • Reading and plotting the data in controlvect.nc
      • Reading and plotting the data of obsvect
    • How to add autocompletion for YAML configuration files in your editor
    • How to run a first forward simulation
      • First forward simulation with CHIMERE and ready-made input files
        • 1. Prepare the executable
        • 2. Locate the input files provided directly for CHIMERE
        • 3. Elaborate the yaml for the CIF, using ready-made files
        • 4. Run the system
        • 5. Check what has been done in the workdir:
  • Examples of configuration files
    • Examples for CHIMERE
    • Examples for basics
    • Examples for FLEXPART
    • Examples for tutorials
      • Examples for newmodel
      • Examples for gcp-ch4
    • Examples for TM5
    • Examples for LMDZ
    • Examples for ICONART
    • Examples for dummy

Contributing

  • Contributing to the Community Inversion Framework
    • Code of Conduct
    • Good practices regarding Git and Gitlab
    • Contributing to the code development and reporting/fixing bugs
    • Contributing to the documentation
  • Tutorials for developers
    • How to add, register and initialize a new plugin
    • How to implement a new model
      • Include the model sources to the CIF
      • Create and register the plugin module
      • Create a domain for your model
      • Define the “mapper” of your model
        • 1. Setting an empty mapper
        • 2. Setting the mapper with output concentrations
        • 3. Running the model executable
        • 4. Setting the mapper with input fluxes
      • Generate a monitor file compatible with the CIF
      • Pre-process observations to fit in model realm
      • Preparing inputs
      • Comparing outputs to observations
    • How to add a new type of flux data to be processed by the CIF into a model’s inputs
    • How to add a new type of data for boundary conditions to be processed by the CIF into a model’s inputs
    • How to add a new formula for computing the equivalent of satellite data
    • How to add a new basic transformation
    • Developments around CHIMERE
    • Miscellaneous hints
    • Main principles for using pytest to manage tests of the CIF
    • Modifying a model to use with EnSRF
    • Parallel computing in CIF
  • Repository
  • Show source
  • Suggest edit
  • .rst

Contributing to the Community Inversion Framework

Contributing to the Community Inversion Framework#

The Community Inversion Framework is designed as a cooperative project. Any contribution is very welcome, should it concern developing new functionalities in the system, fixing bugs or improving the documentation.

Please find below instructions for contributing to the code or the documentation.

  • Code of Conduct
    • Our Pledge
    • Our Standards
    • Our Responsibilities
    • Scope
    • Enforcement
    • Attribution
  • Good practices regarding Git and Gitlab
    • Some basics
    • Working on a separate branch
    • Code quality
  • Contributing to the code development and reporting/fixing bugs
    • General coding rules
    • Reporting bugs or cleaning/reviewing the code
    • Implementing new features in the CIF
    • Testing your code
  • Contributing to the documentation
    • Locally compiling the documentation
    • Adding new files in the documentation
    • Checking to-do list in the documentation
    • Automatic construction from codes
    • Proposing tutorials
    • Extra functionalities

previous

Examples for dummy

next

Code of Conduct

By VERIFY project

© Copyright 2026, VERIFY project.