shockVariables
Description
cs = shockVariables(
        applies a shock to a variable in the cs,referenceScenario,Name=Value)climateScenario
        object, cs, against a reference scenario and appends the new variable
        to the property cs.IndentifierValues.Variable. The function computes the
        shock by taking the difference of a specified variable relative to a reference scenario. For
        example, cs = shockVariables(cs,referenceScenario,Variable="Carbon
          price") shocks the carbon price variable against the reference scenario
        contained in referenceScenario.
.
Examples
Shock the values of a climateScenario object variable, relative to a reference scenario. The climate transition scenario data that this example uses is available from the Bank of Canada and is free of charge at http://www.bankofcanada.ca.
Load the data.
load("BankOfCanadaClimateScenarioData.mat")
data = ClimateTransitionScenarioData;
head(data)    k    CL_GEOGRAPHY    CL_SECTOR              CL_VARIABLE                    CL_UNIT                CL_SCENARIO           CL_YEAR    CL_VALUE
    _    ____________    _________    _______________________________    ___________________    ________________________    _______    ________
    1       Canada       National     Carbon price                       US$2014/tCO2e          Baseline (2019 policies)     2020       12.106 
    2       Canada       National     Carbon price                       US$2014/tCO2e          Below 2°C immediate          2020       12.106 
    3       Canada       National     Emissions | total GHG (scope 1)    Million tonnes CO2e    Baseline (2019 policies)     2020       781.04 
    4       Canada       National     Emissions | total GHG (scope 1)    Million tonnes CO2e    Below 2°C immediate          2020       781.04 
    5       Canada       National     Input price | Coal                 Index (2014 = 1)       Baseline (2019 policies)     2020       1.2875 
    6       Canada       National     Input price | Coal                 Index (2014 = 1)       Below 2°C immediate          2020       1.2875 
    7       Canada       National     Input price | Crops                Index (2014 = 1)       Baseline (2019 policies)     2020       1.0031 
    8       Canada       National     Input price | Crops                Index (2014 = 1)       Below 2°C immediate          2020       1.0031 
Create a climateScenario object.
cs = climateScenario(data, ... RegionVar="CL_GEOGRAPHY", ... VariableVar="CL_VARIABLE", ... ScenarioVar="CL_SCENARIO", ... YearVar="CL_YEAR", ... ValueVar="CL_VALUE", ... CustomIdentifiers="Sector", ... CustomIdentifierVars="CL_SECTOR", ... UnitVar="CL_UNIT");
Use shockVariables to shock the Carbon price variable against a reference scenario, Baseline (2019 policies), by using the Variable name-value argument. 
referenceScenario = "Baseline (2019 policies)"; cs = shockVariables(cs,referenceScenario,Variable="Carbon price");
To display the new variable, first query the output climateScenario object, cs, for the variable Carbon price Shocked Against Baseline (2019 policies) by using the query function. Then display the last few rows.
 shockedCarbonPrices = query(cs,Variable="Carbon price Shocked Against Baseline (2019 policies)");
 tail(shockedCarbonPrices)      CL_GEOGRAPHY       CL_SECTOR                         CL_VARIABLE                             CL_UNIT             CL_SCENARIO         CL_YEAR    CL_VALUE
    _________________    _________    _____________________________________________________    _______________    _____________________    _______    ________
    Rest of the world    National     Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2050        30.65 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2020            0 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2025       23.442 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2030       24.195 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2035        20.19 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2040        19.26 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2045       26.098 
    Global               Global       Carbon price Shocked Against Baseline (2019 policies)    Relative Change    Net-zero 2050 (1.5°C)     2050       39.005 
Input Arguments
Climate scenario object, specified as a climateScenario
            object.
Reference scenario, specified as a string scalar. The function uses the reference
            scenario as a baseline to compute relative differences for a given variable. You select
            the reference scenario by choosing a value from the property
              cs.IdentifierValues.Scenario.
Example: referenceScenario = "Baseline (2019
            policies)"
Name-Value Arguments
Specify optional pairs of arguments as
      Name1=Value1,...,NameN=ValueN, where Name is
      the argument name and Value is the corresponding value.
      Name-value arguments must appear after other arguments, but the order of the
      pairs does not matter.
    
Example: cs = shockVariables(cs,referenceScenario,Variable="Carbon
          price") shocks the carbon price against the reference scenario contained in
          referenceScenario.
Region identifier values, specified as a string vector. By default, all the
              regions are returned if you do not specify a string vector for
                Region.
Variable identifier values, specified as a string vector. By default, all the
              variables are returned if you do not specify a string vector for
                Variable.
Scenario identifier values, specified as a string vector. By default, all the
              scenarios are returned if you do not specify a string vector for
                Scenario.
Year identifier values, specified as a numeric vector. By default, all the years
              are returned if you do not specify a numeric vector for
              Year.
Names of custom identifiers, specified as a string vector containing values of
                cs.CustomerIndentifiers. CustomIdentifers must
              match an identifier property contained in cs.CustomIdentifiers. For
              example, if "Sector" is a custom identifier for the property
                cs.CustomIdentifier, then cs =
                shockVariables(cs,"Baseline (2019 policies)",Region="Canada",Variable="Capital
                expenditure",Sector="Coal") shocks capital expenditure in Canada for the
              coal sector against a reference scenario, Baseline (2019 policies).
Version History
Introduced in R2025a
See Also
climateScenario | plot | query | groupRegions | sumVariables | divideVariables
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)