# Where each cell of a regular image came from

A year of one tile, period by period: the images in sits' order, their masked cells, the fill image by image, and the image each cell of the regular image came from.

[From step 4 of Building data cubes from image collections](/regular-cubes.md).

In the sits book: [Building regular data cubes](https://e-sensing.github.io/sitsbook/dc_regularize.html).

Choose any of the periods of the year and step through its images, their masks, the fill and the source of each cell; hover or tap a cell to see its image.

## The figure

The images of one tile over a year, regularized by the pipeline with the book's call, one period at a time; the pictures of each period are fetched when it is chosen.

The figure: a stepper over the periods of the year and, for the period chosen, its parts one at a time: its images in sits' order, on the grid with their masked cells, the fill image by image, and where each cell of the regular image came from.

**The year.** The 176 images of 20LLP in 2018, an extension of the book's example, in 23 periods; 52 images give cells to the regular cube.

| Period                    | Images | With data in the region | Images that give cells | The first gives | Cells that stay empty |
| ------------------------- | ------ | ----------------------- | ---------------------- | --------------- | --------------------- |
| 6 Jan to 21 Jan 2018      | 5      | 3                       | 2                      | 0%              | 39%                   |
| 22 Jan to 6 Feb 2018      | 3      | 1                       | 0                      | 0%              | 100%                  |
| 7 Feb to 22 Feb 2018      | 9      | 4                       | 3                      | 43%             | 54%                   |
| 23 Feb to 10 Mar 2018     | 6      | 4                       | 2                      | 96%             | 1%                    |
| 11 Mar to 26 Mar 2018     | 6      | 4                       | 3                      | 83%             | 17%                   |
| 27 Mar to 11 Apr 2018     | 7      | 3                       | 3                      | 91%             | 5%                    |
| 12 Apr to 27 Apr 2018     | 4      | 2                       | 2                      | 0%              | 10%                   |
| 28 Apr to 13 May 2018     | 5      | 3                       | 3                      | 79%             | 8%                    |
| 14 May to 29 May 2018     | 7      | 4                       | 3                      | 0%              | 19%                   |
| 30 May to 14 Jun 2018     | 9      | 5                       | 5                      | 0%              | 60%                   |
| 15 Jun to 30 Jun 2018     | 13     | 5                       | 1                      | 0%              | 0%                    |
| 1 Jul to 16 Jul 2018      | 9      | 4                       | 2                      | > 99%           | 0%                    |
| 17 Jul to 1 Aug 2018      | 9      | 6                       | 2                      | > 99%           | 0%                    |
| 2 Aug to 17 Aug 2018      | 16     | 8                       | 2                      | > 99%           | 0%                    |
| 18 Aug to 2 Sep 2018      | 11     | 6                       | 2                      | > 99%           | 0%                    |
| 3 Sep to 18 Sep 2018      | 13     | 5                       | 3                      | 0%              | 0%                    |
| 19 Sep to 4 Oct 2018      | 10     | 6                       | 3                      | > 99%           | 0%                    |
| 5 Oct to 20 Oct 2018      | 9      | 3                       | 1                      | 0%              | 56%                   |
| 21 Oct to 5 Nov 2018      | 12     | 5                       | 4                      | 59%             | 40%                   |
| 6 Nov to 21 Nov 2018      | 1      | 1                       | 1                      | 82%             | 18%                   |
| 22 Nov to 7 Dec 2018      | 3      | 1                       | 1                      | 0%              | 37%                   |
| 8 Dec to 23 Dec 2018      | 6      | 3                       | 3                      | 2%              | 21%                   |
| 24 Dec 2018 to 8 Jan 2019 | 3      | 2                       | 1                      | 0%              | 76%                   |

### The images of 20LLP, 6 Jan to 21 Jan 2018

5 items of 20LLP fall in this period; 3 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 3rd and 4th give 61% and < 1%, and 39% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 21 Jan 2018 | 7.2%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 6 Jan 2018  | 53.5%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 3rd   | 19 Jan 2018 | 72.9%             | 61%   | 39%    | 0%      | 31,041 (61%) |
| 4th   | 19 Jan 2018 | 81.2%             | 38%   | 62%    | 0%      | 181 (< 1%)   |
| 5th   | 9 Jan 2018  | 100%              | 0%    | 100%   | 0%      | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 31,222; 19,978 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 22 Jan to 6 Feb 2018

3 items of 20LLP fall in this period; 1 has data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing, and 100% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave   |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------ |
| 1st   | 5 Feb 2018  | 43.1%             | 0%    | 0%     | 100%    | 0 (0%) |
| 2nd   | 26 Jan 2018 | 51.5%             | 0%    | 0%     | 100%    | 0 (0%) |
| 3rd   | 29 Jan 2018 | 91.4%             | 0%    | 100%   | 0%      | 0 (0%) |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images none; 51,200 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 7 Feb to 22 Feb 2018

9 items of 20LLP fall in this period; 4 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 43%; the 2nd and 7th give 1% and 2%, and 54% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 18 Feb 2018 | 41.8%             | 43%   | 57%    | 0%      | 21,797 (43%) |
| 2nd   | 18 Feb 2018 | 52.6%             | 34%   | 66%    | 0%      | 712 (1%)     |
| 3rd   | 15 Feb 2018 | 77.7%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 4th   | 15 Feb 2018 | 77.7%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 15 Feb 2018 | 81.8%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 6th   | 8 Feb 2018  | 94.7%             | 0%    | 100%   | 0%      | 0 (0%)       |
| 7th   | 13 Feb 2018 | 96.7%             | 6%    | 94%    | 0%      | 1,112 (2%)   |
| 8th   | 20 Feb 2018 | 98.5%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 9th   | 10 Feb 2018 | > 99.9%           | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 21,797 of 51,200 cells; the later images 1,824; 27,579 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 23 Feb to 10 Mar 2018

6 items of 20LLP fall in this period; 4 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 96%; the 2nd gives 2%, and 1% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 5 Mar 2018  | 12.5%             | 96%   | 4%     | 0%      | 49,383 (96%) |
| 2nd   | 28 Feb 2018 | 20.4%             | 61%   | 39%    | 0%      | 1,122 (2%)   |
| 3rd   | 23 Feb 2018 | 99.9%             | 0%    | 100%   | 0%      | 0 (0%)       |
| 4th   | 2 Mar 2018  | 100%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 7 Mar 2018  | 100%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 6th   | 10 Mar 2018 | 100%              | 0%    | 100%   | 0%      | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 49,383 of 51,200 cells; the later images 1,122; 695 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 11 Mar to 26 Mar 2018

6 items of 20LLP fall in this period; 4 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 83%; the 2nd and 3rd give < 1% and < 1%, and 17% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 15 Mar 2018 | 5.5%              | 83%   | 17%    | 0%      | 42,573 (83%) |
| 2nd   | 15 Mar 2018 | 9.6%              | 59%   | 41%    | 0%      | 47 (< 1%)    |
| 3rd   | 20 Mar 2018 | 93.1%             | < 1%  | > 99%  | 0%      | 2 (< 1%)     |
| 4th   | 12 Mar 2018 | 97.8%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 25 Mar 2018 | > 99.9%           | 0%    | 100%   | 0%      | 0 (0%)       |
| 6th   | 17 Mar 2018 | 100%              | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 42,573 of 51,200 cells; the later images 49; 8,578 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 27 Mar to 11 Apr 2018

7 items of 20LLP fall in this period; 3 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 91%; the 2nd and 5th give < 1% and 4%, and 5% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 30 Mar 2018 | 32.2%             | 91%   | 9%     | 0%      | 46,709 (91%) |
| 2nd   | 30 Mar 2018 | 41.4%             | 67%   | 33%    | 0%      | 77 (< 1%)    |
| 3rd   | 11 Apr 2018 | 73.1%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 4th   | 6 Apr 2018  | 73.4%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 9 Apr 2018  | 89.9%             | 24%   | 76%    | 0%      | 1,945 (4%)   |
| 6th   | 1 Apr 2018  | 99.3%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 7th   | 27 Mar 2018 | 99.7%             | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 46,709 of 51,200 cells; the later images 2,022; 2,469 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 12 Apr to 27 Apr 2018

4 items of 20LLP fall in this period; 2 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 2nd and 3rd give 52% and 38%, and 10% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 26 Apr 2018 | 9.4%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 24 Apr 2018 | 46.9%             | 52%   | 48%    | 0%      | 26,450 (52%) |
| 3rd   | 19 Apr 2018 | 51.7%             | 55%   | 45%    | 0%      | 19,504 (38%) |
| 4th   | 21 Apr 2018 | 69.3%             | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 45,954; 5,246 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 28 Apr to 13 May 2018

5 items of 20LLP fall in this period; 3 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 79%; the 2nd and 5th give 12% and 1%, and 8% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 9 May 2018  | 12.5%             | 79%   | 21%    | 0%      | 40,670 (79%) |
| 2nd   | 4 May 2018  | 19.5%             | 60%   | 40%    | 0%      | 6,075 (12%)  |
| 3rd   | 11 May 2018 | 28.3%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 4th   | 1 May 2018  | 74.5%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 29 Apr 2018 | 93.1%             | 20%   | 80%    | 0%      | 615 (1%)     |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 40,670 of 51,200 cells; the later images 6,690; 3,840 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 14 May to 29 May 2018

7 items of 20LLP fall in this period; 4 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 3rd, 5th and 7th give 75%, 5% and 1%, and 19% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 26 May 2018 | 1.9%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 26 May 2018 | 2.0%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 3rd   | 24 May 2018 | 23.0%             | 75%   | 25%    | 0%      | 38,416 (75%) |
| 4th   | 21 May 2018 | 28.6%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 29 May 2018 | 39.3%             | 72%   | 28%    | 0%      | 2,519 (5%)   |
| 6th   | 29 May 2018 | 47.4%             | 55%   | 45%    | 0%      | 0 (0%)       |
| 7th   | 14 May 2018 | 62.4%             | 1%    | 99%    | 0%      | 510 (1%)     |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 41,445; 9,755 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 30 May to 14 Jun 2018

9 items of 20LLP fall in this period; 5 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 2nd, 4th, 7th, 8th and 9th give 38%, < 1%, 1%, < 1% and 1%, and 60% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 31 May 2018 | 10.2%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 8 Jun 2018  | 19.8%             | 38%   | 62%    | 0%      | 19,560 (38%) |
| 3rd   | 10 Jun 2018 | 24.9%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 4th   | 8 Jun 2018  | 38.8%             | 13%   | 87%    | 0%      | 8 (< 1%)     |
| 5th   | 5 Jun 2018  | 53.9%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 6th   | 5 Jun 2018  | 57.1%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 7th   | 13 Jun 2018 | 84.7%             | 1%    | 99%    | 0%      | 485 (1%)     |
| 8th   | 13 Jun 2018 | 88.6%             | 1%    | 99%    | 0%      | 7 (< 1%)     |
| 9th   | 3 Jun 2018  | 94.0%             | 1%    | 99%    | 0%      | 305 (1%)     |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 20,365; 30,835 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 15 Jun to 30 Jun 2018

13 items of 20LLP fall in this period; 5 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 2nd gives 100%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave          |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------- |
| 1st   | 25 Jun 2018 | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)        |
| 2nd   | 18 Jun 2018 | < 0.1%            | 100%  | 0%     | 0%      | 51,200 (100%) |
| 3rd   | 25 Jun 2018 | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)        |
| 4th   | 18 Jun 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 0 (0%)        |
| 5th   | 30 Jun 2018 | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)        |
| 6th   | 30 Jun 2018 | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)        |
| 7th   | 28 Jun 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 0 (0%)        |
| 8th   | 20 Jun 2018 | 1.0%              | 0%    | 0%     | 100%    | 0 (0%)        |
| 9th   | 20 Jun 2018 | 1.1%              | 0%    | 0%     | 100%    | 0 (0%)        |
| 10th  | 23 Jun 2018 | 16.1%             | 97%   | 3%     | 0%      | 0 (0%)        |
| 11th  | 23 Jun 2018 | 19.9%             | 95%   | 5%     | 0%      | 0 (0%)        |
| 12th  | 15 Jun 2018 | 72.4%             | 0%    | 0%     | 100%    | 0 (0%)        |
| 13th  | 15 Jun 2018 | 80.8%             | 0%    | 0%     | 100%    | 0 (0%)        |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 51,200.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 1 Jul to 16 Jul 2018

