TOA radiance to TOA reflectance conversion / Solar irradiance model

337 views
Skip to first unread message

karim....@planet.com

unread,
Feb 24, 2017, 9:19:26 AM2/24/17
to Py6S
Hi,

I'd like to convert the TOA radiance from a satellite measurement to a TOA reflectance. My current understanding is that s.outputs.apparent_reflectance corresponds to TOA reflectance; is that correct?

More importantly: Which solar irradiance model is actually used in Py6S

Cheers!

Robin Wilson

unread,
Feb 25, 2017, 3:51:29 AM2/25/17
to py...@googlegroups.com
Hi,

Yes, s.outputs.apparent_reflectance is the TOA reflectance.

The details of the solar irradiance data used by the underlying 6S model are given in the 6S Users Guide (see http://6s.ltdri.org/pages/manual.html). Page 179 (in Part 3) shows a graph of the solar irradiance data, which comes from:

H. Neckel, and D. Labs, The solar radiation between 3300 and 12500, Solar Physics, 90, 205- 258, 1984.

Best regards,

Robin
Planet Labs Germany GmbH | Sitz Berlin | Amtsgericht Charlottenburg - Registergericht | HRB 175210 B | Geschäftsführer: Ryan Johnson, Massimiliano Vitale
--
You received this message because you are subscribed to the Google Groups "Py6S" group.
To unsubscribe from this group and stop receiving emails from it, send an email to py6s+uns...@googlegroups.com.
To post to this group, send email to py...@googlegroups.com.
Visit this group at https://groups.google.com/group/py6s.

Karim Lenhard

unread,
Feb 27, 2017, 8:29:53 AM2/27/17
to py...@googlegroups.com
Great, thanks!

On Sat, Feb 25, 2017 at 9:51 AM, Robin Wilson <ro...@rtwilson.com> wrote:
Hi,

Yes, s.outputs.apparent_reflectance is the TOA reflectance.

The details of the solar irradiance data used by the underlying 6S model are given in the 6S Users Guide (see http://6s.ltdri.org/pages/manual.html). Page 179 (in Part 3) shows a graph of the solar irradiance data, which comes from:

H. Neckel, and D. Labs, The solar radiation between 3300 and 12500, Solar Physics, 90, 205- 258, 1984.

Best regards,

Robin

On 24 February 2017 at 14:19:28, karim.lenhard via Py6S (py...@googlegroups.com) wrote:

Hi,

I'd like to convert the TOA radiance from a satellite measurement to a TOA reflectance. My current understanding is that s.outputs.apparent_reflectance corresponds to TOA reflectance; is that correct?

More importantly: Which solar irradiance model is actually used in Py6S

Cheers!

Planet Labs Germany GmbH | Sitz Berlin | Amtsgericht Charlottenburg - Registergericht | HRB 175210 B | Geschäftsführer: Ryan Johnson, Massimiliano Vitale
--
You received this message because you are subscribed to the Google Groups "Py6S" group.
To unsubscribe from this group and stop receiving emails from it, send an email to py6s+unsubscribe@googlegroups.com.

To post to this group, send email to py...@googlegroups.com.
Visit this group at https://groups.google.com/group/py6s.

--
You received this message because you are subscribed to a topic in the Google Groups "Py6S" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/py6s/MVd7ctgkFgQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to py6s+unsubscribe@googlegroups.com.

To post to this group, send email to py...@googlegroups.com.
Visit this group at https://groups.google.com/group/py6s.



--
Dr. Karim Lenhard
Cal/Val Engineer
Planet
karim....@planet.com
T: +49 30 609 8300 208
M: +49 179 900 2168

www.planet.com

karim....@planet.com

unread,
Feb 28, 2017, 11:24:52 AM2/28/17
to Py6S
Hey Robin,

One more question in this regard: Is it possible to retrieve the integrated (over the band responses) solar irradiances from the SixS object, instead of having to compute the apparent reflectance for individual pixels / radiances via the SixS object?

Cheers,
Karim

Robin Wilson

unread,
Mar 3, 2017, 5:49:22 AM3/3/17
to py...@googlegroups.com

Hi Karim,

Part o the text-based output of the underlying 6S model (available as s.outputs.fulltext) includes the following lines:

*                         int. absolute values of                             *
*                         -----------------------                             *
*                      irr. at ground level (w/m2/mic)                        *
*     direct solar irr.    atm. diffuse irr.    environment  irr              *
*             707.010             619.158              83.695                 *
*                      rad at satel. level (w/m2/sr/mic)                      *
*     atm. intrin. rad.    background  rad.    pixel  radiance                *
*               0.000               0.000             134.632                 *

These are integrated over the band responses, and include three measures of irradiance: direct (from the sun), atmospheric (from scattering etc) and environmental (from surrounding surfaces). These are available in Py6S as s.outputs.direct_solar_irradiance, s.outputs.diffuse_solar_irradiance and s.outputs.environmental_irradiance.

You may also be interested in the outputs you can get when turning on atmospheric correction mode (using, for example, s.atmos_corr = AtmosCorr.AtmosCorrLambertianFromRadiance(87.5)). This gives fulltext output of:

*******************************************************************************
*                        atmospheric correction result                        *
*                        -----------------------------                        *
*       input apparent reflectance            :    0.177                      *
*       measured radiance [w/m2/sr/mic]       :   87.500                      *
*       atmospherically corrected reflectance                                 *
*       Lambertian case :      0.19911                                        *
*       BRDF       case :      0.19911                                        *
*       coefficients xa xb xc                 :  0.00237  0.00000  0.19788    *
*       y=xa*(measured radiance)-xb;  acr=y/(1.+xc*y)                         *
*******************************************************************************

which includes three coefficients (xa, xb and xc) to convert from measured radiance to atmospherically-corrected reflectance. These coefficients are available as s.outputs.coef_xa, s.outputs.coef_xb and s.outputs.coef_xc, and can be used to convert multiple radiances to reflectances without needing to run 6S multiple times.

Hope that helps,

Robin

Reply all
Reply to author
Forward
0 new messages