<p>The variant_labels are defined in the <a href="https://docs.google.com/document/d/1h0r8RZr_f3-8egBMMh7aqLwy3snpD6_MrDz1q8n5XUk/edit" rel="noreferrer">CMIP6 Data Reference Syntax (DRS)</a> document and are made up of the realization_index, initialization_index, physics_index and forcing_index.</p>
<p>A link to this DRS document can for example be found in the <a href="https://pcmdi.llnl.gov/CMIP6/Guide/modelers.html" rel="noreferrer">CMIP6 Participation Guide for Modelers</a>.</p>
<p>Edit: Following up Deditos' comment, I quote the respective section of the DRS document below:</p>
<blockquote>
<p>For a given experiment, the realization_index, initialization_index,
physics_index, and forcing_index are used to uniquely identify each
simulation of an ensemble of runs contributed by a single model.
These indices are defined as follows:</p>
</blockquote>
<blockquote>
<ul>
<li>realization_index = an integer (≥1) distinguishing among members of an ensemble of simulations that differ only in their initial conditions (e.g., initialized from different points in a control run).  Note that if two different simulations were started from the same initial conditions, the same realization number should be used for both simulations.  For example if a historical run with “natural forcing” only and another historical run that includes anthropogenic forcing were both spawned at the same point in a control run, both should be assigned the same realization.  Also, each so-called RCP (future scenario) simulation should normally be assigned the same realization integer as the historical run from which it was initiated.  This will allow users to easily splice together the appropriate historical and future runs.</li>
<li>initialization_index = an integer (≥1), which should be assigned a value of 1 except to distinguish simulations performed under the same conditions but with different initialization procedures.  In CMIP6 this index should invariably be assigned the value “1” except for some hindcast and forecast experiments called for by the DCPP activity.  The initialization_index can be used either to distinguish between different algorithms used to impose initial conditions on a forecast or to distinguish between different observational datasets used to initialize a forecast.</li>
<li>physics_index = an integer (≥1) identifying the physics version used by the model.  In the usual case of a single physics version of a model, this argument should normally be assigned the value 1, but it is essential that a consistent assignment of physics_index be used across all simulations performed by a particular model.  Use of  “physics_index” is reserved for closely-related model versions (e.g., as in a “perturbed physics” ensemble) or for the same model run with slightly different parameterizations (e.g., of cloud physics).  Model versions that are substantially different from one another should be given a different source_id” (rather than simply assigning a different value of the physics_index).</li>
<li>forcing_index = an integer (≥1) used to distinguish runs conforming to the protocol of a single CMIP6 experiment, but with different variants of forcing applied.  One can, for example, distinguish between two historical simulations, one forced with the CMIP6-recommended forcing data sets and another forced by a different dataset, which might yield information about how forcing uncertainty affects the simulation.</li>
</ul>
</blockquote>
<blockquote>
<p>Each data provider can assign whatever positive integers they like
for the realization_index, intialization_index, physics_index, and
forcing index.  For each source/experiment pair, however, consistency
(in these indices) should be maintained across each parent/child pair
whenever sensible (so that, for example, both the ScenarioMIP child
and its “historical” parent simulation would be assigned the same set
of index values for realization, initialization, and physics); the
integer 1 should normally be chosen for each of these in the case of a
single variant or for the primary variant (if there is one).  This is
only a suggestion, however; there should be no expectation on the part
of users that every model will have a value of 1 assigned to any of
the r, i, p, f indices, and even if a 1 is assigned it does not imply
that it is the primary variant.  Note also that a child spawned by a
control run will not  necessarily have the same “ripf” value as the
control,  since, for example, multiple realizations of an experiment
will  branch from the same control.</p>
<p>Note that none of the “ripf” indices can be omitted.</p>
<p>Example of a variant_label:  if realization_index=2,
initialization_index=1, physics_index=3, and forcing_index=233, then
variant_label = “r2i1p3f233”.</p>
</blockquote>

CC BY-SA 4.0
2022-07-12T09:53:02.627Z
Hi.  This is bordering on a link-only answer, and CMIP has a bit of a history of link rot, so it would be useful to quote all of note 8 from the DRS Google doc here.
Deditos
CC BY-SA 4.0
2022-07-12T09:23:42.743Z
2022-07-12T11:41:52.457Z
2022-07-12T11:41:52.457Z
sol1105
<p>Where do I find the documentation of different <code>VARIANT-ID</code>s for the CMIP6 dataset? A VARIANT-ID is of the format <code>r&lt;k&gt;i&lt;l&gt;p&lt;m&gt;f&lt;n&gt;</code>, where the characters <code>r</code>, <code>i</code>, <code>p</code> and <code>f</code> denote:</p>
<blockquote>
<p>r-realisation<br />
i-initialisation method<br />
p-physics<br />
f-forcing</p>
</blockquote>
<p>I checked the overview paper <a href="https://www.geosci-model-dev.net/9/1937/2016/" rel="noreferrer">Eyring et al. (2016)</a>, but it doesn't mention anything about VARIANT-ID. I have also checked other documents provided at <a href="https://esgf-node.llnl.gov/projects/cmip6/" rel="noreferrer">ESGF</a>, but couldn't find any information.</p>
<p>Does anyone here knows where I can find detailed information about the <code>VARIANT-ID</code> for CMIP6 datasets?</p>

