🌱 A look back at a ground-based field campaign from Cascavel, Brazil (2015–16), where two crops — common bean and soybean — were tracked survey by survey with terrestrial sensors: a hyperspectral spectroradiometer, an active NDVI sensor, LAI, chlorophyll (SPAD-type index), plant height, intercepted PAR, and a photo of every visit.


Common bean

Sown on 2016-03-03 and surveyed at DAS 0, 10, 25, 43, 55, 70 (13 monitored points), tracking chlorophyll index, height, LAI, PAR interception, and NDVI (ground sensor + field spectrometer) from emergence through pod fill.

Each variable has its own units and scale, so the curves below are indexed to that variable’s own season peak (=100%) to compare growth shapes — height and LAI plateau by flowering (DAS43), while NDVI keeps climbing into pod fill (DAS55) before the frost cuts every curve short at DAS70.

{"type":"line","data":{"labels":["0","10","25","43","55","70"],"datasets":[{"label":"LAI (leaf area index)","data":[null,3.6,63.5,100.0,96.3,46.9],"borderColor":"#2a78d6","backgroundColor":"#2a78d6","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true},{"label":"Height","data":[null,22.1,50.0,100.0,97.2,94.8],"borderColor":"#eb6834","backgroundColor":"#eb6834","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true},{"label":"Chlorophyll index","data":[null,null,89.6,97.5,100.0,85.1],"borderColor":"#1baf7a","backgroundColor":"#1baf7a","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true},{"label":"NDVI (ground sensor)","data":[30.6,26.7,70.9,97.9,100.0,63.2],"borderColor":"#eda100","backgroundColor":"#eda100","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true}]},"options":{"responsive":true,"interaction":{"mode":"index","intersect":false},"plugins":{"legend":{"position":"bottom","labels":{"color":"#767671","boxWidth":12}},"title":{"display":true,"text":"Bean — biophysical variables (indexed to season peak)","color":"#767671"}},"scales":{"x":{"title":{"display":true,"text":"Days after sowing (DAS)","color":"#767671"},"ticks":{"color":"#898781"},"grid":{"color":"rgba(137,135,129,0.2)"}},"y":{"title":{"display":true,"text":"% of each variable's season peak","color":"#767671"},"min":0,"max":110,"ticks":{"color":"#898781"},"grid":{"color":"rgba(137,135,129,0.2)"}}}}}
DAS 0 · 2016-03-03 — sowing
DAS 10 · 2016-03-14 — emergence
DAS 25 · 2016-03-29 — vegetative growth
DAS 43 · 2016-04-16 — flowering
DAS 55 · 2016-04-29 — pod fill
DAS 70 · 2016-05-14

The canopy reflectance spectrum itself shifts with growth stage: the DAS43 peak-canopy curve shows a much deeper red chlorophyll absorption dip (~680 nm) and higher near-infrared plateau (750–1300 nm) than the sparse DAS10 canopy — and the frost-killed DAS70 curve partly recovers toward the bare-soil shape of DAS10.

{"type":"line","data":{"labels":[400,420,440,460,480,500,520,540,560,580,600,620,640,660,680,700,720,740,760,780,800,820,840,860,880,900,920,940,960,980,1020,1040,1060,1080,1100,1120,1140,1160,1180,1200,1220,1240,1260,1280,1300,1320,1480,1500,1520,1540,1560,1580,1600,1620,1640,1660,1680,1700,1720,1740,1760,1780,2000,2020,2040,2060,2080,2100,2120,2140,2160,2180,2200,2220,2240,2260,2280,2300,2320,2340,2360],"datasets":[{"label":"DAS 10 (early)","data":[0.04,0.042,0.045,0.048,0.051,0.055,0.06,0.066,0.075,0.086,0.097,0.107,0.116,0.123,0.131,0.141,0.151,0.158,0.164,0.169,0.173,0.177,0.18,0.182,0.186,0.19,0.194,0.196,0.2,0.204,0.21,0.213,0.216,0.219,0.222,0.227,0.23,0.23,0.231,0.233,0.235,0.238,0.24,0.243,0.245,0.247,0.241,0.242,0.246,0.249,0.252,0.254,0.258,0.262,0.264,0.265,0.265,0.265,0.264,0.265,0.265,0.268,0.247,0.252,0.244,0.24,0.237,0.237,0.239,0.241,0.239,0.236,0.235,0.237,0.232,0.219,0.215,0.215,0.213,0.213,0.215],"borderColor":"#86b6ef","backgroundColor":"#86b6ef","fill":false,"tension":0.15,"pointRadius":0,"borderWidth":2},{"label":"DAS 43 (peak)","data":[0.02,0.022,0.024,0.025,0.026,0.028,0.044,0.068,0.07,0.056,0.051,0.046,0.044,0.039,0.039,0.083,0.21,0.32,0.358,0.357,0.358,0.361,0.359,0.359,0.36,0.364,0.363,0.361,0.347,0.343,0.352,0.358,0.362,0.364,0.364,0.369,0.349,0.319,0.313,0.313,0.316,0.318,0.322,0.321,0.314,0.299,0.101,0.112,0.128,0.144,0.16,0.174,0.186,0.195,0.202,0.207,0.207,0.205,0.2,0.192,0.183,0.177,0.054,0.061,0.063,0.07,0.075,0.082,0.089,0.094,0.097,0.099,0.101,0.102,0.099,0.093,0.088,0.083,0.078,0.073,0.067],"borderColor":"#2a78d6","backgroundColor":"#2a78d6","fill":false,"tension":0.15,"pointRadius":0,"borderWidth":2},{"label":"DAS 70 (post-frost)","data":[0.023,0.024,0.025,0.027,0.028,0.031,0.04,0.051,0.056,0.055,0.057,0.057,0.058,0.056,0.058,0.088,0.136,0.164,0.176,0.181,0.187,0.193,0.197,0.201,0.205,0.211,0.214,0.214,0.213,0.215,0.223,0.229,0.233,0.236,0.239,0.246,0.24,0.228,0.227,0.228,0.231,0.234,0.238,0.24,0.239,0.234,0.143,0.149,0.159,0.17,0.179,0.188,0.196,0.202,0.207,0.211,0.211,0.21,0.208,0.205,0.201,0.2,0.115,0.126,0.126,0.131,0.135,0.14,0.146,0.15,0.152,0.153,0.154,0.156,0.152,0.144,0.138,0.134,0.13,0.127,0.124],"borderColor":"#104281","backgroundColor":"#104281","fill":false,"tension":0.15,"pointRadius":0,"borderWidth":2}]},"options":{"responsive":true,"interaction":{"mode":"index","intersect":false},"plugins":{"legend":{"position":"bottom","labels":{"color":"#767671","boxWidth":12}},"title":{"display":true,"text":"Bean — mean canopy reflectance spectrum","color":"#767671"}},"scales":{"x":{"title":{"display":true,"text":"Wavelength (nm)","color":"#767671"},"ticks":{"color":"#898781","maxTicksLimit":12},"grid":{"color":"rgba(137,135,129,0.15)"}},"y":{"title":{"display":true,"text":"Reflectance","color":"#767671"},"min":0,"max":0.7,"ticks":{"color":"#898781"},"grid":{"color":"rgba(137,135,129,0.15)"}}}}}

Soybean

Sown ahead of a 2015-11-10 first survey and tracked at DAS 34, 45, 81, 86, 110 (24 monitored points) through a full summer cycle, from canopy closure to senescence.

Same indexing as the bean chart: chlorophyll peaks earliest (DAS45), height and LAI plateau by DAS86, and every variable drops together at DAS110 as the crop matures toward harvest — a senescence signature rather than the bean’s abrupt frost cutoff.

{"type":"line","data":{"labels":["34","45","81","86","110"],"datasets":[{"label":"LAI (leaf area index)","data":[19.8,48.6,97.9,100.0,24.3],"borderColor":"#2a78d6","backgroundColor":"#2a78d6","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true},{"label":"Height","data":[27.4,52.3,97.9,100.0,97.9],"borderColor":"#eb6834","backgroundColor":"#eb6834","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true},{"label":"Chlorophyll index","data":[85.9,97.4,96.9,100.0,57.6],"borderColor":"#1baf7a","backgroundColor":"#1baf7a","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true},{"label":"NDVI (ground sensor)","data":[69.3,92.3,100.0,98.7,65.4],"borderColor":"#eda100","backgroundColor":"#eda100","fill":false,"tension":0.3,"pointRadius":3,"borderWidth":2,"spanGaps":true}]},"options":{"responsive":true,"interaction":{"mode":"index","intersect":false},"plugins":{"legend":{"position":"bottom","labels":{"color":"#767671","boxWidth":12}},"title":{"display":true,"text":"Soybean — biophysical variables (indexed to season peak)","color":"#767671"}},"scales":{"x":{"title":{"display":true,"text":"Days after sowing (DAS)","color":"#767671"},"ticks":{"color":"#898781"},"grid":{"color":"rgba(137,135,129,0.2)"}},"y":{"title":{"display":true,"text":"% of each variable's season peak","color":"#767671"},"min":0,"max":110,"ticks":{"color":"#898781"},"grid":{"color":"rgba(137,135,129,0.2)"}}}}}
DAS 34 · 2015-11-10 — canopy closure
DAS 81 · 2015-12-17 — full bloom
DAS 86 · 2015-12-22 — pod fill
DAS 110 · 2016-01-25 — senescence

The soybean spectrum rises to a far higher near-infrared plateau at peak canopy (DAS86, ~0.6 reflectance) than bean ever reaches — denser, taller canopy — then collapses toward the senescent DAS110 curve as leaves yellow and dry down.

{"type":"line","data":{"labels":[400,420,440,460,480,500,520,540,560,580,600,620,640,660,680,700,720,740,760,780,800,820,840,860,880,900,920,940,960,980,1020,1040,1060,1080,1100,1120,1140,1160,1180,1200,1220,1240,1260,1280,1300,1320,1480,1500,1520,1540,1560,1580,1600,1620,1640,1660,1680,1700,1720,1740,1760,1780,2000,2020,2040,2060,2080,2100,2120,2140,2160,2180,2200,2220,2240,2260,2280,2300,2320,2340,2360],"datasets":[{"label":"DAS 34 (early)","data":[0.028,0.032,0.034,0.036,0.038,0.041,0.054,0.075,0.081,0.075,0.076,0.075,0.077,0.076,0.079,0.113,0.204,0.274,0.3,0.298,0.301,0.304,0.305,0.307,0.309,0.315,0.314,0.315,0.315,0.313,0.319,0.321,0.325,0.328,0.332,0.342,0.335,0.32,0.317,0.318,0.321,0.323,0.326,0.327,0.328,0.324,0.194,0.2,0.212,0.225,0.237,0.248,0.257,0.265,0.271,0.274,0.273,0.271,0.268,0.264,0.258,0.257,0.147,0.158,0.153,0.158,0.159,0.163,0.17,0.174,0.177,0.178,0.179,0.18,0.175,0.164,0.159,0.156,0.151,0.148,0.144],"borderColor":"rgba(235,104,52,0.55)","backgroundColor":"rgba(235,104,52,0.55)","fill":false,"tension":0.15,"pointRadius":0,"borderWidth":2},{"label":"DAS 86 (peak)","data":[0.017,0.019,0.02,0.021,0.021,0.022,0.033,0.052,0.052,0.037,0.031,0.026,0.024,0.02,0.021,0.049,0.2,0.444,0.576,0.591,0.601,0.611,0.613,0.617,0.621,0.628,0.626,0.601,0.567,0.564,0.583,0.598,0.608,0.609,0.606,0.609,0.559,0.495,0.483,0.48,0.485,0.491,0.497,0.495,0.48,0.449,0.117,0.135,0.159,0.184,0.208,0.23,0.248,0.262,0.273,0.28,0.278,0.271,0.263,0.251,0.237,0.229,0.042,0.053,0.06,0.071,0.082,0.093,0.103,0.111,0.115,0.118,0.122,0.124,0.121,0.113,0.104,0.095,0.088,0.081,0.073],"borderColor":"#eb6834","backgroundColor":"#eb6834","fill":false,"tension":0.15,"pointRadius":0,"borderWidth":2},{"label":"DAS 110 (senescent)","data":[0.026,0.029,0.031,0.034,0.036,0.042,0.068,0.099,0.11,0.104,0.103,0.099,0.097,0.084,0.077,0.167,0.287,0.359,0.392,0.407,0.424,0.439,0.453,0.466,0.478,0.487,0.494,0.485,0.47,0.475,0.503,0.52,0.532,0.537,0.535,0.538,0.503,0.452,0.445,0.443,0.451,0.46,0.468,0.468,0.457,0.433,0.174,0.181,0.2,0.219,0.238,0.254,0.269,0.281,0.289,0.293,0.291,0.285,0.275,0.268,0.258,0.255,0.094,0.098,0.097,0.104,0.108,0.114,0.121,0.126,0.13,0.132,0.136,0.136,0.132,0.122,0.115,0.108,0.103,0.1,0.091],"borderColor":"#8a3c1c","backgroundColor":"#8a3c1c","fill":false,"tension":0.15,"pointRadius":0,"borderWidth":2}]},"options":{"responsive":true,"interaction":{"mode":"index","intersect":false},"plugins":{"legend":{"position":"bottom","labels":{"color":"#767671","boxWidth":12}},"title":{"display":true,"text":"Soybean — mean canopy reflectance spectrum","color":"#767671"}},"scales":{"x":{"title":{"display":true,"text":"Wavelength (nm)","color":"#767671"},"ticks":{"color":"#898781","maxTicksLimit":12},"grid":{"color":"rgba(137,135,129,0.15)"}},"y":{"title":{"display":true,"text":"Reflectance","color":"#767671"},"min":0,"max":0.7,"ticks":{"color":"#898781"},"grid":{"color":"rgba(137,135,129,0.15)"}}}}}

This dataset — spectra, biophysics, and 499 geotagged field photos — supported several publications on estimating crop biophysical parameters from terrestrial remote sensing:

The full ground-truth dataset backs the original MSc dissertation: