Author: Prachi Bisht Date: 06-05-2024
albedoIrradiance.py script calculates the irradiance due to earthshine/albedo on a LEO spacecraft at a given time and (latitude, longitude, altitude) using CERES (Clouds and the Earth’s Radiant Energy System) Data Products: EBAF (for top-of-atmosphere, TOA incoming solar flux) and SYN1Deg (for top-of-atmosphere, TOA albedo).
Use case: quantify the earthshine irradiance on photovoltaics like solar panels/sun sensors aboard a LEO spacecraft
See 'demo.py' for guidance.
getEarthAlbedodf(filename)
input:
1). albFilename: albedo file from
https://ceres.larc.nasa.gov/data/#syn1deg-level-3 (SYN1deg)
for the specified date/month
2). inFilename: incoming solar flux file from
https://ceres.larc.nasa.gov/data/#energy-balanced-and-filled-ebaf (EBAF)
for the specified date/month
Output:
1). global dataframe containing:
['lat', 'lon', 'cell_area', 'albedo']
of earth for the date/month 'inFilename'/'albFilename' was collected for
getIrradianceAtSat(at_time, sc_lat, sc_lon, sc_alt)
Input:
1). at_time: time eg. "23-12-2023 00:00:13"
2). sc_lat: spacecraft latitude (degrees)
3). sc_lon: spacecraft longitude (degrees)
4). sc_alt: spacecraft altitude (km)
Output:
1). dataframe containing:
['lat', 'lon', 'cell_area', 'albedo',
'dot_prod_with_sun', 'sunlit_flag',
'dot_prod_with_sat', 'irradiance']
all within the S/C field of view
2). albedo irradiance on a LEO S/C in W/m^2
- numpy==1.21.5
- pandas==1.3.3
- astropy==4.3.1
You can install these dependencies using pip:
pip install -r requirements.txt
- Place your albedo data CSV file in the subdirectory 'albedo_dataset'.
- Update the
filename
(albedo data CSV file),sc_lat
,sc_lon
,sc_alt
, andat_time
variables in themain
function with your desired values. - Run the script:
python albedoIrradiance.py
- The script will output the irradiance at the specified location and time in Watts per square meter (W/m^2).
Location: (22°, 88°, 740km)
Time: 23-12-2023 00:00:13
Irradiance: [irradiance] W/m^2