Tricks
Prior value selection
If you know your research area well, you might want to “recommend” the retrieval algorithm to stay close to, say, mean values of the parameters.
For this purpose on the Input tab:
Set value column to the mean value of your parameter.
Set uncertainty as the standard deviation of your parameter.
Uncomment the line in
COST4SAIL()(currently 88)
87er2 = 0;
88er2 = (p - prior.Apm) ./ prior.Aps;
89
90%% total error
91er = [er1 ; 3E-2* er2]; % change value of 3E-2 to higher / lower
Speed up optimization (not recommended)
If you prefer quantity over quality you may provide additional lsqnonlin() parameters in the fit_spectra().
With stoptol == 1E-6 one spectra takes ~12 seconds, with stoptol == 1E-6 ~3 seconds (currently line 15).
15 stoptol = 1E-3; % we recommend e-6
Warning
With stoptol 1E-3 we were not able to reproduce with high quality even SCOPE own spectra without any additional noise.
stoptol = 1E-6:
stoptol = 1E-3:
Clearly not all parameters lie on 1 : 1 line anymore.
Synthetic data generation
Having changed code, input data, introduced new sesnors you might want to know if the retrieval still works properly.
You can generate spectra with known characteristics (forward SCOPE run) with helpers.generate_synthetic().
There are already ASD and MSI sensors simulated in folder ./measured/synthetic. The new sensors will be saved there as well.