Menu

Meter Modules not Calculating Monthly Cost Correctly

Ali Khan
2023-02-14
2023-03-08
  • Ali Khan

    Ali Khan - 2023-02-14

    Hello Gridlab-D Team,

    Hope your day is going great today.

    I am updating prices inside meter modules of gridlab-d through Helics. This price is updated on every iteration. The meter module is supposed to calculate the monthly_bill taking into account the correct price variation and then calculating in somewhat I would call a 'running sum'.

    The meter module however, calculates a spot sum. It multiplies all the value of energy flowing by the current price.

    See attached image for how it looks like.

    Here is my meter module code:

    object meter                                                    // BESS L1 - 1 kWh
    {
        name                                                        Mtr_Batt_JohnsonHall;
        bill_mode                                                   UNIFORM;
        nominal_voltage                                             277;
        phases                                                      ABCN;
        price                                                       0;
        parent                                                      JohnsonHall_SEC;
        object recorder  
        { 
            property                              measured_real_power, measured_real_energy, price, monthly_bill;
            interval                              300; 
            file                                  Batt-JohnsonHall.csv; 
        };
    }
    

    I am referencing this definition of the UNIFORM billing mode:

    1 - UNIFORM - A static price is used through variable price, however, this may change over time using a player or schedule.
    
     

    Last edit: Ali Khan 2023-02-14
  • Ali Khan

    Ali Khan - 2023-03-07

    Good Morning Gridlab-D Team,

    Any hope with this?

    Thanks,
    Ali

     
  • Andy Fisher

    Andy Fisher - 2023-03-08

    Hello Ali,

    I can see your confusion on UNIFORM bill mode. The description on that mode is misleading. While the price can fluctuate via a schedule or player it supposed to represent the the mean price in a uniform distribution over the month and not a spot calculation. To get the desired behavior you want you can use the TIERED_TOU mode. Your HELICS configuration should send your prices to the first_tier_price property. An example meter should look like

    object meter                                                    // BESS L1 - 1 kWh
    {
        name                                                        Mtr_Batt_JohnsonHall;
        bill_mode                                                   TIERED_TOU;
        nominal_voltage                                             277;
        phases                                                      ABCN;
        first_tier_price                                            0.0;
        first_tier_energy                                           0.0;
        parent                                                      JohnsonHall_SEC;
        object recorder  
        { 
            property                              measured_real_power, measured_real_energy, price, monthly_bill;
            interval                              300; 
            file                                  Batt-JohnsonHall.csv; 
        };
    }
    
     
  • Andy Fisher

    Andy Fisher - 2023-03-08

    Please also note that for a given timestep the bill is calculated using the previous timestep's price properties.

     

Log in to post a comment.