 In module 3 of this course we are going to use PCRuster for map algebra in Python, but what is PCRuster? Well PCRuster is an environmental modeling language. It has its own language PC or CALC, but it's also implemented in Python and that's what we are going to use. PCRuster comes with all the building blocks to create your own spatial temporal environmental models. That's what we are going to do in the next module. In this module we are going to use it just for map algebra and spatial analysis. PCRuster has been developed by Utrecht University and is open source. This is the PCRuster website where you can download PCRuster and find installation instructions. For this course we have a separate video where we explain how to install PCRuster in Anaconda. It is important to have a look at the documentation. Here you find the documentation of the current release and you can read a lot about how the PCRuster environmental modeling language works, but most important for us now are the operations. The operations are the building blocks that scientists can use to build their own models or to do their map algebra analysis. It comes with around 100 of these operations that we can combine in scripts and each of these operations comes with an explanation, so they are well documented. For example, map maximum. Map maximum is a function to calculate the maximum cell value. The syntax is result equals map maximum, that's the name of the operation, and then expression and we see that the expression is spatial, so it's a map in the data type ordinal or scalar, you will learn more about that in the tutorial and the result is a non-spatial type of expression. It determines the maximum cell value and all these operations have also examples in the original PCR calc language, but also in Python what we are going to use. So if we want to use this operation in Python, we read here a map from disk and then we write result equals and then the function map maximum and then the map and here the expression map are these different values and map maximum will report the highest one, which is 8, so each cell here gets value 8, so that's what map maximum does. So we have all these different operations that we can use. Besides these operations, PCRuster also comes with a set of applications. Most of them are now replaced by GDAL, but some of them we will use in the tutorial, like call to map to convert a table with coordinates to the PCRuster map format, which is by the way a GDAL supported format that we can use and we can easily convert for example between GeoTIF and PCRuster format and vice versa. Resample is also very useful because for map algebra the rasters need to be in the same dimensions, same pixel size, same area, and with resample we can resample the rasters to the same example, which we call the clone map. You can see the different types of operations listed in categories, point operators for each pixel, neighborhood operators that is for certain neighborhood area, that is within a class, so these are zonal operations, map, these are global operations, and the next module we will look at time operations and we also look at data management. There's an additional tool for visualizing PCRuster data and that is Aguila, and we will use in the Jupyter notebook not Aguila, but if you use it standalone we will use Aguila and here you can see what it does, it can visualize your map and it can visualize time series in animations, you can visualize probability, cumulative probability, and time series of the pixel that you have selected. So let's get started with the Jupyter notebook to explore PCRuster. You can run the Jupyter notebook with the map algebra tutorial completely online, it's important to first get familiar with PCRuster and then later we will install it locally.