9 items of 20LLP fall in this period; 4 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives > 99%; the 2nd gives < 1%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave           |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | -------------- |
| 1st   | 8 Jul 2018  | < 0.1%            | > 99% | < 1%   | 0%      | 51,194 (> 99%) |
| 2nd   | 3 Jul 2018  | < 0.1%            | 100%  | 0%     | 0%      | 6 (< 1%)       |
| 3rd   | 3 Jul 2018  | < 0.1%            | > 99% | < 1%   | 0%      | 0 (0%)         |
| 4th   | 10 Jul 2018 | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)         |
| 5th   | 13 Jul 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 0 (0%)         |
| 6th   | 5 Jul 2018  | 1.4%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 7th   | 5 Jul 2018  | 1.9%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 8th   | 15 Jul 2018 | 2.1%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 9th   | 15 Jul 2018 | 3.4%              | 0%    | 0%     | 100%    | 0 (0%)         |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 51,194 of 51,200 cells; the later images 6.

**Where each cell came from.** All but 6 cells came from the 1st image (> 99%).

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 17 Jul to 1 Aug 2018

9 items of 20LLP fall in this period; 6 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives > 99%; the 2nd gives < 1%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave           |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | -------------- |
| 1st   | 28 Jul 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 51,199 (> 99%) |
| 2nd   | 28 Jul 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 1 (< 1%)       |
| 3rd   | 23 Jul 2018 | < 0.1%            | 100%  | 0%     | 0%      | 0 (0%)         |
| 4th   | 18 Jul 2018 | < 0.1%            | 100%  | 0%     | 0%      | 0 (0%)         |
| 5th   | 23 Jul 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 0 (0%)         |
| 6th   | 18 Jul 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 0 (0%)         |
| 7th   | 20 Jul 2018 | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)         |
| 8th   | 25 Jul 2018 | 0.7%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 9th   | 30 Jul 2018 | 79.9%             | 0%    | 0%     | 100%    | 0 (0%)         |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 51,199 of 51,200 cells; the later images 1.

