Available with Spatial Analyst license.

Available with Image Analyst license.

## Summary

Finds the remainder (modulo) of the first raster when divided by the second raster on a cell-by-cell basis.

## Illustration

## Usage

The order of inputs is relevant for this tool.

Mod assumes both its inputs are integers. If any inputs are not integer, those inputs will be converted to integers through truncation. Output values are always integers.

Any value modulated (divided) by 0 is assigned NoData on the output. Therefore, any location on the second input that is either 0 or NoData will return NoData for that location on the output.

If the second input value (the divisor) is larger than the first input value (the dividend), the output will be the same value as the first input. For example, if you were to divide a value of 8 by value 10, the integer division calculation will return the input value 8 for the remainder.

If both inputs are single band rasters, or one of the inputs is a constant, the output will be a single band raster.

If both inputs are multiband rasters, or one of the inputs is a constant, the output will be a multiband raster. The number of bands in each multiband input must be the same.

The tool will perform the operation on each band from one input against the corresponding band from the other input. If one of the inputs is a multiband raster and the other input is a constant, the tool will perform the operation against the constant value for each band in the multiband input.

In Map Algebra, the equivalent operator symbol for this tool is "%" (link).

See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

## Syntax

Mod(in_raster_or_constant1, in_raster_or_constant2)

Parameter | Explanation | Data Type |

in_raster_or_constant1 | The numerator input. A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment. | Raster Layer; Constant |

in_raster_or_constant2 | The denominator input. A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment. | Raster Layer; Constant |

#### Return Value

Name | Explanation | Data Type |

out_raster | The output raster. The cell values are the remainder of the division of the values in the first input by the second input. | Raster |

## Code sample

This example returns the value of the remainder (modulus) of dividing the cells in the first raster by the second.

```
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMod = Mod("degs", "negs")
outMod.save("C:/sapyexamples/output/outmod.tif")
```

This example returns the value of the remainder (modulus) of dividing the cells in the first raster by the second.

```
# Name: Mod_Ex_02.py
# Description: Finds the remainder of the first raster when divided by
# the second raster on a cell-by-cell basis
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster1 = "degs"
inRaster2 = "negs"
# Execute Mod
outMod = Mod(inRaster1, inRaster2)
# Save the output
outMod.save("C:/sapyexamples/output/outmod")
```

## Environments

## Licensing information

- Basic: Requires Spatial Analyst or Image Analyst
- Standard: Requires Spatial Analyst or Image Analyst
- Advanced: Requires Spatial Analyst or Image Analyst