Applied Water Science

, Volume 6, Issue 1, pp 1–10

Rainfall detection over northern Algeria by combining MSG and TRMM data

Open Access
Review article

DOI: 10.1007/s13201-014-0204-8

Cite this article as:
Ouallouche, F. & Ameur, S. Appl Water Sci (2016) 6: 1. doi:10.1007/s13201-014-0204-8


In this paper, a new method to delineate rain areas in northern Algeria is presented. The proposed approach is based on the blending of the geostationary meteosat second generation (MSG), infrared channel with the low-earth orbiting passive tropical rainfall measuring mission (TRMM). To model the system designed, we use an artificial neural network (ANN). We seek to define a relationships between three parameters calculated from TRMM microwave imager (TMI) associated with four parameters from infrared sensors of MSG satellite and two classes (rain, no-rain) from precipitation radar (PR) TRMM data. The seven spectral parameters issued from MSG and TMI are used as input data. Rain/no-rain classes from PR are used as the output data of this ANN. Two steps are necessary: training and validation. Results in the developed scheme are compared with the results of a reference method which is the scattering index (SI) method. The result shows that the developed model works very well and overcomes the shortcomings of the SI method.


Rainfall detection MSG TRMM ANN 


Precipitation is a key parameter of the global water cycle and affects all aspects of human life and ecosystem processes. Its coverage, frequency and amount are of great importance especially for agriculture, hydrology/water engineering, and ecology. However, the spatiotemporal characteristics of rainfall can hardly be reproduced by point observations using rain gauges. Ground-based precipitation Radar is also an alternative to provide real-time data of rainfall event. However, these systems actually are still rare to be applied in Algeria because large areas remain uncovered where information about the occurrence and the intensity of precipitation is missing. To overcome the paucity of rainfall data, several techniques using a satellite data have been developed (Lazri et al. 2013). Infrared (IR) satellite rainfall estimates have long since been available and suffered from the difficulty in associating cloud-top features to precipitation at ground level (Arkin and Meisner 1987; Levizzani 1999; Porcù et al. 1999; Amorati et al. 2000). In the IR band, the brightness temperature of the hydrometeors is measured according to their radiance (Strangeways 2007). The cloud-top temperature that has colder brightness temperature is associated to convective heavier rainfall (Carleton 1991).

The limitation associated with the inability of IR sensors to detect signals from the cloud profile that affect rainfall generation can be overcome by the use of microwave (MW) sensors which respond primarily to precipitation-size hydrometeors in the cloud profile. The microwave (MW) has an important characteristic that can penetrate the cloud so it can contact directly to the hydrometeor. A more complex situation of the interaction between hydrometeors and electromagnetic radiation has been shown by MW band, since MW frequencies respond directly to hydrometeors (Saw 2005). Hydrometeor is not only emitting the MW but also absorbing or scattering it (Strangeways 2007). There are three important properties of MW estimates: (1) ice essentially does not absorb microwave radiation; it only scatters; (2) liquid drops both absorb and scatter, but absorption dominates; (3) scattering and absorption both increase with frequency and with rain rate. However, scattering by ice increases much more rapidly with frequency than scattering by liquid (Saw 2005). Currently, MW sensors are mounted only on low-altitude orbiting satellites and therefore the observations are snapshots that are available once or twice a day. Such observation frequency makes it difficult to capture the temporal dynamics of cloud systems (Alemseged et al. 2009).

The complementary strength of IR and MW sensors has led to the development of algorithms that use multispectral channels for rainfall detection (Turk et al. 2000). The microwave/infrared rainfall algorithm (MIRA) computes a series of relationships (variable in space and time) between IR equivalent black-body temperature and rain rate, established from coincident observations of IR and MW rain rate accumulated over a calibration domain (Todd et al. 2001). The appropriate IR/rain-rate relationship is then applied to IR imagery at full temporal resolution. Porcù et al. (2000) used MW rainfall estimates from SSM/I to calibrate a simple IR-based technique working mainly for convective clouds.