**Where each cell came from.** All but 1 cell came from the 1st image (> 99%).

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 2 Aug to 17 Aug 2018

16 items of 20LLP fall in this period; 8 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives > 99%; the 2nd gives < 1%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave           |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | -------------- |
| 1st   | 12 Aug 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 51,199 (> 99%) |
| 2nd   | 12 Aug 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 1 (< 1%)       |
| 3rd   | 4 Aug 2018  | 1.0%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 4th   | 4 Aug 2018  | 1.0%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 5th   | 17 Aug 2018 | 1.2%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 6th   | 17 Aug 2018 | 1.4%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 7th   | 14 Aug 2018 | 1.8%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 8th   | 14 Aug 2018 | 2.0%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 9th   | 9 Aug 2018  | 6.0%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 10th  | 9 Aug 2018  | 8.8%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 11th  | 7 Aug 2018  | 17.2%             | 92%   | 8%     | 0%      | 0 (0%)         |
| 12th  | 7 Aug 2018  | 26.9%             | 83%   | 17%    | 0%      | 0 (0%)         |
| 13th  | 17 Aug 2018 | 30.3%             | > 99% | < 1%   | 0%      | 0 (0%)         |
| 14th  | 17 Aug 2018 | 40.3%             | > 99% | < 1%   | 0%      | 0 (0%)         |
| 15th  | 2 Aug 2018  | 40.7%             | > 99% | < 1%   | 0%      | 0 (0%)         |
| 16th  | 2 Aug 2018  | 47.3%             | > 99% | < 1%   | 0%      | 0 (0%)         |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 51,199 of 51,200 cells; the later images 1.