<climate-models><earth-system>
Where can I find detailed description of different VARIANT-IDs in CMIP6 metadata?
RogUE
# Where can I find detailed description of different VARIANT-IDs in CMIP6 metadata?

(Asked by: username_0 on 2022-07-12)

Where do I find the documentation of different `VARIANT-ID`s for the CMIP6 dataset? A VARIANT-ID is of the format `r<k>i<l>p<m>f<n>`, where the characters `r`, `i`, `p` and `f` denote:

> r-realisation  
> i-initialisation method  
> p-physics  
> f-forcing

I checked the overview paper [Eyring et al. (2016)](https://www.geosci-model-dev.net/9/1937/2016/), but it doesn't mention anything about VARIANT-ID. I have also checked other documents provided at [ESGF](https://esgf-node.llnl.gov/projects/cmip6/), but couldn't find any information.

Does anyone here knows where I can find detailed information about the `VARIANT-ID` for CMIP6 datasets?

**Tags:** climate-models, earth-system


---

## 1 answers

### Answer by username_1 on 2022-07-12. Score: 8 | Accepted answer

The variant\_labels are defined in the [CMIP6 Data Reference Syntax (DRS)](https://docs.google.com/document/d/1h0r8RZr_f3-8egBMMh7aqLwy3snpD6_MrDz1q8n5XUk/edit) document and are made up of the realization\_index, initialization\_index, physics\_index and forcing\_index.

A link to this DRS document can for example be found in the [CMIP6 Participation Guide for Modelers](https://pcmdi.llnl.gov/CMIP6/Guide/modelers.html).

Edit: Following up username_2' comment, I quote the respective section of the DRS document below:

> For a given experiment, the realization\_index, initialization\_index,
> physics\_index, and forcing\_index are used to uniquely identify each
> simulation of an ensemble of runs contributed by a single model.
> These indices are defined as follows:

> * realization\_index = an integer (≥1) distinguishing among members of an ensemble of simulations that differ only in their initial conditions (e.g., initialized from different points in a control run). Note that if two different simulations were started from the same initial conditions, the same realization number should be used for both simulations. For example if a historical run with “natural forcing” only and another historical run that includes anthropogenic forcing were both spawned at the same point in a control run, both should be assigned the same realization. Also, each so-called RCP (future scenario) simulation should normally be assigned the same realization integer as the historical run from which it was initiated. This will allow users to easily splice together the appropriate historical and future runs.
> * initialization\_index = an integer (≥1), which should be assigned a value of 1 except to distinguish simulations performed under the same conditions but with different initialization procedures. In CMIP6 this index should invariably be assigned the value “1” except for some hindcast and forecast experiments called for by the DCPP activity. The initialization\_index can be used either to distinguish between different algorithms used to impose initial conditions on a forecast or to distinguish between different observational datasets used to initialize a forecast.
> * physics\_index = an integer (≥1) identifying the physics version used by the model. In the usual case of a single physics version of a model, this argument should normally be assigned the value 1, but it is essential that a consistent assignment of physics\_index be used across all simulations performed by a particular model. Use of “physics\_index” is reserved for closely-related model versions (e.g., as in a “perturbed physics” ensemble) or for the same model run with slightly different parameterizations (e.g., of cloud physics). Model versions that are substantially different from one another should be given a different source\_id” (rather than simply assigning a different value of the physics\_index).
> * forcing\_index = an integer (≥1) used to distinguish runs conforming to the protocol of a single CMIP6 experiment, but with different variants of forcing applied. One can, for example, distinguish between two historical simulations, one forced with the CMIP6-recommended forcing data sets and another forced by a different dataset, which might yield information about how forcing uncertainty affects the simulation.

> Each data provider can assign whatever positive integers they like
> for the realization\_index, intialization\_index, physics\_index, and
> forcing index. For each source/experiment pair, however, consistency
> (in these indices) should be maintained across each parent/child pair
> whenever sensible (so that, for example, both the ScenarioMIP child
> and its “historical” parent simulation would be assigned the same set
> of index values for realization, initialization, and physics); the
> integer 1 should normally be chosen for each of these in the case of a
> single variant or for the primary variant (if there is one). This is
> only a suggestion, however; there should be no expectation on the part
> of users that every model will have a value of 1 assigned to any of
> the r, i, p, f indices, and even if a 1 is assigned it does not imply
> that it is the primary variant. Note also that a child spawned by a
> control run will not necessarily have the same “ripf” value as the
> control, since, for example, multiple realizations of an experiment
> will branch from the same control.
>
> Note that none of the “ripf” indices can be omitted.
>
> Example of a variant\_label: if realization\_index=2,
> initialization\_index=1, physics\_index=3, and forcing\_index=233, then
> variant\_label = “r2i1p3f233”.

> **Comments:**
> **username_2**: Hi.  This is bordering on a link-only answer, and CMIP has a bit of a history of link rot, so it would be useful to quote all of note 8 from the DRS Google doc here.  

---

