Monday, August 30, 2010

Monday – 08/30/10

  • Preparing committee member research status update.
  • Pick up and install additional 8 GB RAM! After crashing the computer several times last night, this is a welcome addition.
  • New publication out today in Biotropica titled ‘Distinct Leaf-Trait Syndromes of Evergreen and Deciduous Trees in a Seasonally Dry Tropical Forest’ located in Western Mexico in which we investigate biotic and abiotic selective pressures on leaf traits, including herbivory, phylogenetic signal, and phenologic status.

Sunday, August 29, 2010

Sunday – 08/29/10

  • Refining direct and diffuse PAR models.
  • Learning to write IDL code using multi-threading (using multiple processors simultaneously) techniques for improved computation speed.

Saturday, August 28, 2010

Saturday – 08/28/10

First direct path forest structure rays are returned from direct par model. Needs much refinement but nice to have the first chunk functioning. Below see for 45 deg. elevation and 37 azimuth with a max distance of 100 horizontal meters.

55be9a43-ca70-4cba-8710-2362b6276b78

Example path through a randomly generated forest. next step is to deal with azimuth and elevation issues beyond 180 degrees, etc…

 

Considering now various approaches to deal with light extinction, including a inverted Beer-Lambert exponential extinction equation where “y = e-k*LAI”

Friday, August 27, 2010

Friday – 08/27/10

  • Working on diffuse PAR model. Who knew how simple it was to calculate Euclidean distances within a variable size array, meaning the diffuse model can be adjusted on the fly (using only the code below), and therefore much better parameterized to actual microclimate conditions. Joy!

 

x_2 = (findgen(nx) - xcen) ^ 2     ;X distances (squared)
y_2 = (findgen(ny) - ycen) ^ 2     ;Y distances (squared)  
im = fltarr( nx, ny, /NOZERO)     ;Make uninitialized output array

for i = 0L, ny-1 do begin                      ;Row loop
       im[0,i] = sqrt(x_2 + y_2[i])      ;Euclidian distance
endfor

thanks to NASA GSFC for base code! Here’s a small example from the procedure…

Here is output in cell fractions for a 5x5 array.

2.82843      2.23607      2.00000      2.23607      2.82843
2.23607      1.41421      1.00000      1.41421      2.23607
2.00000      1.00000     0.000000      1.00000      2.00000
2.23607      1.41421      1.00000      1.41421      2.23607
2.82843      2.23607      2.00000      2.23607      2.82843

 

Now how to make this work except within a variable size cylinder?

d = \sqrt{(x_2-x_1)^2 + (y_2-y_1)^2+ (z_2-z_1)^2}

 

excellent, here it is for 4 cells above our z base in meters, corrected for different x and z dimensions (0.56 and 0.15 m).

1.69375      1.38852      1.27059      1.38852      1.69375
1.38852     0.993579     0.820731     0.993579      1.38852
1.27059     0.820731     0.600000     0.820731      1.27059
1.38852     0.993579     0.820731     0.993579      1.38852
1.69375      1.38852      1.27059      1.38852      1.69375

 

On to the direct PAR model for a change of pace. Here is the preliminary brainstorm, a load of basic trig.

photo

Thursday, August 26, 2010

Thursday – 08/26/10

Continuing advances in the brutal world of LiDAR modeling. Memory is such a big problem!

 

bb5c1cf0-f44a-4ddb-bc84-05756676a20c

Wednesday, August 25, 2010

Wednesday – 08/25/10

  • Ongoing programming work. Now working to read into memory the waveform LiDAR image in small enough chunks to fit into RAM…However, I did upgrade to 12 GB ram after realizing that 6 was completely inadequate. Making progress and hopefully today will begin to code the actual direct and diffuse PAR models based on the waveform structure data.

c9766292-9a22-46a6-b7a3-b97a00f8c52b

Random screenshot of the IDL programming environment.

Tuesday, August 24, 2010

Tuesday – 08/24/10

  • Refine the data read in code. Need to code it able to both run iteratively through the entire image for the full on model, with adjustable temporal resolution and output parameters, and also to return specific location data.
  • Start the microclimate model.
  • Start to consider the approach for linking the leaf area density profiles and branch vs... leaf offsets with the hyperspectral and waveform data.
  • 72bea69e-7642-4edb-b1c3-a4bc5638df99

Example screen shot of one binned waveform, resolution 0.15 m vertical, 0.56 horizontal.

 

  • Also prep for field work tomorrow, unless I’m on a programming roll, then will stay here…

Monday, August 23, 2010