**Where each cell came from.** All but 1 cell came from the 1st image (> 99%).

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 18 Aug to 2 Sep 2018

11 items of 20LLP fall in this period; 6 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives > 99%; the 2nd gives < 1%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave           |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | -------------- |
| 1st   | 22 Aug 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 51,199 (> 99%) |
| 2nd   | 22 Aug 2018 | < 0.1%            | > 99% | < 1%   | 0%      | 1 (< 1%)       |
| 3rd   | 29 Aug 2018 | 0.1%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 4th   | 24 Aug 2018 | 0.1%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 5th   | 19 Aug 2018 | 0.2%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 6th   | 24 Aug 2018 | 0.2%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 7th   | 19 Aug 2018 | 0.3%              | 0%    | 0%     | 100%    | 0 (0%)         |
| 8th   | 1 Sep 2018  | 1.0%              | 99%   | 1%     | 0%      | 0 (0%)         |
| 9th   | 1 Sep 2018  | 1.8%              | 98%   | 2%     | 0%      | 0 (0%)         |
| 10th  | 27 Aug 2018 | 42.4%             | 11%   | 89%    | 0%      | 0 (0%)         |
| 11th  | 27 Aug 2018 | 45.5%             | 5%    | 95%    | 0%      | 0 (0%)         |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 51,199 of 51,200 cells; the later images 1.

**Where each cell came from.** All but 1 cell came from the 1st image (> 99%).

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 3 Sep to 18 Sep 2018

13 items of 20LLP fall in this period; 5 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 3rd, 4th and 5th give > 99%, < 1% and < 1%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave           |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | -------------- |
| 1st   | 8 Sep 2018  | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)         |
| 2nd   | 8 Sep 2018  | < 0.1%            | 0%    | 0%     | 100%    | 0 (0%)         |
| 3rd   | 6 Sep 2018  | 0.1%              | > 99% | < 1%   | 0%      | 51,188 (> 99%) |
| 4th   | 11 Sep 2018 | 0.2%              | > 99% | < 1%   | 0%      | 10 (< 1%)      |
| 5th   | 11 Sep 2018 | 0.3%              | > 99% | < 1%   | 0%      | 2 (< 1%)       |
| 6th   | 3 Sep 2018  | 10.9%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 7th   | 3 Sep 2018  | 20.1%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 8th   | 18 Sep 2018 | 47.8%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 9th   | 18 Sep 2018 | 57.6%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 10th  | 13 Sep 2018 | > 99.9%           | 0%    | 0%     | 100%    | 0 (0%)         |
| 11th  | 13 Sep 2018 | > 99.9%           | 0%    | 0%     | 100%    | 0 (0%)         |
| 12th  | 16 Sep 2018 | 100%              | 0%    | 100%   | 0%      | 0 (0%)         |
| 13th  | 16 Sep 2018 | 100%              | 0%    | 100%   | 0%      | 0 (0%)         |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 51,200.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 19 Sep to 4 Oct 2018

10 items of 20LLP fall in this period; 6 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives > 99%; the 2nd and 3rd give < 1% and < 1%.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave           |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | -------------- |
| 1st   | 1 Oct 2018  | 0.7%              | > 99% | < 1%   | 0%      | 51,194 (> 99%) |
| 2nd   | 26 Sep 2018 | 10.0%             | > 99% | < 1%   | 0%      | 5 (< 1%)       |
| 3rd   | 1 Oct 2018  | 11.2%             | > 99% | < 1%   | 0%      | 1 (< 1%)       |
| 4th   | 21 Sep 2018 | 11.5%             | 98%   | 2%     | 0%      | 0 (0%)         |
| 5th   | 26 Sep 2018 | 11.8%             | 100%  | 0%     | 0%      | 0 (0%)         |
| 6th   | 21 Sep 2018 | 24.8%             | 95%   | 5%     | 0%      | 0 (0%)         |
| 7th   | 23 Sep 2018 | 45.0%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 8th   | 23 Sep 2018 | 51.7%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 9th   | 28 Sep 2018 | 80.2%             | 0%    | 0%     | 100%    | 0 (0%)         |
| 10th  | 3 Oct 2018  | 99.2%             | 0%    | 0%     | 100%    | 0 (0%)         |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 51,194 of 51,200 cells; the later images 6.

**Where each cell came from.** All but 6 cells came from the 1st image (> 99%).

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 5 Oct to 20 Oct 2018

9 items of 20LLP fall in this period; 3 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 2nd gives 44%, and 56% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 8 Oct 2018  | 0.3%              | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 16 Oct 2018 | 31.2%             | 44%   | 56%    | 0%      | 22,506 (44%) |
| 3rd   | 13 Oct 2018 | 51.0%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 4th   | 13 Oct 2018 | 63.2%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 6 Oct 2018  | 85.0%             | 0%    | 100%   | 0%      | 0 (0%)       |
| 6th   | 6 Oct 2018  | 96.1%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 7th   | 6 Oct 2018  | 97.1%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 8th   | 18 Oct 2018 | > 99.9%           | 0%    | 0%     | 100%    | 0 (0%)       |
| 9th   | 11 Oct 2018 | 100%              | 0%    | 100%   | 0%      | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 22,506; 28,694 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 21 Oct to 5 Nov 2018

