# _remote sensing_
## Appendix B The Ensemble Kalman Filter (EnKF) Assimilation Procedure  
The EnKF steps used in the data assimilation of the Maccarese study can be summarized as follows:  
1. Initialization of the model ensemble: an ensemble of N model simulations (N = 100 in our case) was generated. Each element of the ensemble was obtained by creating a different set of model parameters. Some parameters were considered fixed (Table 1), while for the calibrated parameters a value was randomly sampled from a truncated gaussian distribution with fixed average and lower and upper limits corresponding to the range obtained during the calibration (Table 1). This perturbation allows for the simulation of the error covariance.
2. Forecast step: a simulation was run with a daily timestep separately for each element of the model ensemble, till the day of observation, to obtain an ensemble of simulated LAI values. The error covariance of the forecast can be calculated from the ensemble as in Equation (A12): \[(\text{P}^{\text{E}})_{\text{t}}\text{f}=(\text{X}_{\text{t}}-\text{E}\,|\, \text{X}_{\text{t}}\,|)\cdot(\text{X}_{\text{t}}-\text{E}\,|\,\text{X}_{\text {t}}\,|)\text{T}/(\text{N}-1),\] (A12) where \((\text{P}^{\text{E}})_{\text{t}}\text{f}\) is the error covariance of the ensemble of forecasts at time t, E \(|\,\text{X}_{\text{t}}\,|\)  the ensemble of model state variables (LAI in this case) at time t, and Xt is the simulated LAI mean value.
3. Observation error propagation: an ensemble of N LAI observations was generated for each day with a LAI observation (in our case, each day of the growth cycle, due to the LAI fitting procedure). The ensemble was obtained by randomly sampling from a gaussian distribution with an average equal to the EO-derived LAI value and a standard deviation of 10%. Similarly, to the simulated values, the error covariance of the observation can be calculated from the ensemble as in Equation (A13): \[(\text{R}^{\text{E}})_{\text{t}}\text{f}=(\text{Y}_{\text{t}}-\text{E}\,|\, \text{Y}_{\text{t}}\,|)\cdot(\text{Y}_{\text{t}}-\text{E}\,|\,\text{Y}\,|) \text{T}/(\text{N}-1),\] (A13) where \((\text{R}^{\text{E}})_{\text{t}}\text{f}\) is the error covariance of the ensemble of observations at time t, E \(|\,\text{Y}_{\text{t}}\,|\)  the ensemble of observations and Yt the original mean value.  
4. Update step: the mean state and the model state covariances are updated using the Kalman gain (for each ensemble element) following Equation (A14): \[\mathrm{K_{t}}=\mathrm{P_{t}}^{\mathrm{f}}\cdot\mathrm{H^{T}}\cdot(\mathrm{H} \cdot\mathrm{P_{t}}^{\mathrm{f}}\cdot\mathrm{H^{T}}+\mathrm{R_{t}})^{-1},\] (A14) where \(\mathrm{K_{t}}\) is the Kalman gain at time t, \(\mathrm{P_{t}}^{\mathrm{f}}\) is the model state forecast at time t, H is the observation operator, assumed constant over time, \(\mathrm{R_{t}}\) is the measurement error at time t. The mean state was (Equation (A15)): \[\mathrm{x_{t}}^{\mathrm{a}}=\mathrm{x_{t}}^{\mathrm{f}}+\mathrm{K_{t}}\cdot( \mathrm{y_{t}}-\mathrm{H_{x}}\mathrm{f}),\] (A15) where \(\mathrm{x_{t}}^{\mathrm{a}}\) is the updated mean state, obtained from the combination of the model forecast mean state \(\mathrm{x_{t}}^{\mathrm{f}}\), the observation mean \(\mathrm{x_{t}}^{\mathrm{f}}\), and the Kalman gain. The model state covariance at time t (\(\mathrm{P_{t}}^{\mathrm{a}}\)) is expressed by Equation (A16): \[\mathrm{P_{t}}^{\mathrm{a}}=(\mathrm{I}-\mathrm{K_{t}}\cdot\mathrm{H})\cdot \mathrm{P_{t}}^{\mathrm{f}},\] (A16) where I is the identity matrix. 5. The forecast, observation error propagation and update steps were repeated recursively till the end of the simulation, assimilating each new observation.