<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts | Veronica Andreo</title>
    <link>https://veroandreo.gitlab.io/post/</link>
      <atom:link href="https://veroandreo.gitlab.io/post/index.xml" rel="self" type="application/rss+xml" />
    <description>Posts</description>
    <generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Mon, 24 May 2021 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://veroandreo.gitlab.io/media/icon_hu3efef6ed6c619ea972a34f33474007e1_1108193_512x512_fill_lanczos_center_3.png</url>
      <title>Posts</title>
      <link>https://veroandreo.gitlab.io/post/</link>
    </image>
    
    <item>
      <title>Outcomes of an online GRASS GIS course</title>
      <link>https://veroandreo.gitlab.io/post/may2021_results_grass_course_ig/</link>
      <pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
      <guid>https://veroandreo.gitlab.io/post/may2021_results_grass_course_ig/</guid>
      <description>&lt;p&gt;In March 2021, I taught a &lt;a href=&#34;https://ig.conae.unc.edu.ar/taller-grass/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GRASS GIS online workshop&lt;/a&gt; as part of the
distance learning offer of &lt;a href=&#34;https://ig.conae.unc.edu.ar/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Gulich Institute&lt;/a&gt; (CONAE - UNC) in Argentina.
We had a total of 65 students from different countries in South America.&lt;/p&gt;
&lt;p&gt;During the workshop, we studied different topics within GRASS ecosystem, but we mostly covered remote sensing,
Object Based Image Analysis (OBIA) and time series analysis, making use of GRASS GIS extensions to obtain
and process Landsat, Sentinel and MODIS data. All the workshop materials, including presentations, code, and
data, are available &lt;a href=&#34;https://gitlab.com/veroandreo/maie-procesamiento/-/tree/taller-grass-online&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt; (in Spanish).&lt;/p&gt;
&lt;p&gt;As final assignment to pass the course and get their certificate, students were given two options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;write a report in Spanish for which they should pick a topic of interest, find relevant data and use GRASS modules to obtain results or,&lt;/li&gt;
&lt;li&gt;write a tutorial in English of a topic relevant for them or even something new they wanted to learn, always with GRASS as main tool/focus.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As an incentive, the best reports and tutorials would be given the chance to be presented live through
&lt;a href=&#34;https://www.youtube.com/channel/UCI-yqSH5XPVwnBM5mOyOCHg&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Gulich Institute Youtube channel&lt;/a&gt;.
Tutorials, because of the extra difficulty of language, would also be highlighted in GRASS GIS website
and social media (See the news &lt;a href=&#34;https://grass.osgeo.org/news/2021_04_23_new_tutorials_made_by_students/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The topics chosen by the students were diverse and really interesting: from changes in snow cover in southern Argentina,
to productivity of high altitude grasslands, wildfire simulations, segmentation to aid digitizing of implanted
forests, network analysis, comparison of classification approaches to map urban areas, landscape characterization,
urban heat islands, spatial and temporal gap-filling and species identification through OBIA and machine learning.&lt;/p&gt;
&lt;p&gt;On May 14, those reports and tutorials that resulted selected were presented live with an audience of almost 90
people. It was really satisfying to witness the student&amp;rsquo;s learning process and outcome. Many of them overcame
installation difficulties, learnt and studied new modules, searched for data, explored different solutions. Some,
even moved to Linux and learnt to use Git/GitHub. Have a look 🤓&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/fPu-lvN1iNY?start=270&#34; title=&#34;YouTube video player&#34; frameborder=&#34;10&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;With this post I would like to encourage others to follow such an approach that resulted rewarding in many aspects.
For students to get their work showcased, for their families to see aunt/uncle, mum or dad on the screen
(we had some very sweet messages in the online chat 😃), and also for us as teachers/trainers.
Furthermore, I believe these events bring science, higher education and technology closer to the general
public and&amp;hellip; we never know who might be inspired by our work! 😍&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Working with i.landsat in GRASS GIS</title>
      <link>https://veroandreo.gitlab.io/post/jan2021_ilandsat_tutorial/</link>
      <pubDate>Tue, 05 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://veroandreo.gitlab.io/post/jan2021_ilandsat_tutorial/</guid>
      <description>&lt;p&gt;In this tutorial, I&amp;rsquo;ll exemplify different uses of the freshly created
&lt;em&gt;i.landsat&lt;/em&gt; toolset and its integration with other GRASS GIS core modules
and add-ons for a full workflow to process Landsat data.&lt;/p&gt;
&lt;p&gt;First of all, to be able to connect to
&lt;a href=&#34;https://earthexplorer.usgs.gov/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;EarthExplorer&lt;/a&gt; you&amp;rsquo;ll need a user
name and password. If you are not yet registered, please see the
&lt;a href=&#34;https://ers.cr.usgs.gov/register&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;register&lt;/a&gt;
page for signing up. Then, create a plain text file with your
credentials:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;myusername
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mypassword
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We will work in the &lt;em&gt;landsat&lt;/em&gt; mapset within the North Carolina full
sample location. We first start GRASS GIS and set the computational
region to one of the existent landsat bands there:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# start grass in landsat mapset&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grass78 grassdata/nc_spm_08_grass7/landsat/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# list available raster maps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.list &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;mapset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# set the computational region&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.region -p &lt;span class=&#34;nv&#34;&gt;raster&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lsat7_2000_40
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# display the RGB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d.mon wx0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d.rgb &lt;span class=&#34;nv&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lsat7_2000_30 &lt;span class=&#34;nv&#34;&gt;green&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lsat7_2000_20 &lt;span class=&#34;nv&#34;&gt;blue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lsat7_2000_10
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Next step is to install the i.landsat toolset via
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/g.extension.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;g.extension&lt;/a&gt;
as shown below&lt;/p&gt;
&lt;img src=&#34;featured.png&#34; width=&#34;80%&#34; style=&#34;float:center;padding-right:10px;padding-left:10px&#34;&gt;
&lt;p&gt;The module &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/i.landsat.download.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;i.landsat.download&lt;/a&gt;
allows to search and download Collection 1 Landsat TM, ETM and OLI data from USGS
EarthExplorer through the &lt;a href=&#34;https://github.com/yannforget/landsatxplore&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;landsatxplore&lt;/a&gt;
Python library.&lt;/p&gt;
&lt;p&gt;In this example, we will retrieve scenes which footprint intersects the current
computational region extent. Note however that the area of interest can be optionally
defined by a vector map.&lt;/p&gt;
&lt;p&gt;If we have a look at the metadata, the Landsat 7 data already in the sample location
is dated March 31, 2000.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r.info &lt;span class=&#34;nv&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lsat7_2000_40
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hence, to perform change detection we should search for scenes from the same time
of the year, but in this example, for 2010 and 2020.
We&amp;rsquo;ll first use the &lt;code&gt;-l&lt;/code&gt; flag to only list available Landsat data.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 2010 - Landsat TM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.download -l &lt;span class=&#34;nv&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;credentials.txt &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;dataset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LANDSAT_TM_C1 &lt;span class=&#34;nv&#34;&gt;clouds&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;2010-02-01&amp;#39;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;2010-04-30&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 3 scenes found.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# LT50160352010078PAC01 LT05_L1TP_016035_20100319_20160904_01_T1 2010-03-19 0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# LT50150352010119GNC01 LT05_L1TP_015035_20100429_20160901_01_T1 2010-04-29 0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# LT50160352010094EDC00 LT05_L1TP_016035_20100404_20160903_01_T1 2010-04-04 4.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#2020&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.download -l &lt;span class=&#34;nv&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;credentials.txt &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;dataset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LANDSAT_8_C1 &lt;span class=&#34;nv&#34;&gt;clouds&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;2020-02-01&amp;#39;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;2020-04-30&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1 scenes found.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# LC80160352020058LGN00 LC08_L1TP_016035_20200227_20200313_01_T1 2020-02-27 0.37&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We&amp;rsquo;ll download the scenes from March 19, 2010 and February 27, 2020, which is the
only one found with the search criteria we set. To download only the selected scenes,
we&amp;rsquo;ll pass their IDs via the &lt;em&gt;id&lt;/em&gt; option.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.download &lt;span class=&#34;nv&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;credentials.txt &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT50160352010078PAC01,LC80160352020058LGN00 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;landsat_data
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now that we have downloaded the Landsat scenes, we need to import them into GRASS GIS.
For that purpose we use the second module in the toolset:
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/i.landsat.import.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;i.landsat.import&lt;/a&gt;.
By default, it imports all Landsat bands within the scene files found
in the &lt;em&gt;input&lt;/em&gt; directory. In this case, we&amp;rsquo;ll keep this option, but since we are
only interested in the region defined by the Landsat bands already present in
the mapset, we&amp;rsquo;ll limit the import with &lt;code&gt;extent=region&lt;/code&gt;. Furthermore, since
Landsat data comes in UTM coordinate reference system, we&amp;rsquo;ll need to re-project
the data. This will be done during import by means of
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/r.import.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;r.import&lt;/a&gt; when we set the
&lt;code&gt;-r&lt;/code&gt; flag. Let&amp;rsquo;s first have a look at the files that will be imported:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# print all landsat bands to import within the landsat_data folder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.import -p &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;landsat_data
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LT05_L1TP_016035_20100319_20160904_01_T1_B7.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LT05_L1TP_016035_20100319_20160904_01_T1_B6.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LT05_L1TP_016035_20100319_20160904_01_T1_B5.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LT05_L1TP_016035_20100319_20160904_01_T1_B4.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LC08_L1TP_016035_20200227_20200313_01_T1_B7.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LC08_L1TP_016035_20200227_20200313_01_T1_B6.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# /landsat_data/LC08_L1TP_016035_20200227_20200313_01_T1_B5.TIF 0 (EPSG: 32617)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, we actually import the data and check the list of imported maps:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# import all bands, subset to region setting and reproject on the fly&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.import -r &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;landsat_data &lt;span class=&#34;nv&#34;&gt;extent&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;region
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# list raster maps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.list &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;mapset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Let&amp;rsquo;s also check the metadata and display the respective RGB combinations.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# check metadata&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r.info LT05_L1TP_016035_20100319_20160904_01_T1_B3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;First, we set all color tables to grey and perform color enhancing for a better
visualization&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.colors.enhance &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;green&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B2 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;blue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.colors.enhance &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B4 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;green&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;blue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And then we can use either the main GUI or the interactive monitors
called from the terminal as follows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d.mon wx0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d.rgb &lt;span class=&#34;nv&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;green&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B2 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;blue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d.mon wx1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;d.rgb &lt;span class=&#34;nv&#34;&gt;red&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B4 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;green&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B3 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;blue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;
&lt;img src=&#34;L5_march_2010.png&#34; width=&#34;49%&#34; style=&#34;float:left&#34;&gt;&lt;img src=&#34;L8_march_2020.png&#34; width=&#34;49%&#34; style=&#34;float:right&#34;&gt;
&lt;/pre&gt;
&lt;p&gt;Since we are interested in performing change detection among two different dates, we
need to perform atmospheric correction first. To that aim, we use the
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/i.landsat.toar.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;i.landsat.toar&lt;/a&gt; module.
In this case, we use the simple DOS algorithm but a more sophisticated method is
provided in &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/i.atcorr.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;i.atcorr&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.toar &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_B &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_toar_B &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;sensor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;tm5 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;metfile&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_20160904_01_T1_MTL.txt &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;dos1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.landsat.toar &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_B &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_toar_B &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;sensor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;oli8 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;metfile&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_20200313_01_T1_MTL.txt &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;dos1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, we&amp;rsquo;ll estimate the tasseled cap transformation with
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/i.tasscap.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;i.tasscap&lt;/a&gt;.
The tasseled cap transformation is effectively a compression method to reduce
multiple spectral data into a few bands. The method was originally developed
for understanding important phenomena of crop development in spectral space.
It is generally accepted that the first component is &lt;em&gt;brightness&lt;/em&gt;, the second
&lt;em&gt;greennes&lt;/em&gt; and the third one, &lt;em&gt;wetness&lt;/em&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.tasscap &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LT05_L1TP_016035_20100319_toar_B1,LT05_L1TP_016035_20100319_toar_B2,LT05_L1TP_016035_20100319_toar_B3,LT05_L1TP_016035_20100319_toar_B4,LT05_L1TP_016035_20100319_toar_B5,LT05_L1TP_016035_20100319_toar_B7 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;L5_2010_tasscap &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;sensor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;landsat5_tm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.tasscap &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LC08_L1TP_016035_20200227_toar_B2,LC08_L1TP_016035_20200227_toar_B3,LC08_L1TP_016035_20200227_toar_B4,LC08_L1TP_016035_20200227_toar_B5,LC08_L1TP_016035_20200227_toar_B6,LC08_L1TP_016035_20200227_toar_B7 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;L8_2020_tasscap &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;sensor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;landsat8_oli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Finally, we use the &lt;strong&gt;change vector analysis (CVA)&lt;/strong&gt;, a common method to perform the change
detection analysis, by providing the &lt;em&gt;brightness&lt;/em&gt; and &lt;em&gt;greenness&lt;/em&gt; features of the
tasseled cap transform we just did. As input for CVA, two maps for each date must be given:
in general, on the X axis an indicator of overall reflectance and on the Y axis an indicator
of vegetation conditions. Hence, our choice for components 1 and 2 of tasseled cap.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;i.cva &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;xaraster&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;L5_2010_tasscap.1 &lt;span class=&#34;nv&#34;&gt;xbraster&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;L8_2020_tasscap.1 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;yaraster&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;L5_2010_tasscap.2 &lt;span class=&#34;nv&#34;&gt;ybraster&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;L8_2020_tasscap.2 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;CVA_2010_2020 &lt;span class=&#34;nv&#34;&gt;stat_threshold&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;As an output, we obtain 4 maps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;angle: map of the angles of the change vector between the two dates;&lt;/li&gt;
&lt;li&gt;angle_class: map of the angles, classified in four quadrants (0-90, 90-180, 180-270, 270-360);&lt;/li&gt;
&lt;li&gt;magnitude: map of the magnitudes of the change vector between the two dates;&lt;/li&gt;
&lt;li&gt;change: final map of change&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The change map is created using the classified angle map and applying a threshold
to the magnitude. Pixels that have values higher than the threshold are divided in
four categories depending on the quadrant they belong to. In this case, with
default options, we detect only one type of change shown in yellow below.
Have a look at &lt;a href=&#34;https://www.mdpi.com/2072-4292/6/10/9316&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Karnieli et al. 2014&lt;/a&gt;
for a conceptual diagram explaining the different types of changes.&lt;/p&gt;
&lt;img src=&#34;change.png&#34; width=&#34;90%&#34; style=&#34;float:center;padding-right:10px;padding-left:10px&#34;&gt;
</description>
    </item>
    
    <item>
      <title>From zero to contributing an add-on for GRASS GIS</title>
      <link>https://veroandreo.gitlab.io/post/dec2020_from0toaddon_grass/</link>
      <pubDate>Wed, 30 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://veroandreo.gitlab.io/post/dec2020_from0toaddon_grass/</guid>
      <description>&lt;p&gt;Eight years ago, while doing an MSc in Remote Sensing and GIS Applications
at the Argentinean Space Agency - &lt;a href=&#34;https://www.argentina.gob.ar/ciencia/conae&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CONAE&lt;/a&gt;,
I was looking for places where to do a 6-months internship in Italy.
I wanted to go completely &lt;em&gt;FOSS&lt;/em&gt; and I had heard about &lt;strong&gt;GRASS GIS&lt;/strong&gt;, but
hadn&amp;rsquo;t made the time to learn it until then.
That was when I recalled a former colleague from university mentioning
the keywords &lt;em&gt;GRASS&lt;/em&gt; and &lt;em&gt;Markus Neteler&lt;/em&gt;.
Well, I wrote to him and ended up in Trento by January, 2013 (the pic is
not from January of course!).&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;fem&#34; srcset=&#34;
               /post/dec2020_from0toaddon_grass/fem_hu968b0549b4cc4029fbda826e2c4f0b3f_393820_a45b297af9bf4a21c81767d1ec55321c.webp 400w,
               /post/dec2020_from0toaddon_grass/fem_hu968b0549b4cc4029fbda826e2c4f0b3f_393820_af9219eeca0dcaa98cd9c3ae57cc9deb.webp 760w,
               /post/dec2020_from0toaddon_grass/fem_hu968b0549b4cc4029fbda826e2c4f0b3f_393820_1200x1200_fit_q90_h2_lanczos.webp 1200w&#34;
               src=&#34;https://veroandreo.gitlab.io/post/dec2020_from0toaddon_grass/fem_hu968b0549b4cc4029fbda826e2c4f0b3f_393820_a45b297af9bf4a21c81767d1ec55321c.webp&#34;
               width=&#34;760&#34;
               height=&#34;205&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;From the beginning, I was determined to learn the command line way
of &lt;em&gt;GRASS-ing&lt;/em&gt;. Luckily, during the internship at the former &lt;em&gt;PGIS&lt;/em&gt; in
&lt;a href=&#34;https://www.fmach.it/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;FEM&lt;/a&gt;, I got a lot of support and had the
chance to participate in code sprints, conferences and meet several
GRASS GIS core devs and power users. I really loved the software but
&lt;em&gt;I got hooked by the community behind it&lt;/em&gt; 🤗&lt;/p&gt;
&lt;img src=&#34;https://grasswiki.osgeo.org/w/images/thumb/Pgis_and_guests_4_2013.jpg/800px-Pgis_and_guests_4_2013.jpg&#34; width=&#34;80%&#34; style=&#34;float:center;padding-left:10px;padding-right:10px&#34;&gt;
&lt;p&gt;Once back in Argentina, the MSc thesis was a great excuse to learn and
test the freshly developed &lt;em&gt;temporal framework&lt;/em&gt; and some basic bash to
write simple scripts. I always received a lot of support from devs and
other users in the
&lt;a href=&#34;https://lists.osgeo.org/mailman/listinfo/grass-user&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mailing list&lt;/a&gt;.
Please take into account that my background is Biology and I had zero
coding/programming before this&amp;hellip; for me, each step was a huge step!&lt;/p&gt;
&lt;img src=&#34;cla_ts.jpg&#34; width=&#34;55%&#34; style=&#34;float:right;padding-left:10px&#34;&gt;
&lt;p&gt;From everything I worked on for the MSc thesis, I compiled the
&lt;a href=&#34;https://grasswiki.osgeo.org/wiki/Temporal_data_processing&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Temporal Data Processing&lt;/a&gt;
wiki page and some others that came later. That wiki has been accessed
&lt;em&gt;127,853&lt;/em&gt; times as of today 30/12/2020! Impressive, eh?&lt;/p&gt;
&lt;p&gt;With time, I learnt to create &lt;em&gt;diffs&lt;/em&gt; which I was sending to other devs
so they would merge into the source code. It was mostly documentation,
but hey, one must start somewhere, no?
Eventually, I became so &amp;ldquo;bothersome&amp;rdquo; 😇, that they proposed me
as core dev! 🤓
I was given permission to mess up the source code 😱 I didn&amp;rsquo;t, don&amp;rsquo;t worry!
That same year I was nominated as &lt;a href=&#34;https://www.osgeo.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;OSGeo&lt;/a&gt; charter
member.
By then, I had already taught some GRASS GIS workshops and courses here
and there and also organized a
&lt;a href=&#34;https://grasswiki.osgeo.org/wiki/GRASS_GIS_Community_Sprint_Autumn_2017&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;code sprint at my house&lt;/a&gt;!&lt;/p&gt;
&lt;img src=&#34;prague_class_2018.jpg&#34; width=&#34;80%&#34; style=&#34;float:center;padding-left:10px;padding-right:10px&#34;&gt;
&lt;p&gt;While preparing material for those workshops and courses, I started
learning &lt;em&gt;git&lt;/em&gt;. This helped me to be (more or less!) ready
when GRASS moved from svn to &lt;a href=&#34;https://github.com/OSGeo/grass&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt;.
Furthermore, after setting up my &lt;a href=&#34;https://veroandreo.gitlab.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;own website&lt;/a&gt;
with Hugo and the Academic theme, I became pretty familiar with such a
technology. This lead to a strong involvement in the
&lt;a href=&#34;https://grass.osgeo.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;new GRASS website&lt;/a&gt; that we launched by mid
2020 for GRASS birthday.&lt;/p&gt;
&lt;p&gt;By November, I thought &lt;strong&gt;it was time to challenge myself with writing
an add-on for my favorite software&lt;/strong&gt;. I learnt a little bit of Python and
found something that could be useful to have: a toolset to search, download
and import Landsat data into GRASS GIS.
The availability of similar modules helped a lot, I had examples to learn
from. I received a lot of motivation and help from other devs in the
process. Finally, some days ago, I decided the toolset was ready to be
shared and I committed it to the official add-ons repo 😱
and there it is the
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/i.landsat.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;i.landsat&lt;/strong&gt;&lt;/a&gt;
toolset containing 2 modules:
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/i.landsat.download.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;i.landsat.download&lt;/em&gt;&lt;/a&gt;
and
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/i.landsat.import.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;i.landsat.import&lt;/em&gt;&lt;/a&gt;!
And my name in a piece of code that everyone can use, review and modify
🤩&lt;/p&gt;
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/i.landsat.html&#34; target=&#34;_blank&#34;&gt;
  &lt;img src=&#34;featured.png&#34; alt=&#34;i.landsat&#34; width=&#34;90%&#34; style=&#34;float:center;padding-left:10px;padding-right:10px&#34;&gt;
&lt;/a&gt;
&lt;p&gt;This experience has definitely reinforced my feeling of &lt;strong&gt;belonging to this
great community&lt;/strong&gt;. And, as if all that was not enough, a week ago
I was nominated for the PSC (GRASS GIS Project Steering Committee)!
What a nice ride so far! 😅&lt;/p&gt;
&lt;p&gt;If I could, I&amp;rsquo;m sure everyone can!! &lt;strong&gt;GRASS GIS will welcome you, come and
join!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;fotowall Bonn 2018&#34; srcset=&#34;
               /post/dec2020_from0toaddon_grass/fotowall_2018_hu2fa4c23dc782b78168ba6bbd22cc41ae_1149052_6fdbed139278c11e9217a703289521bc.webp 400w,
               /post/dec2020_from0toaddon_grass/fotowall_2018_hu2fa4c23dc782b78168ba6bbd22cc41ae_1149052_f11c8b5715a68130747f869e515227a8.webp 760w,
               /post/dec2020_from0toaddon_grass/fotowall_2018_hu2fa4c23dc782b78168ba6bbd22cc41ae_1149052_1200x1200_fit_q90_h2_lanczos.webp 1200w&#34;
               src=&#34;https://veroandreo.gitlab.io/post/dec2020_from0toaddon_grass/fotowall_2018_hu2fa4c23dc782b78168ba6bbd22cc41ae_1149052_6fdbed139278c11e9217a703289521bc.webp&#34;
               width=&#34;760&#34;
               height=&#34;373&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>pymodis, GDAL and GRASS GIS: A FOSS4G example to build time series of MODIS data</title>
      <link>https://veroandreo.gitlab.io/post/dec2016_pymodis_gdal_grass/</link>
      <pubDate>Wed, 28 Dec 2016 20:49:34 +0000</pubDate>
      <guid>https://veroandreo.gitlab.io/post/dec2016_pymodis_gdal_grass/</guid>
      <description>&lt;p&gt;Recently, the National Aeronautics and Space Administration (NASA) has
re-processed all the MODIS archive and made available the sixth version
for all
&lt;a href=&#34;https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;land products&lt;/a&gt;.
In this post, I share a script that combines different FOSS4G tools to
download, mosaic, re-project, subset, import, apply quality assessment
flags and build a time series of MODIS LST daily products. First, we use
the &lt;a href=&#34;http://www.pymodis.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;pymodis&lt;/a&gt; tool 
&lt;a href=&#34;http://www.pymodis.org/scripts/modis_download.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;modis_download&lt;/a&gt; 
to automatically download 4 tiles of the MOD11A1 product for the period
2010-2016. 
Note that you need to register yourself at
&lt;a href=&#34;https://urs.earthdata.nasa.gov/users/new&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://urs.earthdata.nasa.gov/users/new&lt;/a&gt; 
and enable the applications at
&lt;a href=&#34;https://urs.earthdata.nasa.gov/home&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://urs.earthdata.nasa.gov/home&lt;/a&gt; 
to be able to download MODIS land products.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Download MOD11A1.006 - daily land surface temperature (1km) &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;modis_download.py -P your_password -U your_user -s MOLT -p MOD11A1.006 -t h19v04,h19v05,h20v04,h20v05 -f 2010-01-01 -e 2016-12-31 . 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then, we use &lt;a href=&#34;http://www.pymodis.org/scripts/modis_mosaic.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;modis_mosaic&lt;/a&gt;
to build daily mosaics for LST Day and QC Day bands by means of VRT files.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;modis_mosaic.py -v -s &lt;span class=&#34;s2&#34;&gt;&amp;#34;1 1 0 0 0 0 0 0 0 0 0 0&amp;#34;&lt;/span&gt; list_of_files.txt 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After that, we re-project the mosaics to EPSG 3035 and convert them to
GTiff format with &lt;a href=&#34;http://www.pymodis.org/scripts/modis_convert.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;modis_convert&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# cut the first part of the filename containing date (year+doy): A2015365 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LIST_DATES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;ls *.vrt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; cut -d&lt;span class=&#34;s1&#34;&gt;&amp;#39;_&amp;#39;&lt;/span&gt; -f1&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; DAY in &lt;span class=&#34;nv&#34;&gt;$LIST_DATES&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# convert to tif and project &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  modis_convert.py -g &lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt; -e &lt;span class=&#34;m&#34;&gt;3035&lt;/span&gt; -v -s &lt;span class=&#34;s2&#34;&gt;&amp;#34;(1)&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_LST_Day_1km_mosaic &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_None_LST_Day_1km.vrt 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once we have the tif files, we perform a spatial subset for our area of
interest. For this purpose, we combine the GRASS command
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/g.region.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;g.region&lt;/a&gt; and
the possibility to use eval command with
&lt;a href=&#34;http://www.gdal.org/gdal_translate.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;gdal_translate&lt;/a&gt; 
utility from GDAL/OGR library.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# set region &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.region -p &lt;span class=&#34;nv&#34;&gt;region&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_study_area 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;g.region -g&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; DAY in &lt;span class=&#34;nv&#34;&gt;$LIST_DATES&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# spatial subseting &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gdal_translate -of GTiff -projwin &lt;span class=&#34;nv&#34;&gt;$w&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$n&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$e&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$s&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_LST_Day_1km_mosaic.tif &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_LST_Day_1km_subset.tif 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once the subset is done, we import the resulting maps into our GRASS
database with &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/r.in.gdal.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;r.in.gdal&lt;/a&gt;,
and we remove all VRT, HDF and TIF files.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; DAY in &lt;span class=&#34;nv&#34;&gt;$LIST_DATES&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# import into GRASS &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  r.in.gdal &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_LST_Day_1km_subset.tif &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_LST_Day_1km 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# remove vrt, tiff and hdf files &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  rm -f &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_None_LST_Day_1km.vrt &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_None_LST_Day_1km_mosaic.tif &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DAY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_LST_Day_1km_subset.tif 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We then use &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/i.modis.qc.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;i.modis.qc&lt;/a&gt;
to get QC flags for LST and apply them as in
&lt;a href=&#34;http://www.mdpi.com/2072-4292/6/5/3822&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Metz et al. (2014)&lt;/a&gt;
to keep the highest quality data.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; map in &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;g.list &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;pattern&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;*_QC_*&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  i.modis.qc &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_mandatory_qa &lt;span class=&#34;nv&#34;&gt;productname&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mod11A1 &lt;span class=&#34;nv&#34;&gt;qcname&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mandatory_qa_11A1 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  i.modis.qc &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;map&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_lst_error_qa &lt;span class=&#34;nv&#34;&gt;productname&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mod11A1 &lt;span class=&#34;nv&#34;&gt;qcname&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;lst_error_11A1 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;list_lst&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;g.list rast &lt;span class=&#34;nv&#34;&gt;pat&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;*LST_Day_1km&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; m in &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;list_lst&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# cut common part of filenames &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$m&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; cut -c 1-23&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  r.mapcalc --o &lt;span class=&#34;nv&#34;&gt;expression&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; = if(&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;_mandatory_qa &amp;lt; 2 &amp;amp;&amp;amp; &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;_lst_error_qa == 0, &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;m&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;, null())&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With all the former steps done, we can build a daily time series for LST data&amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.create &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;strds &lt;span class=&#34;nv&#34;&gt;temporaltype&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;absolute &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LST_Day_daily &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;LST Day 1km MOD11A1.006&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Daily LST Day 1km MOD11A1.006, 2010-2016&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.list rast &lt;span class=&#34;nv&#34;&gt;pattern&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;*LST_Day &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;filelist_lst.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.register -i &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;LST_&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;lst&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;_greece_daily &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;filelist_lst.txt &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;2010-01-01&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1 day&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;and you are ready to play!&lt;/strong&gt; You may, for example, use the GRASS
Add-ons &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/r.hants.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;r.hants&lt;/a&gt;
or &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/addons/r.series.lwr.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;r.series.lwr&lt;/a&gt;
to reconstruct/fill the gaps in the time series and then, you have a
whole set of temporal modules at your fingertips to perform different
tasks. You can check the
&lt;a href=&#34;https://grasswiki.osgeo.org/wiki/Temporal_data_processing&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Temporal Data Processing&lt;/a&gt;
wiki for several examples.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Extra:&lt;/em&gt; The extra beauty of all this, is that it is possible to run all
these steps as a script with the new
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/grass7.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;--exec&lt;/a&gt; 
interface of GRASS GIS. For example, if you name your script lst_processing.sh
(do not forget to write the shebang in the beginning of the file: #!/bin/bash),
then, you can run it in a non-interactive GRASS session as:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grass78 /path/to/grassdata/location/mapset --exec sh lst_processing.sh 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Enjoy! :)
and Happy New Year!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How to aggregate daily data into MODIS-like 8 day aggregation pattern?</title>
      <link>https://veroandreo.gitlab.io/post/jan2016_aggregate_daily_ts_into_8day/</link>
      <pubDate>Mon, 25 Jan 2016 15:12:50 +0000</pubDate>
      <guid>https://veroandreo.gitlab.io/post/jan2016_aggregate_daily_ts_into_8day/</guid>
      <description>&lt;p&gt;Several MODIS products come in &amp;ldquo;8-day&amp;rdquo; compositions. Suppose we have daily
data and we want to aggregate it with this MODIS-like granularity. How
can we achieve that? First idea would be to use the great
&lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/t.rast.aggregate.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;t.rast.aggregate&lt;/a&gt;
module in &lt;a href=&#34;https://grass.osgeo.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GRASS GIS&lt;/a&gt; with granularity=&amp;ldquo;8 days&amp;rdquo;.
But this presents a problem. It does not re-start every year, but aggregates
the whole series with 8-day granularity, not considering the year.
Meanwhile, MODIS 8-day products re-start the aggregation every January 1st.
Therefore, second idea could be to use t.rast.aggregate with 
granularity=&amp;ldquo;8 days&amp;rdquo; but looping over years, and then merge the resulting
strds with &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/t.merge.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;t.merge&lt;/a&gt;.
However, granularity seems to overrule the &lt;em&gt;where&lt;/em&gt; clause. This is evident
in the output of  &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/t.rast.list.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;t.rast.list&lt;/a&gt;
(i.e.: last map granularity covers 3 days from the next year) in the following example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; YEAR in &lt;span class=&#34;s2&#34;&gt;&amp;#34;2003 2004&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;2004 2005&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;2005 2006&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; -- &lt;span class=&#34;nv&#34;&gt;$YEAR&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$2&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  t.rast.aggregate -s &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_temp &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_avg_temp_&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;basename&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_avg_temp &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;average &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;granularity&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8 days&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nv&#34;&gt;where&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;start_time &amp;gt;= &amp;#39;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-01-01&amp;#39; and end_time &amp;lt; &amp;#39;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-01-01&amp;#39;&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# check output maps in time series &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.rast.list 8day_avg_temp_2003 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;name&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;mapset&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;start_time&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;end_time 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_avg_temp_2003_01_01&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;climate&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-01-01 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-01-09 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_avg_temp_2003_01_09&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;climate&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-01-09 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-01-17 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_avg_temp_2003_12_19&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;climate&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-12-19 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-12-27 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_avg_temp_2003_12_27&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;climate&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2003-12-27 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2004-01-04 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;So, we need a different solution. If we already have a registered time
series of MODIS 8-day products, we can just use it to copy its aggregation
pattern with &lt;a href=&#34;https://grass.osgeo.org/grass78/manuals/t.rast.aggregate.ds.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;t.rast.aggregate.ds&lt;/a&gt;.
But what if we don&amp;rsquo;t? How do we create a MODIS-like 8 day granularity
to use it as reference to aggregate our daily data?? One solution could
be to create a time series (could be raster or vector) with that
particular pattern of aggregation and then, use it to aggregate our
daily time series.&lt;/p&gt;
&lt;p&gt;In this example, I&amp;rsquo;ll show you how to create a raster time series,
from now on strds, which stands for &amp;ldquo;spatio-temporal raster dataset&amp;rdquo;. 
But, in order to save space in disk we&amp;rsquo;ll set a region of only one pixel
in the center of the current region&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;g.region -g&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;g.region -cg&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.region &lt;span class=&#34;nv&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$center_easting&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$center_northing&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$center_easting&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$ewres&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bc&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;n&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$center_northing&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; + &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$nsres&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bc&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; -p 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, we&amp;rsquo;ll create daily maps and register them as our daily time series,
which will be our input time series (see below).&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create daily maps &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; i in &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;seq -w &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; 740&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  r.mapcalc -s &lt;span class=&#34;nv&#34;&gt;expression&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;daily_ts_&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; = rand(0.0,40.0)&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create daily ts &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.create &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;strds &lt;span class=&#34;nv&#34;&gt;temporaltype&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;absolute &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_ts &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Daily time series&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Test STRDS with 1 day granularity&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# register daily maps &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.register -i &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_ts &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;maps&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;g.list &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;pattern&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_ts_* &lt;span class=&#34;nv&#34;&gt;separator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;comma&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;2000-01-01&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;increment&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1 days&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# check info &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.info &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_ts 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.rast.list &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_ts 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And then we create the 8-day MODIS-like maps and register them as time
series. This will be our &lt;em&gt;sample&lt;/em&gt; strds, the data set from which we&amp;rsquo;ll
copy the aggregation pattern. We use year and DOY (day of year) to name
maps. These will then be converted into calendar dates to register maps
as a time series with absolute time.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create maps every 8 days &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; year in &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;seq &lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt; 2001&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; doy in &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;seq -w &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt; 365&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    r.mapcalc -s &lt;span class=&#34;nv&#34;&gt;expression&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8day_&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;year&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;_&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;doy&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; = rand(0.0,40.0)&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After we created maps, we need to assign timestamps to them representing
8-days intervals for all maps, except for the last map in each year,
since the aggregation starts all over again, every January 1st.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# mapnames list &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;g.list &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;pattern&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_20??_* &amp;gt; names_list 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;From de name of each map, we take year and doy, and convert it to a
YYYY-MM-DD date for start and end (we need time intervals), considering
also if the year is a leap year or not.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create file with mapnames, start date and end date &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; NAME in &lt;span class=&#34;se&#34;&gt;\`&lt;/span&gt;cat names&lt;span class=&#34;se&#34;&gt;\_&lt;/span&gt;list&lt;span class=&#34;se&#34;&gt;\`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# Parse &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;YEAR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$NAME&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; cut -d&lt;span class=&#34;s1&#34;&gt;&amp;#39;_&amp;#39;&lt;/span&gt; -f2&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;DOY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$NAME&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; cut -d&lt;span class=&#34;s1&#34;&gt;&amp;#39;_&amp;#39;&lt;/span&gt; -f3&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# convert YYYY_DOY to YYYY-MM-DD &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# BEWARE: leading zeros make bash assume the number &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# is in base 8 system, not base 10! &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;DOY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$DOY&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/^0\*//&amp;#39;&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# list with mapname and both start and end time &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;doy_end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$DOY&lt;/span&gt; -le &lt;span class=&#34;s2&#34;&gt;&amp;#34;353&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;doy_end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$((&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$DOY&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;))&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;elif&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$DOY&lt;/span&gt; -eq &lt;span class=&#34;s2&#34;&gt;&amp;#34;361&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; $&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$YEAR&lt;/span&gt; % 4&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -eq &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; $&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$YEAR&lt;/span&gt; % 100&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -ne &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; $&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$YEAR&lt;/span&gt; % 400&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -eq &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nv&#34;&gt;doy_end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$((&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$DOY&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;6&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;))&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nv&#34;&gt;doy_end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$((&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$DOY&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;5&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;))&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DATE_START&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;date -d &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;YEAR&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-01-01 +&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$((&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;DOY&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;))&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;days&amp;#34;&lt;/span&gt; +%Y-%m-%d&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DATE_END&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;date -d &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;YEAR&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-01-01 +&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$((&lt;/span&gt; &lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;doy_end&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;))&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;days&amp;#34;&lt;/span&gt; +%Y-%m-%d&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# text file with mapnames, start date and end date &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$DATE_START&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$DATE_END&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; list_map_start_end_time.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We check the list. Intervals are left open, so end time of one map is the
start time of the next. We also check that the last map of each year
ends as expected.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat list_map_start_end_time.txt 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_2000_001&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-01&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-09 8day_2000_009&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-09&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-17
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_2000_353&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-12-18&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-12-26 8day_2000_361&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-12-26&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-01 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_2001_001&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-01&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-09 8day_2001_009&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-09&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-17
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_2001_345&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-11&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-19 8day_2001_353&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-19&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-27 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_2001_361&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-27&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2002-01-01 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We are ready now to create our 8-day MODIS-like strds.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create strds &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.create &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;strds &lt;span class=&#34;nv&#34;&gt;temporaltype&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;absolute &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_ts &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8 day time series&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;STRDS with MODIS like 8 day aggregation&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# register maps &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.register &lt;span class=&#34;nv&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raster &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_ts &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;list_map_start_end_time.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# check &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.info &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_ts 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.rast.list &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_ts 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Finally, we copy its aggregation to our daily time series.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# copy the aggregation &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.rast.aggregate.ds -s &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;daily_ts &lt;span class=&#34;nv&#34;&gt;sample&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_ts &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_agg &lt;span class=&#34;nv&#34;&gt;basename&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_agg &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;average &lt;span class=&#34;nv&#34;&gt;sampling&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;contains 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# add metadata &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.support &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_agg &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8 day aggregated ts&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8 day MODIS-like aggregated dataset&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# check &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.info &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_agg 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-------------------- Space Time Raster Dataset -----------------------------+ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-------------------- Basic information -------------------------------------+ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Id: ........................ 8day&lt;span class=&#34;se&#34;&gt;\_&lt;/span&gt;agg@pruebas &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Name: ...................... 8day&lt;span class=&#34;se&#34;&gt;\_&lt;/span&gt;agg &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Mapset: .................... pruebas &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Creator: ................... veroandreo &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Temporal type: ............. absolute &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Creation time: ............. 2016-01-09 21:44:54.074235 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Modification time:.......... 2016-01-10 16:39:06.253565 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Semantic type:.............. mean 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-------------------- Absolute &lt;span class=&#34;nb&#34;&gt;time&lt;/span&gt; -----------------------------------------+ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Start time:................. 2000-01-01 00:00:00 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;End time:................... 2002-01-01 00:00:00 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Granularity:................ &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; day &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Temporal &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; of maps:...... interval 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-------------------- Spatial extent ----------------------------------------+ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;North:...................... -33.0 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;South:...................... -33.5 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;East:.. .................... -57.0 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;West:....................... -57.5 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Top:........................ 0.0 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Bottom:..................... 0.0 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-------------------- Metadata information ----------------------------------+ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Raster register table:...... raster&lt;span class=&#34;se&#34;&gt;\_&lt;/span&gt;map&lt;span class=&#34;se&#34;&gt;\_&lt;/span&gt;register&lt;span class=&#34;se&#34;&gt;\_&lt;/span&gt;115633bc4e0a4195b6cb4fdcab505522 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;North-South resolution min:. 0.5 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;North-South resolution max:. 0.5 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;East-west resolution min:... 0.5 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;East-west resolution max:... 0.5 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Minimum value min:.......... 2.935881 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Minimum value max:.......... 28.388835 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Maximum value min:.......... 2.935881 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Maximum value max:.......... 28.388835 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Aggregation type:........... average &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Number of registered maps:.. &lt;span class=&#34;m&#34;&gt;92&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Title: 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt; day aggregated ts 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Description: 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt; day MODIS-like aggregated dataset 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Command history: 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 2016-01-09 21:44:54 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; t.rast.aggregate.ds -s &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;daily_ts&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;sample&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8day_ts&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8day_agg&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;basename&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8day_agg&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;average&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;sampling&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;contains&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 2016-01-10 16:39:06 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; t.support &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8day_agg&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8 day aggregated ts&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;8 day MODIS-like aggregated dataset&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+----------------------------------------------------------------------------+ 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;t.rast.list &lt;span class=&#34;nv&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;8day_agg name&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;mapset&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;start_time&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;end_time 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2000_01_01&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-01 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-09 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2000_01_09&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-09 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-17 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2000_01_17&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-17 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-01-25 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2000_12_18&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-12-18 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-12-26 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2000_12_26&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2000-12-26 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-01 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2001_01_01&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-01 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-01-09 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;... 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2001_12_11&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-11 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-19 00:00:00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2001_12_19&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-19 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-27 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8day_agg_2001_12_27&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pruebas&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2001-12-27 00:00:00&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;2002-01-01 00:00:00 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that some maps from our daily strds remain not aggregated into the
8 day new time series, that&amp;rsquo;s because we used &lt;em&gt;&amp;ldquo;sampling=contains&amp;rdquo;&lt;/em&gt;,
which assures that only raster maps that are temporally during the time
intervals of the strds are considered for computation.&lt;/p&gt;
&lt;p&gt;Enjoy! :)&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
