My goal is to estimate the color of a hypothetical (but realistic) surface through simulation of the spectrum of the light reflected on the surface.
In the simulation, a light with known spectrum is reflected on an ideal white surface coated with a layer of a given pigment.
The thickness of the layer and the concentration of the pigment are represented by a single variable C (larger value -> thicker layer and/or more concentrated pigment).
I'm starting with the data of the extraterrestial solar spectrum and the spectral molar attenuation coefficient of the clorophyll alpha that I got on this site. In all cases I used wavelengths from 300 to 800 nm with 1 nm intervals (I ignored the non-interger wavelengths)
I'm using Osram's Color Calculator for the job. It correctly found that the solar spectrum I have is a white light near 6000K.
The molar attenuation coefficient (considering a homogenous, uniform pigment layer) is related to the absorbance by the expression
A = εcℓ
Where ε is the molar attenuation coefficient of the material, c is the molar concentration and ℓ is the length of the path made by light through the material.
Once ℓ depends on the thickness and c is the pigment concentration, both are represented by my variable C, so I rewrote this as:
A = εC .
Using the definition of the absorbance:
A = log10(I0/I);
where I0 is the radiant flux recieved by the material and I is radiant flux transmitted by it, we can do:
εC = log10(I0/I)
10^εC = I0/I
I*10^εC = I0
I = I0/(10^εC)
Doing that for each wavelength, using the values of I0 from the solar spectrum and the values of ε from the clorophyll data, I can get the reflected spectrum according to the C I choose.
Using a small C (0.4), as expected, the surface is almost white, just like a paper with very diluted ink:
The problem is that when I increased my C, the color started to shift towards a cian-blue color, far from the green I expected:
Changing the base of the exponential and/or multiplying the factors by constants didn't change the resulting color: It's always blue.
The data I got seems to check, I've looked in other places and that's how the clorophyll alpha absorbance should look like.
Any ideas on where I got wrong?
Ps.: Is also looks blue simulating with Equal Energy white light and other white spectra I tested.