Therefore, motivated by the need to use multispectral information to better rainfall detection, we used four spectral parameters, from IR sensors of spinning enhanced visible and infrared imager (SEVIRI) radiometer, onboard meteosat second generation (MSG) satellite, combined with three parameters calculated from microwave imager (TMI) of tropical rainfall measuring mission (TRMM) satellite. These seven parameters are used as the input of the artificial neural network (ANN) and the precipitation radar (PR) data from TRMM are used as the output of ANN. These neural networks include two stages, namely, (1) the training and validation stage and (2) the application stage. When the training process is finished, the seven parameters of the pixels in the test dataset are put into the network to calculate the rain flag of each pixel. The result of ANN is compared with the rain areas delineated by scatter index, which is a widely method used in rain delineation, to evaluate the performance of this new method.

Study area

Algeria is located on the South shore of the Mediterranean region; it is bordered on the East by Tunisia and Libya, on the South by Niger and Mali, South-West by Mauritania and Western Sahara and West by Morocco. The rainy season extends from October to March, with maximum rainfall occurring during November–December. In the north, the climate is Mediterranean transit, marked by seasonal oscillations. The average annual rainfall is estimated at about 600 mm. The minimum rainfall is recorded in the southern regions. It is about 50 mm, while the maximum is observed in the Djurdjura massif located in Kabylia and the massif of Edough located a little farther east, where it exceeds 1500 mm.

The study area selected is covering the northern of Algeria. The bounding coordinates are from 34° north to 37° north latitude and from 2° west to 9° east longitude as shown in Fig. 1.
Fig. 1

The study area


The satellite datasets used in this study include the coincident and collocated observation of SEVIRI infrared channels, microwave brightness temperature measured by TMI (TRMM 1B11) and rain flag derived from TRMM PR measurement (TRMM 2A25) for the area of north Algeria. These data collected during the period from October 2007 to March 2008 were used as rainfall information to train the models of neural network. A second dataset, from October 2008 to March 2009, is used to validate the developed scheme.


MSG satellites with the first one (MSG-1 now Meteosat-8) were launched on 28 August 2002 and became operational in early 2004. The MSG-1 is a spinning stabilized satellite that is positioned at an altitude of about 36,000 km above the equator at 3.4° (EUMETSAT 2006). The Spinning Enhanced Visible and Infrared Imager (SEVIRI) sensor on board MSG has a high temporal resolution of 15 min and spatial resolution of 3 × 3 km2 at sub-satellite for all channels except 1 km for high-resolution visible (HRV) channel. Over northern Algeria, the satellite viewing zenith angle of SEVIRI is about 26°, and as a consequence the spatial resolution is reduced to about 4 × 5 km2.

We selected the channels sensitive to optical and microphysical properties of clouds (optical thickness, effective particles radius, cloud phase) as well as to the cloud tops temperature (CTT), and those located in the spectral absorption bands mainly affected by the water vapor. These channels correspond to WV7.3, IR8.7, IR10.8 and IR12.0 bands.

We stored the raw data (level 1.5), i.e., the values of 3,712 × 3,712 pixels of the image, and the calibration coefficients to deduce the radiance for each pixel. The radiance can be converted into brightness temperature in infrared channels (Eumetsat 2004).

The TRMM data

The TRMM, (Kummerow 1998) is a joint mission with Japan launched on November 27, 1997, aboard a Japanese H-II rocket. The TRMM orbit is non-sun-synchronous and initially was at an altitude of 350 km, until the satellite was boosted to 402 km on August 22, 2001. The spatial coverage is between 38° North and 38° South owing to the 35° inclination of the TRMM satellite (Kummerow 2000; Smith and Hollis 2003; Adler et al. 2003).

The TRMM offers a unique instrumental design with a 220-km-wide common swath for the TRMM microwave imager (TMI) and the PR (Chuntao et al. 2007).

The TMI is a 9-channel, 5-frequency, linearly polarized, passive microwave radiometric system. The instrument measures atmospheric and surface brightness temperatures at 10.7, 19.4, 21.3, 37.0, and 85.5 GHz (hereinafter referred to as 10, 19, 21, 37, and 85 GHz). Each frequency has one vertically (V) and one horizontally (H) polarized channel, except for the 21.3 GHz frequency, which has only vertical polarization. The 10-, 19-, 21-, and 37-GHz channels are considered low resolution and the 85-GHz channels are considered high resolution. The swath width is 878 km, covered by 104 low-resolution pixels or 208 high-resolution pixels.

