Available with Image Analyst license.
Available with Spatial Analyst license.
Summary
Creates a raster object that contains the anomaly pixel values of the input multidimensional raster based on a time-dimension interval and the anomaly calculation method.
Discussion
Use the Anomaly function to calculate pixel value anomalies for temporal variables in a multidimensional raster object. For example, if you have daily precipitation data, you can find the pixels that are highly different from the monthly average precipitation values throughout your dataset.
The three mathematical methods for calculating anomaly values with this function are as follows:
- Difference from mean = x - µ
- x = pixel value in a slice
- µ = mean of that pixel's values over a given time interval
- Percent difference from mean = |x - µ| /[(x + µ)/2]
- x = pixel value in a slice
- µ = mean of that pixel's values over a given time interval
- |x - µ| = absolute value of the difference between the value and the mean
- Percent of average = x / µ
- x = pixel value in a slice
- µ = mean of that pixel's values over a given time interval
The referenced raster dataset for the raster object is temporary. To make it permanent, you can call the raster object's save method.
Syntax
Anomaly (in_raster, {dimension_name}, {anomaly_type}, {temporal_interval}, {ignore_nodata})
Parameter | Explanation | Data Type |
in_raster | The input multidimensional raster. | Raster |
dimension_name | The dimension name which the anomaly definition will be performed along. (The default value is StdTime) | String |
anomaly_type | Specifies the method used to calculate the anomaly.
(The default value is DIFFERENCE_FROM_MEAN) | String |
temporal_interval | Specifies the temporal interval to use to calculate the average.
(The default value is None) | String |
ignore_nodata | Specifies whether NoData values are ignored in the analysis.
(The default value is True) | Boolean |
Data Type | Explanation |
Raster | The output anomaly multidimensional raster. |
Code sample
Calculate precipitation anomalies across all slices and for monthly values.
import arcpy
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
in_raster = Raster("C:/sapyexamples/data/ClimateData_Daily.nc", True)
# Choose the precipitation variable
prcp_raster = Subset(in_raster, variables = 'prcp')
# Calculate percent of mean anomalies,
# where the mean_value is the mean of all slices
prcp_anomaly = Anomaly(prcp_raster, anomaly_type = 'PERCENT_OF_MEAN')
# Calculate the difference from mean,
# where the mean_value is the mean of each year
prcp_monthly_anomaly = Anomaly(prcp_raster, temporal_interval = 'YEARLY')