Main Content

sumVariables

Compute weighted sum of climate scenario variables

Since R2025a

    Description

    cs = sumVariables(cs,variables,Name=Value) returns the weighted sum of variables in the climateScenario object, cs, and appends the new variable to the property cs.IdentifierValues.Variable. Use the NewVariable name-value argument to specify the name of the new variable.

    example

    Examples

    collapse all

    Compute the weighted sum of climate scenario variables contained in a climateScenario object. 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");

    Specify the variables you want to add.

    variables = ["Capital expenditure", "Direct emissions costs", "Indirect costs"];

    Use sumVariables by specifying the Weights, NewVariable, and NewUnit name-value arguments.

    cs = sumVariables(cs,variables,Weights=[1,2,1],NewVariable="Total costs",NewUnit="10 BN USD");

    To see the new variable, Total costs, display the property cs.IdentifierValues.Variable.

    tail(cs.IdentifierValues.Variable)
         Secondary Energy | Electricity| Nuclear 
         Secondary Energy | Electricity| Oil 
         Secondary Energy | Electricity| Wind&Solar 
         US GDP 
         US inflation Y/Y 
         US policy rate a.r. 
         Unemployment rate 
         Total costs 
    

    Input Arguments

    collapse all

    Climate scenario object, specified as a climateScenario object.

    Variables for summation, specified as a string vector.

    Name-Value Arguments

    collapse all

    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 = sumVariables(cs,["Capital expenditure","Direct emissions costs","Indirect costs"],Weights=[1,2,1],NewVariable="Total costs",NewUnit="10 BN USD",Sector="Oil") returns the weighted sum of capital expenditure, direct emissions costs, and indirect costs for the oil sector, in a new variable, Total costs.

    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.

    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.

    Weights for summation, specified as a numeric vector. The length of Weights must match the length of variables.

    New variable name, specified as a string scalar. If you do not specify the new variable name, NewVariable defaults to combining the elements of variables with plus signs.

    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 = sumVariables(cs,["Capital expenditure","Direct emissions costs","Indirect costs"],Weights=[1,2,1],NewVariable="Total costs",NewUnit="10 BN USD",Sector="Oil") computes the weighted sum of capital expenditure, direct emissions costs, and indirect costs for the oil sector.

    Version History

    Introduced in R2025a