## Methods
### Eddy Covariance Footprint and Hyperspectral Data Integration  
For each overpass, optical and footprint climatology data were combined in a period of \(\pm\)15 days around each airborne campaign. To do so, half-hourly 2-D probability distribution functions representing the contribution of each pixel to the measured carbon fluxes (\(P_{\mathrm{fp}}\)) were convolved with imagery. This provided a footprint-weighted spectrum (\(S_{\mathrm{fp}}\)), this is, the averaged optical properties of the footprint area contributing during that specific time to the EC system. First, \(S_{\mathrm{fp}}\) only weighted the different vegetated classes (\"grass\" and \"trees\") according to their probability of occurrence in the footprint area, their spectral properties and the \(P_{\mathrm{fp}}\) of each pixel. In a second step, convolution was applied including also \"shadows/water\" and \"soil/roads\" classes in order to analyze their impact on \(S_{\text{fp}}\) and the later estimation of _GPP_. Spatial convolution was only applied to daytime data and it was limited to a 1 \(\times\) 1 km\({}^{2}\) square centered on each EC tower, which was large enough to contain EC footprints during daytime. Since the \(P_{\text{fp}}\) spatial resolution--5 m--was coarser than the one in the images, the corresponding \(P_{\text{fp}}\) value of each pixel was linearly interpolated to pixel coordinates (\(x\), \(y\)). Interpolation is suitable for smooth surfaces as those presented by \(P_{\text{fp}}\). The half-hourly \(S_{\text{fp}}\) of a single class (\(j\)) can be calculated as shown in Equation (1):  
\[S_{\text{fp},j}(t)=\frac{1}{\sum_{i=1}^{m}P_{\text{fp},j}([x(i),y(i)],t)}\cdot S _{j}(\lambda,[x,y])*P_{\text{fp},j}([x,y],t)^{T}, \tag{1}\]  
where \(\lambda\) stands for wavelength and \(S\) is a \(n\)-by-\(m\) matrix containing the \(HDRF\) (or SVI) of the \(m\) pixels selected in the surrounding of the EC tower, and \(n\) is the number of spectral bands or indices. Pixels are defined by their Cartesian coordinates. \(P_{\text{fp}}\) is a 1-by-\(m\) vector with the pixel probability of contribution to the measured fluxes at a given time (\(t\)). Since \(P_{\text{fp},j}\) will correspond exclusively to the pixels of a single class, it is normalized to 1. Resulting \(S_{\text{fp}}\) is an \(n\)-by-1 vector with the spectrum (or the SVI) of the vegetation contributing to the fluxes at that time, and as observed from a remote sensor. It should be noted that part of the grass is always occluded by three crowns. Similarly, the \(S_{\text{fp}}\) of different \(k\) classes (\(S_{\text{fp,mix}}\)) can be combined as follows:  
\[S_{\text{fp,mix}}(t)=\frac{\sum_{j=1}^{k}\left(S_{\text{fp},j}(t)\cdot\sum_{i =1}^{q}P_{\text{fp},j}([x(i),y(i)],t)\right)}{\sum_{j=1}^{k}\left(\sum_{i=1}^{ q}P_{\text{fp},j}([x(i),y(i)],t)\right)}, \tag{2}\]  
where \(q\) stands for the individual length of the \(P_{\text{fp}}\) of each class \(k\). This way, the \(S_{\text{fp}}\) of the category \"vegetation\" is built combining the respective spectra or SVI of the classes \"grass\" and \"trees\". In addition, the \(S_{\text{fp}}\) including all the classes--labeled \"all\"--was computed in this way. In this approach, the same image is used for a period of 1 month; this assumes that optical properties of land surfaces did not vary within the \(\pm\)15 days around each campaign. This assumption is unrealistic, but can be used to assess the impact of the temporal mismatch between optical and flux data on the estimation of _GPP_. To do so, in Section 2.5, we analyze _GPP_ models performance over time to see if errors increase as a function of the temporal distance to the flight campaign. In addition, we computed the average spectral signature and indices of squared synthetic pixels centered on each EC tower using all the classes. These synthetic pixels had sizes of 250, 500 and 1000 m (spectral data are labeled as \(S_{\text{P250}}\), \(S_{\text{P500}}\) and \(S_{\text{P1000}}\) respectively).