12 items of 20LLP fall in this period; 5 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 59%; the 2nd, 5th and 9th give < 1%, 1% and < 1%, and 40% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 26 Oct 2018 | 24.0%             | 59%   | 41%    | 0%      | 30,299 (59%) |
| 2nd   | 26 Oct 2018 | 38.2%             | 32%   | 68%    | 0%      | 141 (< 1%)   |
| 3rd   | 28 Oct 2018 | 42.7%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 4th   | 28 Oct 2018 | 51.4%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 21 Oct 2018 | 77.9%             | 3%    | 97%    | 0%      | 380 (1%)     |
| 6th   | 31 Oct 2018 | 89.9%             | 0%    | 100%   | 0%      | 0 (0%)       |
| 7th   | 2 Nov 2018  | 90.5%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 8th   | 2 Nov 2018  | 90.8%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 9th   | 5 Nov 2018  | 91.5%             | < 1%  | > 99%  | 0%      | 2 (< 1%)     |
| 10th  | 23 Oct 2018 | 98.3%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 11th  | 23 Oct 2018 | 99.8%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 12th  | 23 Oct 2018 | 99.9%             | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 30,299 of 51,200 cells; the later images 523; 20,378 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 6 Nov to 21 Nov 2018

1 item of 20LLP fall in this period; 1 has data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 82%, and 18% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 10 Nov 2018 | 23.5%             | 82%   | 18%    | 0%      | 42,065 (82%) |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 42,065 of 51,200 cells; the later images none; 9,135 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 22 Nov to 7 Dec 2018

3 items of 20LLP fall in this period; 1 has data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 2nd gives 63%, and 37% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 22 Nov 2018 | 48.6%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 5 Dec 2018  | 49.2%             | 63%   | 37%    | 0%      | 32,318 (63%) |
| 3rd   | 27 Nov 2018 | 51.0%             | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 32,318; 18,882 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 8 Dec to 23 Dec 2018

6 items of 20LLP fall in this period; 3 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image gives 2%; the 3rd and 5th give 28% and 49%, and 21% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 10 Dec 2018 | 27.2%             | 2%    | 98%    | 0%      | 1,088 (2%)   |
| 2nd   | 17 Dec 2018 | 40.9%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 3rd   | 20 Dec 2018 | 57.2%             | 29%   | 71%    | 0%      | 14,101 (28%) |
| 4th   | 12 Dec 2018 | 63.0%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 5th   | 15 Dec 2018 | 69.4%             | 71%   | 29%    | 0%      | 25,166 (49%) |
| 6th   | 22 Dec 2018 | 77.3%             | 0%    | 0%     | 100%    | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 1,088 of 51,200 cells; the later images 39,267; 10,845 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### The images of 20LLP, 24 Dec 2018 to 8 Jan 2019

3 items of 20LLP fall in this period; 2 have data over the region. sits takes them in the order below and keeps, for each cell, the first value that is not masked.

The first image has no data here and gives nothing; the 2nd gives 24%, and 76% of the cells stay empty.

| Place | Date        | Scene cloud cover | Value | Masked | No data | Gave         |
| ----- | ----------- | ----------------- | ----- | ------ | ------- | ------------ |
| 1st   | 27 Dec 2018 | 76.2%             | 0%    | 0%     | 100%    | 0 (0%)       |
| 2nd   | 25 Dec 2018 | 77.5%             | 24%   | 76%    | 0%      | 12,074 (24%) |
| 3rd   | 30 Dec 2018 | > 99.9%           | 0%    | 100%   | 0%      | 0 (0%)       |

**Ranked.** In sits' order: by scene cloud cover, least first. The covers are shown rounded; equal covers keep the collection's order.

**On the grid, masked.** Each image on the 40 m grid of the cube. Hatched: the cells where the CLOUD band holds a value sits masks, 0, 1, 2, 3, 8, 9 and 10 (missing data, defective pixel, shadows, cloud shadows, cloud medium, cloud high and thin cirrus); they give nothing. sits keeps 4, 5, 6, 7 and 11 (vegetation, non-vegetated, water, unclassified and snow or ice). Dotted: no data, the image has no value there.

**First fills.** An empty grid. Image by image, in sits' order, the cells it fills light up; a cell already filled is not touched again. The first image fills 0 of 51,200 cells; the later images 12,074; 39,126 stay empty.

The year 2018 of 20LLP: an extension of the book's two months, regularized by the pipeline with the book's call (16-day periods, B02 for the source of each cell).

### How it was made

1. Ask the catalogue: sits asks the provider's catalogue which images cover the book's tiles, bands and dates, and a whole year of one tile. The answers are kept, so every later run uses the same list.
2. Find the tiles: The pipeline finds the tiles of the satellite's grid around the region, from the grid that comes with sits. It reads a small picture of each tile of the cube from its least cloudy image.
3. Build the regular cube: sits makes a regular cube of the region from those images: one image per period, all on the same grid of pixels. For each pixel of a period it takes the first valid value, least cloudy image first.
4. Read the images as they come: The pipeline reads the images the catalogue listed, as they come. It marks each pixel as having no data, a clear value, or a value sits masks, such as cloud or shadow.
5. Try other periods and pixel sizes: sits makes the regular cube again at other periods and pixel sizes. It also makes it once without the images' cloud cover, so sits takes the images in date order, not least cloudy first.
6. Read each image alone: Each image is read alone, on the grid sits builds for it. Stacked in the order sits takes them, the images show which one gave each pixel of the regular cube.
7. Check against sits: The pipeline compares its own reads with what sits made, and stops the run on the checks that must hold. The results are gathered only once those checks pass.
8. Prepare the pictures: The pipeline picks the brightness drawn black and white, the same for every date, so the dates can be compared. Values are packed into one byte each.
9. Write the files: The pipeline writes the files the website reads, each with a record of its sources and of how closely a rerun repeats it.

