Advanced Question How can I calculate the planetary albedo at runtime?

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
Am calculating reflected Earth light on solar arrays and heat loads from planets for the NTR martian rocket. I've got average numbers for Earth's IR and albedo, and also design-level data from Gilmore's thermal control handbook, but was wondering if it is possible to calculate somehow the real albedo as shown by Orbiter. The crazy idea is to integrate the light coming from the Earth from what is drawn in the screen, but I'm open to suggestions :)

EDIT: yes, I know about MODIS (http://www-modis.bu.edu/brdf_albedo/datasets.html), but need something less bulky (am slightly tired of half-gigabyte datasets).
 
Last edited:

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,891
Reaction score
2,141
Points
203
Location
between the planets
The crazy idea is to integrate the light coming from the Earth from what is drawn in the screen

The trouble probably is that this stuff happens so deep down in the directX libraries that you don't have direct access to it. Maybe by requesting a function that provides the information in one of the graphics clients might be able to rip it from the gpu's heart, but otherwise you're most likely left to calculate it yourself...
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
Somebody (Dan Bhanderi) has already done that: http://www.mathworks.com/matlabcentral/fileexchange/11226-earth-albedo-toolbox :)

EDIT: clarification - he's authored a smaller model, not the DirectX stuff...
I'm trying to find the rough TOMS data he cites through the Wayback machine...

EDIT #2: found the data here: ftp://toms.gsfc.nasa.gov/pub/eptoms/data/reflectivity/Y2005/

The files are ASCII, I simply took the data for the first day of each month, and suppose a 188x288 array of bytes would fit into available memory :)

EDIT #3: for the NTR stage I have now opted for the simplest, hard-coded (constant albedo for each planet likely to be visited) approach. Would be interesting though to translate Bhanderi's Mathcad code into C++ and run the code in a background thread, to avoid hangups.
 
Last edited:
Top