Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lidar Mission Planner

This code is designed to accompany the Hancock et al (2021) paper. The paper describes the design of a constellation of lidar satellites needed to give continuous global coverage: A Global Lidar System (GLS) and forms part of the UK Space Agency funded Global Lidar Altimetry MISsion (GLAMIS) project.

Hancock, S., McGrath, C., Lowe, C., Davenport, I. and Woodhouse, I., 2021. Requirements for a global lidar system: spaceborne lidar with wall-to-wall coverage. Royal Society Open Science, 8(12), p.211166.

AMENDMENT: Note that Hancock et al (2021) assumed isotropic reflectance from the ground, rather than the more correct Lambertian reflectance. For Lambertian reflectance the returned energy to a detector at nadir is twice that of an isotropic reflector. The code has been modified to represent Lambertian reflectors and so will give an answer double that of the equation in the paper. The swath width equation is now:

$s = \frac{P_{pay} L_{e}}{E_{det}} \frac{A}{\pi h^{2}} Q \rho \tau^{2} \frac{ r^{2} \left(R + h \right)^{\frac{3}{2}}}{R \sqrt{GM}}$

Where $s$ is swath width a lidar satellite can achieve, payload power, $P_{pay}$, laser efficiency, $L_{e}$, detected energy needed, $E_{det}$, altitude, $h$, resolution ,$r$, telescope area, $A$, detector efficiency, $Q$, surface reflectance, $\rho$, and atmospheric transmissivity, $\tau$.

A script to estimate the number of lidar satellites with different system characteristics needed to cover the world at a given spatial and temporal resolution. There is one script

glsPlanner.py

It takes satellite, lidar and data product parameters and then calculates the swath width achievable per satellite and then the number of satellites needed to achieve global coverage within a given timeframe.

Command line options are:

-h, --help          show this help message and exit
--A A               Mirror area in m2 Default 0.5 m^2
--D D               Instead of A above, mirror diameter can be defined in metres
--alt H             Satellite altitude in metres Default 400,000 m
--r RES             Ground resoltuion in metres Default 30m
--Le LE             Laser efficiency, as a fraction Default 0.08
--Q Q               Detector efficiency, as a fraction Default 0.45
--Edet EDET         Amount of energy detected per shot, in Joules\Default
                    0.562*10**-15
--photDet NPHOTONS  Amount of energy detected per shot, in photons.
                    Overrides Edet Default: Not used
--waveLen WAVELEN   Laser wavelength in nm default 850 nm
--Ppay PPAY         Payload power in W Default 240 W
--cFrac CFRAC       Average cloud cover fraction Default 0.55
--obsProb OBSPROB   Desired probability of a cloud free observation Default
                    0.8
--tRes TRES         Time to global coverage in years Default 5 years
--lat LAT           Latitude Default 0 degrees
--samp s            Spatial sampling density (0-1). Default 1
--Psigma PSIGMA     Pulse width in metres Default 5 m
--optEff OPTEFF     Optical efficienct Default 1
--pointErr POINTERR Pointing error in degrees Default 0
--dutyCyc DUTYCYC   Duty cycle as a fraction Default 1

The code outputs the number of satellites needed for global coverage for the chosen parameters, as well as the swath width per satellite. An example usage is (in this case using the default parameters and a 15 m ground resolution):

python3 glsPlanner.py --r 30

Which returns

This configuration would need 5 satellites to cover the world within 5 years, giving a 80.0 % chance of viewing each point
The satellite dwells over each pixel for 4.15 ms
The total amount of laser energy emitted per pixel must be 9.76 mJ, giving a continuous laser output power of 2.35 W
The swath width is 383 m made up of 13 ground tracks

A note on input parameters

This tool was developed for lidar mission design. The value for Edet can be found using a lidar signal simulator, such as the GEDI simulator. Other parameters can be found from satellite and lidar manufacturers. The defaults are based on GEDI and ICESat-2 and are explained in the accompanying paper.

A note on physical limits

The code above includes functions to estimate total laser shot energy, noise rates and power peak. Note that some laser sources are not capable of supporting some of the peak powers required.

Licensing

This code is open-source, under the Gnu Public License.

About

A script to estimate number of lidar satellites needed to cover the world

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages