Skip to content

Reflectance concepts #328

@jianyangli

Description

@jianyangli

This is a request for

  • a new feature
  • an enhancement to existing sbpy functionality
  • somethings else: support of future development of reflectance related code

The requested changes will be implemented by

  • me
  • the sbpy developers

High-level concept

Given the profound confusion of all sorts of different reflectance and albedo used in the planetary science research communities, I intend to make the definitions and implementations of the frequently used reflectance concepts clear in sbpy.photometry. The first step is to make a clear distinction between the reflectance of disk-resolved photometry (for a flat surface) and disk-integrated photometry (for integrated brightness of a planetary body) in sbpy.photometry.

Explain the relevance to sbpy

sbpy.photometry has implemented various disk-integrated phase function models, and a plan exists to implement disk-resolved photometric functions. It is essential to make the relevant concepts of physical quantities clear.

Proposal details

I'd like to call the reflectivity from a surface "reflectance", which is associated with three scattering angles: the incidence angle (i), emission angle (e), and phase angle (a). A specific reflectance, the bidirectional reflectance, r(i, e, a), has a unit of [1/sr], such that the scattered radiance in a particular direction, I(i, e, a), is expressed as the product of incident flux, F, and bidirectional reflectance: I(i, e, a) = F * r(i, e, a). There are various forms of reflectance quantities, such as radiance factor (RADF), reflectance factor (REFF), and bidirectional reflectance distribution function (BRDF), which will be implemented later in sbpy.photometry.

On the other hand, I intend to call the reflectivity associated with the disk-integrated brightness of a planetary body "albedo". The definition is: albedo is the ratio of the disk-integrated brightness of a solar system planetary body at an arbitrary phase angle to that of a perfect Lambert disk of the same radius and at the same distance as the body, but illuminated and observed perpendicularly. As an integrated quantity, albedo only depends on phase angle. From this definition, the albedo of a planetary body at a particular phase angle, p(a), can be easily related to geometric albedo (pv) and disk-integrated phase function (Phi(a)) as: p(a) = pv * Phi(a). Albedo is dimensionless.

Based on the above definitions, albedo can be calculated by integrating reflectance over the illuminated and visible part on a planetary surface, and then ratioing the integral to the corresponding reflectance of a perfect Lambert disk.

Example (pseudo-)code

I've already started to implement the ideas. A WIP PR #329 is open to support the discussion of this issue. Here is a summary of what has been done in PR #329 :

  1. I added a unit albedo_unit, which is essentially equivalent to u.dimensionless_unscaled, to specify albedo.
  2. Renamed the equivalency function reflectance to dimensionless_albedo.
  3. Added the conversion pair between albedo and cross-section for a given total brightness (flux or magnitude). This pair is redundant, but just for the sake of completeness.
  4. Updated photometry module wherever uses the original reflectance equivalencies to accommodate the new definition of albedo.

** For discussion**

I'd like to get input from the communities who work on planetary photometry. Do you think the above definitions make sense and intuitive when it comes to use the sbpy.photometry code in actual observations and data reduction/analysis? Is it necessary to implement something like albedo_unit? Any suggestions and/or ideas would be very welcome.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions