Problem using otb-bv module to estimate biophysical variables

Configuration setup

My system : *Windows10
Version of the OTB : *7.1
I installed the OTB with : the core binaries with xdk and OTB from sources?

QGIS version : 3.12
Python version : 3.8?


I have a problem to use the otb-bv module from orfeo toolbox installed under windows. I installed the module from OTB sources and the otb-bv binaries are accessible and working (I use the command line functions -otbcli). I want to apply these functions to obtain the biophysical values of LANDSAT images.
I have several questions to ask you about the use and parameterization of the functions, and I hope you can enlighten me a bit because I’m a bit in the dark:

1- in otbcli_ProSailSimulator, for the soilfile parameter, do I have to indicate a complete soil spectrum (i.e. with continuous values over the range 400 to 2500 nm) or is a “pure” soil spectrum obtained from my landsat image (reflectance values only for landsat bands) sufficient?

2- still in otbcli_ProSailSimulator, can you please advise me on the estimation of the sensorzenith and azimuth parameters? I have calculated these parameters using the l8_angle tool of the usgs ( Knowing that the azimuth of the sensor’s view azimuth varies geographically and according to the spectral bands, should I average these values over the extent of my study area in order to inform the unique value of the parameter?

3- I do not understand at all the use of the function otbcli_BVInverseModelLearning. I don’t understand how to prepare my text file for the training parameter. I found the following document dpm_vegetation_status_v1.4.pdf (745.3 KB) which indicates that there is a python utility to prepare this file but I can’t find this function and I don’t know much about python. It says that the dependent variable (LAI or other) must be provided in the first column of the text file. But how to make the output file of the otbcli_ProSailSimulator simulation provide me with LAI values associated to the simulated reflectances according to the prosail properties and the sensor acquisition geometry? Where to find or how to run the python utilities “generateTrainingData” and “addVI”?

4- for the function otbcli_BVImageInversion, I don’t understand well the sentence “The use of the BVImageInversion application for images would be identical, but the removal of FAPAR and FCover and the addition of the vegetation indices should be implemented using the BandMath application which is standard in the ORFEO Toolbox distribution”. Do I need to create a stack containing my reflectance image + any NDVI and RVI? I don’t see what “but the removal of FAPAR and FCover” means?

I would be grateful if you could send me an example of a processing chain please.
Thank you for taking the time to read this message.