Monday – 08/23/10

  • Working on IDL code to read in a 3D  image subset based on specified UTM coordinates. Necessary as the waveform LiDAR image is 6 GB in size. Not as easy as it seems…  (1:45 pm; currently have a working script to read in a portion of an image, now improving it to read in correct area for microclimate modeling work)
  • Prepping gear for field work starting tomorrow through Thursday collecting LiCOR curves.

Sunday, August 22, 2010

Sunday – 08/22/2010

  • Revising solar positioning software, (finished)
  • Working on IDL code to convert from UTM to Lat long coordinates. This is necessary to link my waveform LiDAR voxels ('”volumetric pixels”) 3D locations, which are in UTM coordinates, to my solar positioning model which uses Latitude Longitude Altitude. (finished)

 

Yes! Just finished and tested to sub-meter conversion accuracy versus online sources. View of part of the code below…

ccf52969-3c25-4975-9e9a-cdc8e836ae5a

Friday & Saturday – 08/20-21/10

  • Finished R stats and figure generation for Peru and Bolivia datasets for Angelica’s presentation at IUFRO S. Korea.
  • Completed preliminary version of solar positioning software. The code uses JPL ephemeris data for maximum accuracy, reads rectangular universal coordinates of earth and sun locations and converts them to celestial equatorial  (right ascension and declination) compensating for light-time displacement and gravitational effects of other planetary bodies, then converts from celestial to topocentric using lat, long and altitude for location adjusting from true to apparent location caused by refraction, then adjusts from Gregorian to Julian date and compensates for precision issues with double floating point precision data in IDL, maintaining < second temporal accuracy via normalizing all Julian dates to the epoch 01.01.2009 at 00:00:00 Universal Time.
  • Accuracy/Precision of the code has been tested extensively versus the JPL Horizons online ephemeris generator and has < 0.2 degrees of Elevation and Azimuth from 1950-2050, more than adequate!

* Image from http://www.bsu.edu.

Thursday, August 19, 2010

Wed-Thur: 08/18-19/10

Mired in the depths of IDL astronomy programming trying to create a high precision solar path model, an important module within my microclimate / physiology model.

Wednesday, August 18, 2010

Tuesday – 08/17/10

  • Finished new LiCOR programs,
  • Installed new internal hard drive (1.5 TB) for upcoming modeling work,
  • Started coding sun tracking IDL module,

Monday, August 16, 2010

Mon – 08/16/10

  • Finish entering foliar data (done),
  • Calculate leaf areas and input (done),
  • Check LiCOR data quality for each sample (9; done) – have 5 valid sets from traverse 1, leaving one day of understory LiCOR work there,
  • Update LiCOR programs,
  • Clean and organize low & high tower climate data,
  • Clean and organize first interior climate dataset,

 

Work with Angelica to develop R stat codes for Bolivia dataset.

 

cda4a0ef-6c9b-4401-81e4-686292095a14

Calculating scanned leaf areas using magnetic lasso tool in Photoshop at 600 dpi…

Sat & Sun – 08/14-15/10

  • Finished entering leaf/trunk offset data,
  • Entering foliar data and organizing,

Friday, August 13, 2010

Friday – 08/12/2010

Finally came up with a working method to rain proof the LiCOR head while taking measurements, thanks to some great new clamps found at Home Depot.

image

image

Next steps are:

  1. to get the interior forest station running. (Done)
  2. finish entering leaf vs. wood data. (in progress)
  3. Finish calculating leaf areas for collected leaves, (later i guess)
  4. update LiCOR programs. (tomorrow i guess)

Sensors up and running:

image

image

One of 4. this one is setup to show the lowest strata micro-climate.

image

Final weatherproof setup, charged desiccant and ready for the next 10 days of data collection.

Wednesday, August 11, 2010

Wed – 08/11/2010

  • Heading to town, truck seems to have a broken strut following field work yesterday. Also getting a much needed oil change.
  • Following this I will:
    • finish the LiCOR programming,
    • finish the weather proof cover for the LiCOR,
    • continue organizing quality checking the tower climate data,

Tuesday – 08/10/2010

  • Spent morning getting tower climate data raw files which need to be cleaned and organized.
  • Differentially processed first two of ten plot final GPS stake coordinates.
  • Tree down in access road to field plots so went town instead to get parts for LiCOR rain cover.

IMG_0307

Saturday, August 7, 2010

Saturday – 08/07/10

Installed interior forest micro climate stations. Need to finish wiring them tomorrow morning, then spend the rest of the day programming R stats for Angelica’s data analysis.

Friday, August 6, 2010

Friday – Aug 6th 2010

  • Back from a family visit.
  • Download data form all towers, check desiccant levels, battery charge,
  • Pack for install of microclimate stations tomorrow,
  • Enter data collected last week,
  • Help Angelica with R coding for her stats,
  • Finish review for FORECO LiDAR article,