The PR is an active 13.8 GHz radar, recording energy reflected from atmospheric and surface targets. PR has a horizontal resolution at the ground of about 4 km and a swath width of 220 km. One of its most important features is its ability to provide vertical profiles of the rain and snow from the surface to a height of about 20 km. PR is able to detect fairly light rain rates down to about 0.7 mm/h.

The 1B11 product of TMI has a horizontal resolution of 5 km at 85 GHz and temporal resolution of two observations per day, while the 2A25 products represent snapshot of rainfall rates with a horizontal resolution of 5 km and the same temporal resolution (Iguchi et al. 2000; Meneghini et al. 2004).

As the difference of the swath width and the location of the center of the instantaneous field of view (IFOV) between TMI and PR, TRMM 1B11 should be collocated with TRMM 2A25 by the following method: for each pixel of TRMM 2A25, the nearest measurement of TRMM 1B11 in the scope of 0.05° × 0.05° around the pixels is selected as the match point. If no measurement of TRMM 1B11 could be found in this scope, this pixel would be abandoned.

Before using SEVIRI images, we reduced their spatial resolution to the same from PR data i.e., 5 × 5 km2. For each TRMM-PR overpass, the SEVIRI image closest in time was selected, which gives a maximum time difference of 7 min.

Parameters for identification of raining pixels

To identify the raining pixels, we have used four parameters derived from SEVIRI and three parameters derived from TMI. They are given as follows:


Information from IR10.8

Brightness temperature ΤIR10.8 is an indication of the vertical extent of the cloud because, in general, brightness temperature of the system depends on the cloud-top height (e.g., Feidas 2011; Feidas and Giannakos 2011; Feidas et al. 2008; Thies et al. 2008).

Information from ∆TIR10.8–IR12.0

The brightness temperature difference ∆TIR10.8–IR12.0 being a good indicator of the cloud optical thickness is very effective in discriminating optically thick cumuliform clouds from optically thin cirrus clouds (Feidas 2011; Inoue 1987). ΔT10.8–12.0 is positive at low optical thicknesses due to the increased water vapor absorption in the 12.0-μm channel relative to the 10.8-μm channel. Optically thick cumulus-type cloud shows the smaller ∆TIR10.8–IR12.0 due to their black-body characteristics, while optically thin cirrus cloud shows the larger ∆TIR10.8–IR12.0 due to the differential absorption characteristics of ice crystals between the two channels (Inoue et al. 2001). It is expected that optically thick and deep convective clouds are associated with rain (Inoue 1987). Even though the split-window technique is very effective in detecting and removing optically thin cirrus clouds with no precipitation, it sometimes incorrectly assigns optically thick clouds like cumulonimbus in place of optically thin clouds.

Information from ∆TWV7.3–IR12.0

The ∆TWV7.3–IR12.0 is effective in distinguishing between high-level and low-level/mid-level clouds (Lutz et al. 2003). The 7.3-μm channel is dominated by atmospheric water vapor absorption. Low-level clouds produce temperatures at the 7.3-μm channel lower than their actual cloud-top temperatures due to the absorption from water vapor above them. In contrast, their cloud-top temperatures at the 12.0-μm window channel are representative of actual cloud-top temperature since the atmosphere is transparent to this wavelength. As a result, ∆TWV7.3–IR12.0 tends to be very negative in sign for low-level clouds. In contrast, upper level thick clouds (being above most of this vapor and having absorption similar for both wavelengths due to ice crystals) produce temperatures at the 7.3-μm channel close to their actual cloud-top temperatures. In this case, ∆TWV7.3–IR12.0 usually takes very small negative values. Semitransparent ice clouds, such as cirrus, constitute an exception to this rule since their differential transmission cause larger negative differences. Positive differences may occur when water vapor is present in the stratosphere above the cloud top, which is a sign of convective cloud tops (Fritz and Laszlo 1993; Schmetz et al. 1997) as opposed to mere cirrus clouds.

Information from ∆TIR8.7–IR10.8