### Reproducibility details

- A rerun on aarch64-apple-darwin23 gave the same files, byte for byte.

Every step of the pipeline:

1. Lists the bands read: the book's and those of the natural-colour pictures, in the order sits has them. `cube_read_bands("AWS", "SENTINEL-2-L2A", c("B02", "B8A", "B11"), c("B03", "B04"))`
2. Lists every period with every resolution of the runs. `regularize_choices(c("P8D", "P16D", "P1M"), c(20L, 40L, 80L))`
3. The arguments of the book's call to sits_cube(). `cube_call(list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11" ), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list( tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), cube_bands)`
4. The same call for one tile over a whole year. `cube_call(list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11" ), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list( tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), cube_bands, "20LLP", "2018-01-01", "2018-12-31")`
5. Lists the bands of the runs: the natural-colour ones, in the order sits has them. `regularize_run_bands(cube_bands, list(red = "B04", green = "B03", blue = "B02"))`
6. Lists the images of the book's call with sits_cube(): a copy of the live AWS catalogue, kept in cache/cubes/ and read from there. `cube_kept_listing(cube_book_call, "cache/cubes", "cube_book")`
7. Lists the images of the year's call with sits_cube(): a copy of the live AWS catalogue, kept in cache/cubes/ and read from there. `cube_kept_listing(cube_year_call, "cache/cubes", "cube_year")`
8. Reads how sits masks the cloud band, and the line of its source file that says so. `collection_cloud_source("cache/src/sits-78d26eb07370874192911854b48b60ebb1d668c8", "AWS", "SENTINEL-2-L2A", "CLOUD", regularize_bands)`
9. Makes the regular cube of the book's call over the region with sits_regularize(), keeping the files already made. `cube_regularize(cube_listing, list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), "P16D", 40L, "cache/cubes/reg_book_B02-B03-B04-B8A-B11", 4L)`
10. Finds the Sentinel-2 tiles around the region. `cube_images_grid(list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), cube_listing, 100L)`
11. Reads a small picture of each tile from the overview of its clearest image, keeping the reads in cache/cubes/. `cube_images_read(cube_listing, list(red = "B04", green = "B03", blue = "B02"), 3L, "cache/cubes")`
12. Makes the regular cube of the year with sits_regularize(), keeping the files already made. `cube_regularize(cube_year_listing, list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), "P16D", 40L, "cache/cubes/reg_year_B02-B03-B04-B8A-B11", 4L)`
13. Reads one tile whole on the date of the book's figure, from an overview, keeping the read in cache/regularize/. `regularize_images_coverage(cube_listing, list(tile = "20LLP", date = "2018-06-30"), list(red = "B04", green = "B03", blue = "B02"), 3L, "cache/regularize")`
14. Runs sits_regularize() on the book's images at one period and resolution, keeping the files in cache/regularize/. `regularize_run_cube(cube_listing, regularize_choice, regularize_bands, "CLOUD", list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), "cache/regularize", 4L, 1L)`
15. Reads every image of each tile over the tile's part of the region, as it comes, keeping the reads in cache/cubes/. `cube_tile_images(cube_listing, cube_book, cube_book_call, 40L, "EPSG:32720", "cache/cubes")`
16. Compares the grid of each tile of the book's run with the view sits builds for it. `regularize_book_grids(regularize_find_run(regularize_run, "P16D", 40L), cube_listing, list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L))`
17. Reads the regular images each run wrote. `regularize_values(regularize_run, regularize_bands)`
18. Gathers the images, ranked in the order sits takes them, the regular values, the year and the map. `cube_export_gather(cube_listing, cube_book, cube_images, cube_year_listing, cube_year, cube_map_images, cube_map_grid, cube_book_call, list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), 40L)`
19. Marks each pixel of each image as no data, clear or masked by sits. `purrr::map(cubes_record$tiles, cube_images_states, cubes_record$cloud_values)`
20. Picks the reflectance drawn black and white, one for red, green and blue. `cube_images_stretch(cubes_record, list(red = "B04", green = "B03", blue = "B02"), c(0.02, 0.98))`
21. Stores the year in one byte per value, each band between two percentiles. `cube_export_year_codes(cubes_record$year$values, c(0.001, 0.999))`
22. Reads each image of the book's periods alone, on the view sits builds for it with no mask, keeping the reads in cache/regular_cubes/. `cube_alone_book_reads(cube_listing, cubes_record, "B02", list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), "cache/regular_cubes/alone_book_B02", "/Users/felipecarlos/Documents/sits/sits-embeddings/pipeline/cache/tmp", 0.5)`
23. Runs sits_regularize() on the book's call with the scene cloud cover removed, keeping the result in cache/regular_cubes/. `cube_checks_copied_run(cube_listing, "B02", list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP" ), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list( crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list( around_km = 100L, overview = 3L)), cubes_record, "cache/regular_cubes", "/Users/felipecarlos/Documents/sits/sits-embeddings/pipeline/cache/tmp")`
24. Reads the grid of the region on each tile at each resolution from the runs of the book's period. `cube_checks_region_grids(cube_listing, regularize_run, cubes_record, list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), c(20L, 40L, 80L))`
25. Runs sits_regularize() on one image alone and gdalwarp at three overview choices, keeping the result in cache/regular_cubes/. `cube_checks_overview_check_run(cube_listing, cubes_record, list(tile = "20LLP", band = "B02"), list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP" ), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98 ), levels = 32L, quantiles = c(0.001, 0.999), map = list( around_km = 100L, overview = 3L)), "cache/regular_cubes", "/Users/felipecarlos/Documents/sits/sits-embeddings/pipeline/cache/tmp")`
26. Reads the same image alone in natural colour and runs sits_regularize() on it with those bands. `cube_checks_pictures_check_run(cube_listing, cubes_record, list(tile = "20LLP", band = "B02"), regularize_bands, list( source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98 ), levels = 32L, quantiles = c(0.001, 0.999), map = list( around_km = 100L, overview = 3L)), "cache/regular_cubes", "/Users/felipecarlos/Documents/sits/sits-embeddings/pipeline/cache/tmp")`
27. Pairs the cells of the strip both tiles cover. `cube_checks_book_strip(cubes_record, c("20LKP", "20LLP" ), 40L)`
28. Runs sits_regularize() on each image of the year alone, with the date of its period, keeping the files in cache/regularize/. `regularize_year_alone(cube_year_listing, cubes_record, "B02", "CLOUD", list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), "cache/regularize/year_20llp_B02", 1L)`
29. Stops the run unless the book's run gives the regular cube of the book, value for value. `regularize_check_book(regularize_run_values, cubes_record, "P16D", 40L, regularize_bands)`
30. Reads a small square at the native resolution of two bands, keeping the read in cache/regularize/. `regularize_images_patch(cube_listing, cubes_record, list(tile = "20LLP", side = 480L, bands = c("B04", "B11")), "CLOUD", "cache/regularize")`
31. Stacks the images of each period in sits' order and finds the one each pixel came from. `cube_alone_book_stacks(regular_cubes_book_reads, cubes_record, "B02")`
32. Compares the run with no scene cloud cover with the book's regular cube, after checking it against the images read alone. `cube_checks_copied_entries(regular_cubes_copied_run, cubes_record, regular_cubes_book_reads, cube_listing, "B02")`
33. Compares the two tiles' regular images where they overlap. `cube_checks_overlap_periods(cubes_record, regular_cubes_strip, "B02")`
34. Stops the run unless gdalwarp -ovr AUTO and the images read alone give sits' values on every pixel. `cube_checks_check_overview(regular_cubes_overview, regular_cubes_book_reads, regular_cubes_pictures)`
35. Draws one tile's images as they come and its regular images, small, for the journey's picture. `cube_checks_export_picture(cubes_record, cube_states, list(red = "B04", green = "B03", blue = "B02"), cube_stretch, 32L, list(tile = "20LLP", card_tile = 64L, sheet_tile = 192L))`
36. Finds which image gives each pixel of each period of the year, in the order sits takes them. `regularize_year_sources(regularize_alone, "20LLP", "B02")`
37. Writes the book's call, its images and regular cube, the map and the year, for the website. ``site_write_json(cube_export_record(cubes_record, cube_states, cube_stretch, cube_year_codes, list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), list(tiles = list(`20LKP` = list(ard = "cube-ard-20lkp.png", mask = "cube-ard-20lkp-mask.png", regular = "cube-regular-20lkp.png", map = "cube-map-20lkp.png"), `20LLP` = list(ard = "cube-ard-20llp.png", mask = "cube-ard-20llp-mask.png", regular = "cube-regular-20llp.png", map = "cube-map-20llp.png")), year = "cube-year.bin")), "../web/src/data/cubes.json")``
38. Stops the run unless the images read alone, stacked in sits' order, give the book's regular cube on every pixel. `cube_alone_check_book(regular_cubes_book, cubes_record, "B02", "cache/regular_cubes/alone_book_B02")`
39. Reads each image of the year alone in natural colour, with its cloud band, keeping the reads in cache/regular_cubes/. `cube_alone_year_reads(cube_year_listing, cubes_record, regularize_sources, regularize_bands, list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP" ), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98 ), levels = 32L, quantiles = c(0.001, 0.999), map = list( around_km = 100L, overview = 3L)), "cache/regular_cubes/alone_year_20llp", "/Users/felipecarlos/Documents/sits/sits-embeddings/pipeline/cache/tmp", 0.5)`
40. Stops the run unless the images, stacked in sits' order, give the regular cube of the year. `regularize_check_year(regularize_sources, cubes_record)`
41. Stops the run unless the cloud band read here masks each image of the year as sits did. `cube_alone_check_year_cloud(regular_cubes_year_reads, regularize_alone, cubes_record$cloud_values, "cache/regular_cubes/alone_year_20llp")`
42. Gathers the runs, the images as they come and the sources of the year, once both self-checks pass. `regularize_export_gather(cube_listing, regularize_run_values, regularize_coverage, regularize_patch, regularize_sources, regularize_bands, list(regularize_book_check, regularize_year_check))`
43. Gathers the grids, the sources of the book's pixels, the overview, the run with no cloud cover and the year, once the self-checks pass. `cube_checks_export_gather(regular_cubes_grids, regular_cubes_book, regular_cubes_strip, regular_cubes_overlap, regular_cubes_overview, regular_cubes_copied, regular_cubes_year_reads, list(regular_cubes_book_check, regular_cubes_overview_check, regular_cubes_cloud_check))`
44. Writes the runs, the images as they come, the sources of the year and how sits masks clouds, for the website. ``site_write_json(regularize_export_record(regularize_record, cubes_record, regularize_cloud, regularize_grids, list(coverage = "regularize-coverage.png", patch = list(B04 = "regularize-patch-b04.png", B11 = "regularize-patch-b11.png"), runs = list(run_p16d_40m = list(`20LKP` = "cube-regular-20lkp.png", `20LLP` = "cube-regular-20llp.png"), run_p16d_20m = list(`20LKP` = "regularize-run-p16d-20m-20lkp.png", `20LLP` = "regularize-run-p16d-20m-20llp.png"), run_p16d_80m = list(`20LKP` = "regularize-run-p16d-80m-20lkp.png", `20LLP` = "regularize-run-p16d-80m-20llp.png")), sheets = list(list(period = "P16D", res = 20L), list(period = "P16D", res = 80L)), sources = "regularize-sources.bin")), "../web/src/data/regularize.json")``
45. Writes which image gives each pixel of each period of the year, one byte per pixel, for the website. `site_write_bin(regularize_source_bytes(regularize_record$sources$source), "../web/public/data/regularize-sources.bin", "uint8")`
46. Writes the grids, the sources of the book's pixels, the overview, the run with no cloud cover and the year, for the website. `site_write_json(cube_checks_export_record(regular_cubes_record, cubes_record, regularize_sources, regular_cubes_picture, list(source = "AWS", collection = "SENTINEL-2-L2A", tiles = c("20LKP", "20LLP"), bands = c("B02", "B8A", "B11"), picture_bands = c("B03", "B04"), cloud_band = "CLOUD", start_date = "2018-06-30", end_date = "2018-08-31", period = "P16D", res = 40L, region = list(crs = "EPSG:32720", xmin = 294880L, xmax = 310240L, ymin = 8840000L, ymax = 8848000L), year = list(tile = "20LLP", start_date = "2018-01-01", end_date = "2018-12-31", window = 12L), multicores = 4L, rgb = list(red = "B04", green = "B03", blue = "B02"), stretch = c(0.02, 0.98), levels = 32L, quantiles = c(0.001, 0.999), map = list(around_km = 100L, overview = 3L)), "B02", list(ranks = "regular-cubes-book-ranks.bin", cards = "regular-cubes-picture-cards-20llp.png", sheets = "regular-cubes-picture-sheets-20llp.png")), "../web/src/data/regular-cubes.json")`
47. Draws each image of each period of the year read alone, in natural colour, one file per period, for the website. `cube_checks_export_year_sheets(regular_cubes_record, "image", regularize_bands, list(red = "B04", green = "B03", blue = "B02"), cube_stretch, 32L, cubes_record$cloud_values, structure("../web/public/data", class = c("fs_path", "character")))`
48. Draws where each image of each period of the year has a value, is masked or has none, one file per period, for the website. `cube_checks_export_year_sheets(regular_cubes_record, "state", regularize_bands, list(red = "B04", green = "B03", blue = "B02"), cube_stretch, 32L, cubes_record$cloud_values, structure("../web/public/data", class = c("fs_path", "character")))`

