I'm looking to populate my scene by runtime generating points and assign them with tree objects. A sample tree data looks like this:

Here is my first try.
HEIGHT=57.17676
Init-->
scatter(surface, 20, gaussian) { TREE }
scatter(surface, 10, gaussian) { TREE }
scatter(surface, 10, gaussian) { TREE }
TREE -->
alignScopeToAxes(y)
s(0,HEIGHT,0)
i(getAssetPath)
center(xz)
Tree.
getAssetPath = ( "assets/Plants/QuakingAspen/QuakingAspen_Model_0.obj" )
So as a first step, I would want to have a set of lists (species, height, number of trees etc.), so that my TREE function and scatter function can loop through all of them, unlike above, where I manually type in each entry. Because I have thousands of entries like this.
And the ultimate goal is to directly read the csv file. I went through 3D vegetation with lumenRT rules, https://www.arcgis.com/home/item.html?id=0fd3bbe496c14844968011332f9f39b7, and seems they just typed in all the species name, height, etc to the cga files, so I have no idea how to do this.
Any help with the following two steps is much appreciated!
Chris Wilkins Brooks Patrick, Gert Van Maren, Thomas Fuchs, Cheryl Lau