This parameter is adequate for classifying the cloud phase as either “ice” or “water”. Cloud radiative properties in both channels are dependent upon the cloud particle size. Scattering processes and the dependence on particle size are stronger in the 8.7-μm channel relative to the 10.8-μm channel (Strabala et al. 1994). Therefore, for larger particles, the ΔT8.7–10.8 increases. The water vapor absorption in the 8.7-μm channel is higher relative to the 10.8-μm channel (Soden and Bretherton 1996; Schmetz et al. 2002). This is why ΔT8.7–10.8 is lower for low optical thicknesses. For higher optical thicknesses, the ΔT8.7–10.8 increases. As a result, ΔT8.7–10.8 reaches high values for large effective particle radius and large optical thicknesses. A low optical thickness in combination with small effective particle radius leads to minimum ΔT8.7–10.8. A low optical thickness with large particles and a large optical thickness with small particles result in medium values of ΔT8.7–10.8.

From TMI

Information from PCT at 85 GHz

Experiments with microwave radiative transfer models indicate that the ice layer above the main rain layer basically determines the 85-GHz brightness temperature (Adler et al. 1991; Mugnai et al. 1993).

Surface water has low emissivity at 85 GHz resulting in brightness temperatures low enough to be confused with brightness temperatures depressed by scattering. For oblique viewing angles such as the TMI’s, the emissivity of surface water is a strong function of polarization (Spencer et al. 1989). To eliminate the effect of surface water, a polarization corrected temperature (PCT) is required.

The physical basis of the PCT is given in Spencer et al. (1989). The PCT is calculated from the 85 GHz horizontally and vertically polarized brightness temperatures by the following formula:
$$\text{PCT} = 1.818 \times \text{TB}_{{85\text{V} }} - 0.818 \times \text{TB}_{{85\text{H} }}$$

PCT is polarization corrected temperature; the TB85V and TB85H are the brightness temperature (TB) of vertical polarization and horizontal polarization at 85 GHz, respectively.

Information from PD

The polarization difference (PD) at 85 GHz is calculated by subtracting the TB at horizontal polarization from the TB at vertical polarization. According to the study of (Ferraro et al. 1998), the PD is the function of surface type and frequency on land. Most of land surface types are highly polarized while the precipitation is almost un-polarized, so the PD of land surface is higher than precipitation.

Information from ∆T85V–37V

The difference of TB37V and TB85V is another indicator for precipitation. Under no-rain condition, the emissivity of most land surface type increases along with the increasing frequency, thus the TB of 85-GHz channel is always higher than the TB at 37-GHz channel (Neale et al. 1998). But under rain condition, the microwave radiation at 85 GHz is much more sensitive to the raindrops and ice particles in the clouds, and the TB of 85 GHz will descend seriously and become lower than the TB at 37-GHz channel.


In recent years, ANN’s have become extremely popular for rainfall detection and estimation (Giannakos and Feidas 2011; Lazri et al. 2013) as it provides a convenient and powerful means of performing nonlinear classification and regression.

In this study, a rain detection scheme based on Artificial Neural Networks (ANN) is developed that makes combining the spectral resolution of the SEVIRI data with TMI data. The nonparametric ANN approach approximates the best nonlinear function between multispectral information about pixel derived from MSG data and TMI data on one hand and rain information from PR data on the other hand to detect rainfall.

Artificial neural networks

An ANN is a mathematical model which has a highly connected structure similar to the brain cells. They consist of a number of neurons arranged in different layers; an input layer, on out layer and one or more hidden layers.

The input neurons receive and process the input signals and send an output signal to other neurons in the network. Each neuron can be connected to the other neurons and has an activation function and a threshold function, which can be continuous, linear or nonlinear functions. The signal passing through a neuron is transformed by weights which modify the functions and thus the output signal reaches the following neuron. Modifying the weights for all neurons in the network changes the output. Once the architecture of the network is defined, weights are calculated so as to represent the desired output through a learning process where the ANN is trained to obtain the expected results.

The kind of neural network used for this study is a feed-forward multilayer perceptron (MLP). The MLP has a relatively simple architecture in which each node receives output only from nodes in the preceding layer and provides input only to nodes in the subsequent layer. Thus, for the node j in the kth layer, the net input lkj is a weighted average of the outputs of the (k − 1)th layer
$$l_{kj} = \sum\limits_{i = 1}^{{N_{k - 1} }} {W(k - 1)_{ij} O(k - 1)_{i} }$$
where w(k − 1)ij is the weight connecting the output of the node i in the (k − 1)th layer to node j in the kth layer and Nk − 1 is the number of nodes in the (k − 1)th layer. The output of node j is a specified function of lkj
$$O_{kj} = f(l_{kj} )$$
The eventual output is then a function of the weighted combination of the final hidden-layer output values. Figure 2 represents a neuron of neural network.
Fig. 2

Structure of a neuron of MLP

The transfer function relating input to output was a sigmoid function:
$$O_{kj} = \left[ {1 + \exp ( - 2l_{kj} )} \right]^{ - 1}$$
To ensure that the model has similar sensitivity to changes in the various inputs, all of the inputs were normalized to values between 0 and 1. For an input variable x with maximum xmax and minimum xmin, we calculate the normalized value xA as:
$$x_{A} = \frac{{x - x_{\hbox{min} } }}{{x_{\hbox{max} } - x_{\hbox{min} } }}$$

The optimum weights were determined by training against the target values.

Training and testing data generation

A representative training dataset consisting of the SEVIRI and TMI data and corresponding PR data are needed to develop a multilayer perceptron for the rainfall detection problem.

The connectional weights are updated during the backward error propagation according to the learning algorithm. This process is repeated until the error between the network output and desired output (PR measurements) meets the prescribed requirement. When the training process is complete, the network is ready for application. Rainfall detection can be obtained if combining SEVIRI and TMI data are applied to the network at this stage. The details of the algorithm are described by (Azimi-Sadjadi and Liou 1992).


The neural network was created using seven spectral parameters, of which four were derived from SEVIRI infrared channels and three were calculated from TMI, to identify rain and no-rain pixels (Fig. 3). It was created with three layers (input, hidden, and output) that consist of seven input neurons, eight neurons in the hidden layer and two output neurons in the output layer that represent the two classes corresponding to PR data (rain, no-rain). Due to uncertainty in PR rainfall estimates at very low rain rates, the rain/no-rain threshold was set at 0.5 mm h−1 (Wang and Wolff 2009).
Fig. 3

MLP for rain area delineation

The MLP rain detection algorithms were trained during the period October 2007 to March 2008.

Results of identification and validation

To validate the developed model, we applied it to SEVIRI and TMI data from October 2008 to March 2009. The result of MLP is compared with the rain areas delineated by Scatter Index (Grody 1991), which a widely used rain delineation method, to evaluate the performance of this new method.

According to (Grody 1991), scattering index (SI) is defined as depression in the 85 GHz vertical polarized brightness temperature (T85V) due to scattering in the presence of rain. The SI is calculated using three vertically polarized radiances at 19, 21, and 85 GHz. The depression is calculated by taking the difference between observed rain-affected (T85V) and its expected value (\(T_{{85\text{V} }}^{*}\)) under rain-free conditions. An SI exceeding 10 °K indicates the rain pixel. Grody proposed the following relationship for scattering index (SI):
$$\text{SI} = T_{{85\text{V} }} - T_{{85\text{V} }}^{*}$$
$$T_{{85\text{V} }}^{*} = a_{1} \times T_{{21\text{V} }}^{2} + a_{2} \times T_{{21\text{V} }} + a_{3} \times T_{{19\text{V} }} + a_{4}$$

The coefficients a1, a2, a3 and a4 in this equation are regressed by the TB of the pixels under no-rain condition in the training dataset.

Six categorical statistics are introduced to evaluate the performance of the two rain delineation methods in this study. These parameters are determined from Table 1 and are given as follows:
Table 1

Overview of the combinations in a contingency table


Detected by PR


No raining


Identified by the developed method




a + b

 No raining



c + d


a + c

b + d

a + b + c + d = n

  • The probability of detection (POD) measures the fraction of observed events that were correctly identified:
    $$\text{POD} = \frac{a}{a + c}$$
    The optimal value of the POD is 1.
  • The probability of false detection (POFD) indicates the fraction of pixels incorrectly identified.
    $$\text{POFD} = \frac{c}{c + d}$$
    The optimal value of POFD is 0.
  • The false alarm ratio (FAR) measures the fraction of estimated events that were actually not events:
    $$\text{FAR} = \frac{b}{a + b}$$
    Its optimal value is 0.
  • The frequency BIAS index (bias) measures the overestimation or underestimation of the method. A bias >1 indicates an overestimation, while a bias lower than 1 indicates an underestimation.
    $$\text{Bias} = \frac{a + b}{a + c}$$
    The optimal value of the bias is 1
  • The critical success index (CSI) measures the fraction of observed and/or estimated events that were correctly diagnosed:
    $$\text{CSI} = \frac{a}{a + b + c}$$
    The optimal value of CSI is 1.
  • The percentage of corrects (PC) is the percentage of correct estimations:
    $$\text{PC} = \frac{a + d}{n}$$
    The optimal value of PC is 1.
