# sfxCalculusExt

Allows you to perform calculus on numerical and boolean history grids in SkySpark.
sfxCalculusExt

Registered StackHub users may elect to receive email notifications whenever a new package version is released.

There are 8 watchers.

v1.7.1

## Overview

Welcome to SkySpark's Calculus Extension! As of today, there are 5 calculus functions and 5 support functions in this package.

## sfxFindIntervals(hisGrid)

Find Intervals

• Return the ts, interval of a hisGrid
• Side Effects: Lose first ts of hisGrid
• Input: ts, val grid
• Output: Transmuted history grid of ts, interval
• `readAll(temp and discharge).hisRead(yesterday).sfxHisFindIntervals()`

Cumulative Integral/Area under the Curve from Rectangle Method Approximation

• Supports a true History Grid with multiple V columns
• Should be exact for COV Points
• Side Effect: Data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers and/or booleans
• Output: Transmuted history grid of ts, V*n columns
• `readAll(temp and discharge).hisRead(yesterday).sfxHisAddRectIntegral()`

Cumulative Integral/Area under the Curve from Trapezoid Method Approximation

• Supports a true History Grid with multiple V columns
• Should be exact for Linear Points
• Side Effect: Data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers and/or booleans
• Output: Transmuted history grid of ts, V*n columns
• `readAll(temp and discharge).hisRead(yesterday).sfxHisAddTrapIntegral()`

## sfxHisDelta(hisGrid)

Rolling Delta

• Supports a true History Grid with multiple V columns
• Side Effect: Data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers
• Output: Transmuted history grid of ts, V*n columns
• Example: Get change between samples
• `readAll(temp and discharge).hisRead(yesterday).sfxHisDelta()`

## sfxHisDerivative(hisGrid)

Derivative

• Supports a true History Grid with multiple V columns
• Slope going to ts data-point is used as derivative of ts data-point
• Side Effects: Lose first ts of hisGrid; data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers and/or booleans
• Output: Transmuted history grid of ts, V*n columns
• `readAll(temp and discharge).hisRead(yesterday).sfxHisDerivative()`

## sfxHisRectIntegral(hisGrid)

Integral from Rectangle Method Approximation

• Supports a true History Grid with multiple V columns
• Should be exact for COV Points
• Side Effects: Lose first ts of hisGrid; data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers and/or booleans
• Output: Transmuted history grid of ts, V*n columns
• `readAll(temp and discharge).hisRead(yesterday).sfxHisRectIntegral()`

## sfxHisSum(hisGrid)

Rolling Sum

• Supports a true History Grid with multiple V columns
• Side Effect: Data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers
• Output: Transmuted history grid of ts, V*n columns
• Example: Turn energy differentials to totalized values
• `readAll(temp and discharge).hisRead(yesterday).sfxHisSum()`

## sfxHisTrapIntegral(hisGrid)

Integral from Trapezoid Method Approximation

• Supports a true History Grid with multiple V columns
• Should be exact for linear Points
• Side Effects: Lose first ts of hisGrid; data interpolated
• Input: ts, val*n grid where val*n can be multiple V columns with numbers and/or booleans
• Output: Transmuted history grid of ts, V*n columns
• `readAll(temp and discharge).hisRead(yesterday).sfxHisTrapIntegral()`

## sfxPreUnitFixer(value)

Function used to convert booleans and fix null units

• Fixes input units
• Inputs: Number or boolean
• Output: Number with units

## sfxPostUnitFixer(value)

Function used to fix time units in calculus functions.

• Fixes resultant units
• Inputs: Number with units
• Output: Number with clean units

## sfxHisZScore(hisGrid)

Get each ZScore of each cell of a hisGrid

• Supports a true History Grid with multiple V columns
• Side Effects: None
• Input: ts, v0 grid
• Output: Transmuted history grid of ts, v0 columns
• `read(zone and air and temp and sensor).hisRead(pastMonth).sfxHisZScore`
• `readAll(power).hisRead(pastMonth).sfxHisZScore`