################################################################## First inversion with CHIMERE ################################################################## Here we run an inversion with :doc:`CHIMERE`, starting from a YAML designed for a forward simulation. Only the changes and additions relative to the forward YAML are described here. .. warning:: It is strongly recommended to run a forward simulation and perform thorough checks on it before running an inversion. Prepare the executable ----------------------- If you are not using automatic compilation by the CIF, compile the tangent-linear and/or adjoint code (depending on the inversion type) with: .. code-block:: bash ./compile_chimere -m L ./compile_chimere -m A See :doc:`here ` for more details. ⟹ check that you obtain executables in sub-directories :bash:`src_tl` and :bash:`src_ad` named respectively :bash:`tlchimere.e` (about 2.7M in size) and :bash:`achimere.e` (about 2.9M in size). Section for pyCIF parameters ----------------------------- Specify a :bash:`WORKDIR` for the inversion with sufficient disk space. Most inversions require multiple iterations and therefore need more space than the equivalent forward simulation. .. include:: ../common/mode.rst .. include:: ../common/unchanged.rst Data vector (:bash:`datavect`) ------------------------------ Components which are not inverted .................................. The observation component and the CHIMERE input components that are not being inverted are unchanged from the forward simulation. Components to be inverted .......................... For each component to be inverted, the parameters must be specified and at least the horizontal control resolution must be defined. Any component that does not comply will not be inverted. For example, to invert S1 emissions, from the forward yaml: .. code-block:: yaml datavect: plugin: name: standard version: std components: meteo: dir: directory_containing_METEO.YYYYMMDDHH.*.nc_files file: METEO.%Y%m%d%H.X.nc plugin: name: CHIMERE version: std type: meteo file_freq: XH flux: dir: directory_containing_AEMISSIONS.YYYYMMDDHH.*.nc_files file: AEMISSIONS.%Y%m%d%H.X.nc plugin: name: CHIMERE version: AEMISSIONS type: flux file_freq: XH specify at least: .. code-block:: yaml datavect: plugin: name: standard version: std components: meteo: dir: directory_containing_METEO.YYYYMMDDHH.*.nc_files file: METEO.%Y%m%d%H.X.nc plugin: name: CHIMERE version: std type: meteo file_freq: XH flux: dir: directory_containing_AEMISSIONS.YYYYMMDDHH.*.nc_files file: AEMISSIONS.%Y%m%d%H.X.nc plugin: name: CHIMERE version: AEMISSIONS type: flux file_freq: XH parameters: S1: dir: directory_containing_AEMISSIONS.YYYYMMDDHH.*.nc_files file: AEMISSIONS.%Y%m%d%H.X.nc plugin: name: CHIMERE version: AEMISSIONS type: flux hresol: hpixels err: 0.1 S1 emissions will be inverted at pixel resolution, with variances set to 10% of the prior flux value per pixel and no spatial or temporal correlations. Many options are available for controlling the resolution (horizontal, vertical, temporal), the error correlations (in space and time), and the error specification. See :doc:`the control vector arguments in the data vector documentation` for full descriptions and examples. .. include:: ../common/run.rst .. include :: ../common/results.rst