The statistical results of the verification for MLP and SI are given in Table 2.
Table 2

Results of evaluation parameters






















Optimal values







We observe that the MLP outperforms the SI substantially in terms of probability of detection of the raining clouds. Indeed, POD of SI is 0.62 when the MLP one is 0.79. The bias for SI (<1) indicates underestimation, while the bias for MLP (>1) indicating slight overestimation (Fig. 4).
Fig. 4

The POD (a) and bias (b) of SI and MLP methods

Compared with the SI method, the MLP method makes much less false alarmed pixels while correctly classifies. The PC parameter is high in both methods. In contrast, the CSI parameter depends on raining scenes which shows a good performance for the MLP algorithm with CSI (0.69). Compared to SI (CSI 0.54), this indicates an improvement for the MLP.

The scattering comes from the ice present on the top of the clouds, thus the scattering signal may completely be absent during warm rain conditions. The scattering signal works best for high grown convective clouds. Thus, the SI method may miss detection of low rain that may often come from stratiform, warm and shallow clouds with small or no ice present aloft. This indicates that using only data of microwave channel TMI is not effective to detect all rainfall zones. So, the infrared geostationary satellite imagery contains information pertaining to some other raining clouds.

To gain a visual impression of the performance of the introduced retrieval scheme, the classified rain area for a scene from January 12, 2009 at 17:38 UTC is depicted in Fig. 5. Figure 5a shows the brightness temperature at the frequency of 85 GHz observed by TMI; the study area is delimited by red rectangle. Figure 5b and c shows the rain areas delineated by SI and MLP, respectively.
Fig. 5

Delineated rain area for the scene from January 12, 2009 at 17:38 UTC. a Is the TB at the frequency of 85 GHz observed by TMI; b rain areas delineated by SI and PR; c rain areas delineated by MLP and PR

A visual inspection of the SI/PR and MLP/PR results in Fig. 5b and c reveals that the spatial patterns of the identified precipitation areas correspond quite well between both datasets. But more misclassified pixels are observed in SI than MLP method. Comparatively, SI under-detect rainfall than MLP. This confirms the statistical results obtained previously.


In this study, we presented a new method to detect rainfall zone using a combination from IR and MW data. The combination of this data has alleviated deficiencies of a single sensor method using complementary data obtained from another sensor. Indeed, the results show that although SI can provide acceptable rain areas delineation over northern Algeria, this method tends to result in a number of false alarmed pixels. The relationship between a high SI and rain is not stable because the happening of the precipitation can be disturbed by many other factors as the presence of mountain areas. So there are some pixels under no-rainy condition but with high value of SI, and these pixels would be misclassified as rain areas. Also, some precipitating cloud areas are mainly formed by widespread lifting processes along frontal zones and are characterized by relatively warm top temperatures and a more homogeneous spatial distribution of the cloud-top temperature that differs not significantly between raining and non-raining regions. The developed scheme allows rainfall detection in a finer way. This is due to the complementarity between the SEVIRI data and TMI on one side and the computational power of ANN on the other side. ANN’s are not only powerful tools for defining relationships between parameters but also statistical means by which complex systems can be modeled. The training and testing of multilayer perceptrons based on combination of SEVIRI and TMI data from different days during our experiment demonstrate that the neural network has the ability to generate robust rainfall detect than the existing SI retrieval techniques. All seven inputs data (four from MSG and three from TMI) are used to gain implicit knowledge about the clouds’ characteristics. The results of this new technique are validated against PR data and indicate an encouraging performance concerning rainfall detection. Also, it has remedied the lack of a functional radar network in Algeria by the use of PR data to validate the proposed model.

Copyright information

© The Author(s) 2014

Open AccessThis article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.

Authors and Affiliations

  1. 1.LAMPA LaboratoryMouloud Mammeri UniversityTizi OuzouAlgeria

Personalised recommendations