The files:

- `regular-cubes.json`: SHA-256 `751974674c0e71d20c1054ce3e79129531244a10501768116130594eea997323`. A rerun on aarch64-apple-darwin23 gave the same file, byte for byte.
- `regularize.json`: SHA-256 `880aaea58eae1cb95f1780d87cdb6fec7a34e99ab7eaaf1fe5aa8f5c5fe0ce6d`. A rerun on aarch64-apple-darwin23 gave the same file, byte for byte.
- `cubes.json`: SHA-256 `f29bb2e9135a6f824c0d512868ea1c3d67bd2532c285b6662f87926e071d5874`. A rerun on aarch64-apple-darwin23 gave the same file, byte for byte.
- `regularize-sources.bin`: SHA-256 `8bbbf5b19899603d13872fe3cbde3b72b7640c952d8c1c8319341b6d7be62f95`. A rerun on aarch64-apple-darwin23 gave the same file, byte for byte.
- `regular-cubes-year-2018-04-12.png`: SHA-256 `d2ed994c855695922f1d8915cba9a5be16e78b4fce5617f14bf03f350ffe4001`. A rerun on aarch64-apple-darwin23 gave the same file, byte for byte.
- `regular-cubes-year-2018-04-12-state.png`: SHA-256 `d2906b649e160aa3c09a96b7517886654ffbc2f600435c7b1903aca77e0f4bd3`. A rerun on aarch64-apple-darwin23 gave the same file, byte for byte.

To make them again: `cd pipeline && Rscript make.R`.

## What to try

1. **Start in the rainy season.** The page opens on a period where the first image in sits' order has no data over the region: the cells come from the next ones.
2. **Watch the fill.** In *First fills*, each image lights up only the cells no earlier image could fill; the counter says how many.
3. **Compare with the dry season.** Step to a period of July or August: the first image fills almost every cell, and the map of where each cell came from is one shade.
