Uploaded by simka grey

DART User Manual

advertisement
DART USER'S
MANUAL (5.10.0)
• The 3 DART modes and 2 light modes
• Edition of DART simulations
• Display and processing tools
• Format of input/output DART files
• Work packages
DART simulates passive remote sensing (RS) signals and the radiative budget (RB) of urban and natural landscapes
using 2 light-modes. The Forward light-mode (i.e., DART-FT and DART-RC: LiDAR) voxelizes landscapes and traces
light with DOM (discrete ordinate method) or MC (Monte Carlo) methods. The Bi-directional light-mode (DART-Lux)
does not voxelize landscapes and traces light with bi-directional MC methods. It is usually advised for RS products of
large and complex landscapes (not for schematic scenes), as it is faster and needs less memory. Presently, it is also
advised for RB products if RB is for parts of the scene or specific sene elements. DART has 3 modes:
- Passive RS and RB: reflectance and brightness temperature images, albedo, SIF (sun induced fluorescence),... This
mode is called DART-FT for the DOM Forward light-mode and DART-Lux for the Bi-directional light-mode.
- LiDAR: waveform, photon counting, point cloud. This mode is called DART-RC for the MC Forward light-mode, and
DART-Lux for the Bi-directional light-mode.
- Monte Carlo: reflectance of landscapes without atmosphere. It uses very basic MC methods and is rarely used.
Reference:
DART_User_Manual.docx
Release date:
September 11, 2023
Author:
Gastellu-Etchegorry Jean Philippe
CESBIO: Centre d’Etudes Spatiales de la BIOsphère - UMR 5126 (UPS-CNRS-CNES-IRD-INRAE)
18, avenue Edouard Belin, 31401 – Toulouse, France
: 05 61 55 85 01 - https://www.cesbio.cnrs.fr
2
CONTENT
I. Remote sensing and radiative budget modeling of natural and urban surfaces
6
II. DART model
7
III. DART functionalities and products
11
III.1 File Architecture
11
III.2 Graphical User Interface
11
III.3 Editor of simulation
13
III.4 RADIATIVE MODES, LIGHT-MODES, PARAMETERS and PRODUCTS
III.4.1 Radiative parameters identical in 'Passive RS & RB' and 'LiDAR'
III.4.2 Passive RS & RB: Forward mode (DART-FT)
14
15
16
Parameters of the Forward light mode
Radiative budget (RB)
Remote sensing (RS)
Sun induced fluorescence (SIF)
16
17
20
22
III.4.3 Passive RS & RB: Bi-directional mode (DART-Lux)
25
III.4.4 Monte Carlo (DART-MC)
III.4.5 LiDAR: Forward mode (DART-RC)
28
28
III.4.6 LiDAR: Bi-directional mode (DART-Lux LiDAR)
III.4.7 Earth scene products
III.4.8 Directions of rays
III.4.9 Optical and Temperature properties
33
34
34
36
III.4.10 The Earth scene
40
III.4.11 Atmosphere
III.4.12 Inversion (being removed)
49
53
Bi-directional parameters (Figure 22)
Remote Sensing products
Radiative budget
Single pulse
Multiple pulse
Discrete points: point cloud
Photon counting
TLS
Solar noise
Spectral optical properties (OP)
Temperature properties
Ground surface
Plots
Trees
Urban
Water surfaces
3D imported object
DAO
III.5 Run menu
III.5.1 DART basic modules
III.5.2 The LUT
III.5.3 Sequencer module
25
25
28
28
30
31
33
33
33
36
40
40
42
43
45
46
46
49
53
54
56
56
3
III.5.4 Python scripts to run DART modules
III.5.5 Pytools4dart
III.6 View menu
III.6.1 View scene 3D and 2D
III.6.2 View Image
III.6.3 3D object viewer
III.6.4 Directions 3D view
III.6.5 Directional reflectance /Temperature 1D & 2D: L(Ωv), ρ(Ωv), TB(Ωv)
III.6.6 LiDAR
a) Mono pulse
b) Multi pulse
III.6.7 Surface radiative budget (RB)
III.6.8 LUT
III.6.9 Report / data files
III.7 Tools menu: run DART tools
III.7.1 SAIL model (CF. MODULES_USER_MANUAL.PDF)
III.7.2 Leaf spectra inversion
III.7.3 Computation of parametric model coefficients
III.7.4 Creation of 3D objects
III.7.5 LUT tools: BRF model inversion and noised LUT
III.7.6 Topography tools
III.7.7 CoverMap importation
III.7.8 Band calculation tools
III.7.9 Color composite
III.7.10 3D Radiative budget extractor
III.7.11 DART database manager
IV. Format of DART files
IV.1 ALL DART MODES
Directions.txt & Directions.xml
LAD (Leaf Angle Distribution) derived files
Optical properties SQL databases (Lambertian_mineral.db,…)
3D factor matrix text file
Temperature: temperatures.txt and temperaturesPerTrianglePerCell.txt
Triangles area per voxel, dart.typ,…
Plots: Plots.txt and information file CoverMapExample.txt
Turbid trees: Tree.txt and Branch.txt
3D object: *.obj and *.mtl files, and object field
Solar constant.db and BandIrradianceFile.txt
Atmosphere SQL input databases (atmosphere.db, H2Oground.db)
Atmosphere output files
Sensor spectral sensitivity
Band directional reflectance, temperature and radiance: brf.nc
Simulation.properties.txt and dart.txt
Raster files (DART images, DEM,...)
Radiative budget (RB) of voxels and triangles
BroadBand files
Fluorescence: input and output files
IV.2 DART-FT
Maket.txt
Triangles files: triangles.txt, %cover
57
57
58
58
58
59
59
59
61
61
61
62
62
62
62
62
63
63
63
64
64
65
65
66
67
67
68
68
68
68
69
70
70
70
70
71
71
72
72
74
77
77
77
77
78
78
78
79
79
80
4
IV.3 DART-RC
Input files
Output files: Single pulse
Output files: Multi pulse
IV.4 DART-LUX
Files phase.scn, maket.scn and atmos.scn
File *.ply and *.ori
File RadiativeBudgetFigures.txt
File cellVolumes.txt
80
80
80
81
84
84
84
85
85
V. General advices
86
VI. Physical bases
88
VII. Work packages (WPs)
91
VII.1 DART OVERVIEW: WP0
91
VII.2 REFLECTANCE: WP1
124
VII.3 TEMPERATURE: WP2
135
VII.4 HOUSE, SPECULAR AND POLARIZED REFLECTANCE, ATMOSPHERE: WP3
142
VII.5 RADIATIVE BUDGET (RB) AND SUN INDUCED FLUORESCENCE (SIF): WP4
152
VII.6 FLUIDS AND COVER MAP IMPORTATION: WP5
163
VII.7 TREES: CREATION AND IMPORTATION: WP6
170
VII.8 TOPOGRAPHY: WP7
179
VII.9 LIDAR: WP8
186
VII.10 Airborne and in-situ sensors (UNDER DEVELOPMENT): WP9
198
VII.11 RAMI EXPERIMENT: RUN OF DART USING PYTHON SCRIPTS: WP10
202
VII.12 MAPPING GLOBAL SUN RADIOMETRIC QUANTITIES (OUT OF DATE): WP11
203
VII.13 SATELLITE IMAGE INVERSION (UNDER DEVELOPMENT): WP12
210
Annex 1: DART Python modules / scripts
211
Annex 2: DART Albedo and Ortho images
222
Annex 3: AERONET and ECMWF data
226
Annex 4: Forest simulation with DART-Lux
233
Annex 5: Field of trees that are the clones of a DART created 3D (facet) tree
235
Annex 6: Optimal domain of leaf variables to get leaf optical properties
236
Annex 7: List of abbreviations
237
Inversion of in-situ irradiance in terms of aerosol and cloud parameters
Satellite image inversion: op_inversion.py
Mapping an area with agricultural fields: multi_field_generator.py
Change the size of all or part of 3D objects: changeObjSize_***.py
DART DAO: to create a scene from a LAI array (DART\bin\python_script\DAO)
212
214
218
219
220
5
DART (Discrete Anisotropic Radiative Transfer) models radiative transfer (RT) from the ultraviolet to the thermal
infrared, for simulating the radiation budget (RB), including sun-induced chlorophyll fluorescence (SIF), and
remote sensing (RS) signals (Lidar, spectro-radiometer images) of natural and urban surfaces (i.e., Earth scenes)
with atmosphere. This document 1 explains DART functionalities and how to use them:
- Chapter 1: Overview of major RT models, and DART, for studying land surfaces with remote sensing.
- Chapter 2: DART functionalities (scene creation, sensor configuration,…) from the Graphic User Interface (GUI).
- Chapter 3: Tools for managing DART and its results, with and without the GUI.
- Chapter 4: Format of most DART inputs and outputs.
- Chapter 5: Work Packages (WP0: overview, WP1: reflectance, WP2: thermal emission,..) to practice DART and better
understand the physics of RS. Their simulations are in the DART web site. Beginners should start with WPs 1 and 2.
I. Remote sensing and radiative budget modeling of natural and urban surfaces
The study of land surfaces functioning and biophysical properties (e.g., leaf biomass, soil moisture and temperature)
increasingly relies on RS data, due to its unique ability of frequent and global observation of our planet. The increased
use of RS data is mostly due to advances in technology (sensor radiometric accuracy, spatial / spectral / temporal
resolutions,…) and in methods of interpretation of RS acquisitions. Here, we only consider RS data (i.e., (i.e., landscape
L(Ω)
and brightness temperature TB(Ω)=L-1
radiance L(Ω), reflectance factor ρ(Ω)=
B (L(Ω)) acquired in the visible
Esun
(VIS), near infrared (NIR) and thermal infrared (TIR) domains (i.e., [0.3μm 100µm]), at any altitude from TOA (Top
Of Atmosphere) to BOA (Bottom Of Atmosphere), where it can be right above or within the landscape. RS data are
often interpreted with statistical approaches: image classification, correlations with field measurements (e.g., LAI:
Leaf Area Index),... However, these approaches (e.g., LAI=f(NDVI) with NDVI(Normalized Difference Vegetation
Index) =
ρNIR -ρRed
ρNIR +ρRed
(Rouse et al., 1973)), are often inaccurate because they are defined for specific experimental (e.g.,
atmosphere) and instrumental (e.g., viewing direction) configurations. It explains the increased use of RS models that
simulate the bi-directional reflectance factor (BRF) and brightness temperatures function (BTF) of landscapes. The
demand of more accurate satellite derived information and landscape RB explains the need of models that consider
the landscape 3D complexity (i.e., topography, trees, buildings,…). Three types of BRF models are mentiond below.
• Empirical and semi-models.
Empirical models do not attempt to explain the biophysical parameters and processes that govern BRF and BTF: they
give a mathematical description of observed patterns in BRF / BTF datasets. Semi-empirical models rely on simplified
physical principles of geometrical optics (GO) models and RT theory. For example, kernel driven models (Roujean
et al., 1992; Wanner et al., 1995; Liu et al., 2010) calculate BRF as the sum of an isotropic term and anisotropic
functions (i.e., kernels) associated to volume and surface scattering. There are other forms of semi-empirical models
such as the RPV model (Rahman et al., 1993), and its latter versions, the Modified RPV model (MRPV) (Martonchik,
1997) and the EMRPV model (Engelsen et al., 1997), to accelerate inversion procedures. Semi-empirical models are
widely used because they are analytical and have few parameters. For example, land surface BRF/albedo products
from RS sensors (MODIS, POLDER, MSG/SEVIRI, AVHRR, VEGETATION,…) are mainly derived from kernel-driven
models, using multi-angular bidirectional reflectance in clear skies to invert the BRF parameters (You et al., 2014)
• Geometric optical (GO) reflectance models
GO models are useful to understand the BRF of forests as a function of their physical dimensions and structure. They
simulate tree covers as the combination of tree crowns, their shadows and background forest floor material (Peddle
et al., 2003), each one with specific surface optical properties that integrate implicitly volume scattering, which is a
source of unaccurracy. Typically, tree crowns have characteristic shapes with defined spatial dimensions. Simulation
results are based on the computation of scene fractions (e.g., % sunlit canopy, % sunlit back-ground, % shadow).
They are better adapted to "open" landscapes (e.g., sparse tree cover). Li and Stralher (1986) developed one of the
first GO models. In the more recent 4-scale model (Chen and Leblanc, 1997), tree crowns are discrete geometrical
objects: cone and cylinder for conifers, and spheroid for deciduous species, where branches have a given inclination
angle, with individual leaves in deciduous trees and shoots in conifers, with a given angular distribution. It uses a
geometrical multiple scattering scheme with view factors (Chen and Leblanc, 2001).The 5-Scale model (Leblanc
and Chen, 2000) is the merging of 4-Scale and LIBERTY (Dawson et al., 1998) that simulates leaf optical properties.
1
Regularly updated. In addition, the "DART Handbook" presents some physics of DART RT modeling,
6
• Radiative transfer models (RT)
RT models, also called physical models, simulate the propagation of radiation with all physical mechanisms (e.g.,
atmosphere scattering) that lead to RS acquisitions. They use the RT equation that gives the change in radiance in a
direction as a function of local absorption, scattering and thermal emission. They can be very accurate because they
can work with realistically simulated landscapes. Generally speaking, the simulation of BOA and TOA BRF and BTF
involves 4 RT components: soil model (Hapke, 1981), leaf model (e.g., PROSPECT model; Feret et al., 2008), canopy
model (e.g., SAIL model) and atmosphere model (e.g., Modtran: Berk, 1996; 6S: Vermote et al., 1997). Accurate
simulation of multiple scattering with conservation of energy is a usual major challenge.
There exists four major types of RT models:
- Discrete ordinate method. Radiation is tracked in N discrete directions. This is represented by N RT equations. For
example, the SAIL model (Verhoef, 1984) uses a system of 4 differential equations with 4 fluxes / 4 directions,
applied to an horizontally homogeneous landscape: sun flux, 2 isotropic upward and downward fluxes and 1 flux
along sensor view direction. The number of fluxes can be much larger (e.g., 100 and more; Yin et al., 2013) for
better considering radiation anisotropy as in DART (Discrete Anisotropic Radiative Transfer: GastelluEtchegorry et al., 1996). The spatial variable is often discretized (Kimes and Kirchner, 1982; Myneni et al., 1992)
into a set of spatial nodes (i.e., voxels) in order to consider the 3D heterogeneity of landscapes.
- Radiosity method. It uses the radiation balance equation on a finite number N of discrete scatterers (Borel et al.,
1991), conversely to the RT methods based on the volumetric radiation balance in the 3D space. It inverts a NxN
matrix. For that, it needs to compute the view factors between all N elements. It becomes very time consuming
and complex if N is very large, which is the case of landscapes with many elements (e.g., leaves of trees).
- Successive orders of scattering (SOS). It is one of the oldest and simplest in concept of the solutions to the multiple
scattering problem. It uses an iterative calculation of successive orders of scattering: total radiance vector is the
summation of contributions from photons scattered a number of times. For example, the SOSVRT model (Duan
et al., 2010) simulates polarized RT in vertically inhomogeneous plane-parallel media.
- Monte Carlo (MC) methods. They simulate the chain of scattering events incurred by a photon between the source
and receiver. A great interest is that only single scattering properties need be explicitly modeled (Disney et al.,
2000). FLIGHT (North, 1996), Drat (Lewis, 1999), Raytran (Govaerts and Verstraete, 1998), LESS (Qi et al.,
2019) and Eradiate are well known examples. Computation time is a usual limiting constraint. Physically based
and unbiased rendering engines (e.g., LuxCoreRender, Mitsuba) develop increasingly efficient MC methods.
However, being designed for very accurate and nice images, they have hard coded limitations such as 3 bands
and float coding, and consequently are not adapted to RS and RB studies. LESS and Eradiate adapt Mitsuba.
DART combines DOM and MC approaches. It adapts LuxCoreRender to RS and RB studies.
RS and RB models are often divided into 2 categories related to their mode of landscape modeling:
- Homogeneous lanscapes. They are the superposition of homogeneous and horizontal layers of turbid medium
(i.e., random distribution of infinitely small facets). With this assumption, "simple" models can simulate trends
as the evolution of crop BRF/BTF with LAI change. Account of landscape architecture is usually partial at best.
- Realistic landscapes.They are increasingly used. They are represented by the juxtaposition of facets or arrays of
voxels filled with fluids and turbid medium. The DART model combines these 2 approaches.
II. DART model
Developed since 1992, DART is one of the most comprehensive RT models for simulating the 3D RB (i.e., absorbed,
emitted, scattered and intercepted radiation) and RS observations of natural (forest, agricultural crop,...) and urban
landscapes, with topography and atmosphere (Figure 2) over the entire optical domain (UV, VIS, NIR, TIR). It is
adapted to any experimental (e.g., atmosphere, date / sun direction,..) and instrumental (e.g., viewing direction,
altitude, spatial / spectral resolutions,...) configurations. Its accuracy has already been successfully tested for
simulating vegetation canopy directional reflectance (RAMI experiments, in-situ and airborne data) and brightness
temperature at bottom (BOA) and top (TOA) of the atmosphere.
DART has many applications: i) RS image inversion, ii) Satellite sensor design (e.g., LiDAR planned on NASA’s
DESDynl mission, LiDAR and high spatial resolution Pleiades mission of CNES, TRISHNA of CNES and ISRO,
LSTM of ESA), iii) Impact study of canopy structure on satellite image texture and reflectance, vi) 3-D
photosynthesis and primary production rates in vegetation canopies, v) Design of chlorophyll index for evergreen
7
conifer forests, and vi) study of tropical forest texture, among others. It is increasingly used by research centers and
space agencies (CNES, NASA,…). It was patented in 2003 (PCT / FR 02/01181). Toulouse III University (France)
distributes its licenses. DART simulates two major products:
- Remote sensing acquisitions (forest: Figure 3, city: Figure 4): imaging spectro-radiometers and scanning LiDAR
(discrete return, waveform, photon counting) on-board satellite/aircraft (ALS: Airborne Laser Scanner) or terrestrial
platforms (TLS: Terrestrial Laser Scanning). Terms BOA, Sensor and TOA indicate that simulated images are for a
sensor at the bottom, within and top of the atmosphere. The DART folder "BRF" stores BOA products.
- Radiative budget: 3D emitted, scattered, intercepted and absorbed radiation, including sun induced fluorescence (SIF)
of vegetation. It is useful to model vegetation functioning (e.g., photosynthesis, fluorescence,…) and urban climate.
DART has 3 major modes (Table 1):
- DART-FT: it simulates the RB and spectro-radiometer images of Earth surfaces with a so-called Flux Tracking (FT)
approach, based on the "discrete ordinate" method with any number of discrete directions.
- DART-RC: it simulates LiDAR signals with a so-called Ray-Carlo (RC) approach that combines ray tracking and
forward Monte Carlo (MC) methods.
- DART-Lux: it is developed since 2018 to improve DART-FT / RC accuracy and efficiency to simulate complex
and large landscapes. It adapts a Bidirectional Path Tracing (BPT) algorithm from LuxCoreRender, that solves the
light transport equation with MC integration techniques. Unlike the path tracing algorithm (Kajiya, 1986), the BPT
algorithm constructs paths that start from the camera at one end, and from a light source at the other end, and
connects them. Its computation time and RAM need can be over 102 times lower than DART-FT. It has already
integrated most DART-FT and DART-RC features (RB, SIF, thermal emission, etc.) with many new ones.
Simulation method
Landscape
Radiative transfer
Flux tracking
DART-FT
(N user defined
Voxel array (fluid,
discrete directions)
turbid) and facets
Forward Monte Carlo
DART-RC
+ Ray tracking
Facets, fluids,
Forward & backward
DART-Lux turbid medium,
Monte Carlo
(no voxels!)
Products
Remote sensing
Radiative budget
Satellite / airborne / in-situ VIS/TIR spectroradiometer (pushbroom, pinhole / spherical
Yes
camera,…), SIF. FT atmosphere.
Satellite / airborne / in-situ LiDAR (ALS,
Yes
TLS, photon counting). RC atmosphere.
Satellite / airborne / in-situ VIS/NIR spectroradiometers, SIF & LiDAR (ALS, TLS, Being completed
PC). MC atmosphere. TIR.
Table 1. DART modes to simulate urban and natural landscapes, and their RB and RS acquisitions.
DART simulates complex 3D landscapes by combining imported scene elements (Figure 1). A scene is made of
facets (triangles) and volumes filled with turbid medium and fluids (air, soot, water,…). In DART-Lux, a volume
has any shape, whereas it is part of a cell (voxel) array in DART-FT and DART-RC. "Turbid" is a statistical
representation of vegetation: infinite number of infinitely small flat facets with an angular distribution (sr-1), area
volume density (m2/m3), and optical properties (lambertian, specular). Fluids are defined by their particle density,
cross section, single scattering albedo and scattering phase function. Facets simulate vegetation, houses,… They
have any orientation, area and optical property (lambertian / specular reflectance, isotropic / direct transmittance).
DART has SQL databases for the atmosphere (gas / aerosol models) and spectral properties of elements (leaf,...). It
has a GUI to enter and display input parameters (i.e., spectra, 3D scene,…), to specify and display products (images,
lidar waveform, radiative budget,...), to transform products, to run sensitivity studies, etc.
Figure 1. 3D objects provided with DART: wheat, maize, rice, sunflower, cherry tree, olive tree, citrus, building, plane.
8
DART-FT
(adapted discrete ordinates)
DART-RC
(FT + forward Monte Carlo)
DART-Lux
(bi-directional Monte Carlo)
LiDAR signals (waveform,
point cloud, photon counting)
RB + VIS/TIR imaging
spectroradiometer
VIS/TIR sensors + LiDAR
HA : High
atmosphere
TOA
thermal emission
φ
y
MA : Mid
atmosphere
x
thermal emission
θ
z
BOA
x
a)
y
x
y
x
Atmosphere
radiance
Direct sun
irradiance
LiDAR
Earth scene:
air, smoke,…
Direct sun
irradiance
y
Atmosphere
radiance
LiDAR
b)
TOA
c)
Figure 2. DART modeling: Earth-Atmosphere geometry (trees, maize fields,…) and radiation. a) DART-FT and DARTRC cell matrix with 3 atmosphere levels: top (i.e., layers), mid and within Earth scene. b) DART-Lux. c) BOA
and TOA DART-Lux images (10 cm resolution).
9
TOA spectra of forest
- Hot spot
- Nadir
b)
λ (µm)
a)
Figure 3. DART simulated Chris hyperspectral sensor. Howland forest, USA. a) Image. b) TOA VIS-NIR spectra.
a)
d)
b)
c)
e)
f)
Figure 4. DART simulations. BOA camera (a), TOA camera (b) and airborne LiDAR (c) images of St Sernin basilique
and BOA camera (e) of Brienne district (Toulouse). d) Tropical forest. f) Grossetto agricultural region, Italy.
This manual was initially written for DART-FT and RC. Now, DART-Lux is being introduced. Therfore, the
"DART-Lux" sections are not as up-to-date as expected. Also, a new GUI is on the way… At this stage, the DART
user in advised to learn first DART-FT before DART-Lux.
 Many DART papers on the DART web site (https://dart.omp.eu/index.php#/doc)
10
III. DART functionalities and products
III.1 File Architecture
Once installed, DART (Figure 5) has 4 sub-folders: "bin" (code), "database" (3D objects, atmosphere,…), "tools"
(scripts to run DART modules with / without the GUI), and "user_data". The folder user-data has 3 sub-folders:
"database": user databases, "log_parameter": log data, and "simulations", which is the mandatory location of DART
simulations. Each simulation has 2 sub-folders:
- Folder "input": input parameters to run a simulation: radiative mode (DART-FT, DART-RC, DART-Lux), spectral
bands, Earth / Atmosphere scene: geometry and optical / temperature properties, products (images,…) to simulate
and store,… XML files store them: directions.xml, maket.xml, object_3D.xml, phase.xml, atmosphere.xml,…
- Folder "output". It stores results (simulated landscape, DART images,…) in different folders.
(dart code)
- Surface & volume spectra: Reflectance2D.db
Reflectance3D.db
- Atmosphere properties: dart_atmosphere.db
- 3D objects (trees, trunks, basic shapes,..., car,...)
- Cover map
Scripts to run Dart modules (no GUI)
(user folder)
Local database
Log file
(it stores all simulations)
Simulation name
Input parameters
DART
(1st band)
products: images, files,...
1st band
Folder: 'BRF' (DART mode R) or 'Tapp' (DART mode T)
1 folder per DART iteration.
Extrapolation of last iterations ⇒ IterX folder
Each folder: DART angular images + mean (brf or Tapp)
Folder COUPL: results after 'Atmosphere - Earth' coupling
Radiative budget (1D & 3D products)
For direct & diffuse illumination, Iter1 →X, Coupl, Order1
• Mode R: incident radiation on top and bottom cell faces, and
cell absorption (fAR), scattering (fSR), interception (fIntR).
• Mode T: spectral energy (W.µm-1) per top cell face area (m2).
fIR(0) & fInt(0) are due to "direct sun + atmosphere". fSR =
(fSR1) + scattering, with fSR(1) = cell thermal emission (+sun
1st scattering order if {source = "earth + sun"}.
If source = Earth, total absorbed energy = fInt X - (fSR X 1st band DART images
at sensor & TOA levels.
(2nd band)
1D & 3D LAI(x,y,z)
Pre-computed optical properties
Area of triangles / cell
Sequence "seq_LAI" of 2 simulations.
The root simulation is simulation_name
Figure 5. Folders 'Dart', 'user_data' and 'simulation_name', and its associated sequence 'seq_LAI'.
III.2 Graphical User Interface
The DART Graphic User Interface (GUI) allows one to create, edit and run DART simulations, and to process and
view results (Figure 6), using 7 sub-menus (several GUIs can be opened simultaneously):
11
• "Simulations". To create (i.e., to create files xml) and select (Figure 7) a simulation.
• "Parameters": - "Editor properties" (Figure 8): to prevent / authorize the display of Earth scene elements: plots,
trees, buildings,... Indeed, their display can be very time consuming if they are very numerous.
- "Validate": Basic check of the consistency of DART input parameters.
- "Editor". Input of simulation parameters to create the Earth/Atmosphere scene, define products,...
• "Run". To run DART modules separately or all together.
• "View". To display the simulated 3D landscape and results (e.g., curves 1D/2D of BRF, images, etc.).
• "Tools". To process results (images, LUT,…) of DART simulations to get new results (e.g., color composite).
• "Language". To select the language: English or French (not maintained).
• "Console". To display useful information during the DART run. Several display options are available.
Simulation
Parameters
Run
View
Tools
Broadband
SceneSpectra
BandMath
Export image
Figure 6. Graphic User Interface of DART.
Figure 7.
 To create a simulation. 

 To select a simulation 
 To select a recent
simulation.
Figure 8. Editor properties
12
III.3 Editor of simulation
The 'Editor of Simulations' (Figure 9) has 4 panels to select and set the DART 3 operating modes (: 'Passive RS
& RB, 'LiDAR', 'Monte Carlo') and 2 light propagation modes (: 'Forward', 'Bi-directional' (idle in 'Monte Carlo'
mode). Note the abbreviations: DART-Lux = {'Passive RS & RB', 'Bi-directional'}, DART-FT = {'Passive RS &
RB', 'Forward'}, DART-RC = {'LiDAR', 'Forward'}, DART-Lux hybrid = {DART-Lux, atmospheric RT with
discrete ordinate method'}, DART-Lux Monte Carlo = {DART-Lux, atmospheric RT with Monte Carlo method'}.
Left panel. General parameters. Same tree structure as the xml files that store DART parameters, with 1 node / group of
parameters. Right click on a node to create or duplicate it; the number between brackets is its number of sub nodes.
Central panel. It displays the scene that is currently created. Coordinates of the mouse are in the bottom page.
Bottom panel. It shows error and warning messages. A click leads to the place of the GUI where the issue occurs.
Right panel. To edit the parameters selected on the left panel.
The simulation has not been saved
Commands for display












⑪
⑫
a)
 Passive RS & RB




b)
 Monte Carlo
 LiDAR
(DART-Lux)
Forward parameters (DART-FT)

Only if 'solar
noise' is simulated


(DART-Lux)
Forward parameters (DART-RC)


Band index

.
c)
Figure 9. GUI. a) Mode 'Passive RS & RB' + 'Bi-directional' light propagation mode. b) The 3 modes  (Passive RS &
RB, LiDAR, Monte Carlo) and 2 light propagation modes  (Forward, Bi-directional). c) Spectral band .
 Spectral interval (λ� , ∆λ, M). Central wavelength λ� . Bandwidth ∆λ. Spectral mode M = R (source =sun or LiDAR),
T (source = Earth / atm. thermal emission) or R+T. 2 options for T: Planck (default; W/m2/µm/sr) or Boltzmann
(W/m2). Optical properties are computed over ∆λ, possibly with EBOA(λ) weight. A right click adds intervals:
- Add, remove or duplicate 1 band at a time.
λ
-λmin
- [λmin λmax ]µm. If Δλ is not specified, bands are adjacent: Δλ= max
N
- Add /
10000
-1
�
[υ
υ
]cm
.
Δυ
not
specified
⇒
λ
=
,
Δλ=
υ
-υ
min max
i υ +(2i+1). max min
delete N
υ
min
2.N
bands:
- Δυ specified ⇒ equally spaced υmean,i and
υ -υ
Δυ= minN max.
λ� i =
10000
υmax -υmin Δυ
min +(2i+1).
2.N
2
10000
10000
+
υmin +(i+1). Δυ υmin +i. Δυ
2
-
, Δλ=
10000
υ
-υ
Δυ
υmin +(2i+1). max min +
2.N
10000
-
10000
2
υmin +i.Δυ υmin +(i+1).Δυ
13
 Transition TOA ↔ BOA (Table 2). There exists 3 atmosphere RT modes:
- No atmosphere RT (EBOA = ETOA): the atmosphere is an interface with illumination (EBOA, SKYL) or L(𝛀𝛀↓ ).
- Analytic model fanalytic (Table 3): it derives EBOA from ETOA in 'Passive RS & RB', and in 'LiDAR + Solar noise'.
- Radiative transfer simulation fRT derives EBOA from ETOA in 'Passive RS & RB', and in 'LiDAR + Solar noise'.
 'Spectral irradiance EBOA and SKYL'. It is active only if the option
the 'LiDAR' mode, it is active only if the option "solar noise" is simulated.
is set. In
 'Number of threads'. Simutation time is divided by up to the number of cores of the calculator.
 'Direction input parameters'. "Passive & RB + Forward light mode (i.e., DART-FT)": to set viewing directions
and discrete directions for tracking rays. "Bi-directional mode (i.e., DART-Lux): to set viewing directions.
 'Optical and temperatures properties'. To set optical and temperature properties to be assigned to scene elements.
 "Earth Scene". Global parameters (size, ground optical properties). Spatial resolution is only for DART-FT.
 'Earth Scene: Plots', 'Trees', 'Urban elements' (house, small wall), 'Water surfaces' (lake, river).
⑪ "Earth Scene: 3D Imported Object". To import and manage 3D objects (facets).
⑫ 'Atmosphere': gas and aerosol models, atmospheric geometry,...
Radiative transfer fRT: TOA↔ BOA
Analytic fanalytic: TOA→ BOA
No atmosphere RT: BOA
Spectral irradiance
Band data (GUI) Spectral data (file) Band BOA radiance
cst
(solar constant database ETOA
,λ ) TOA / BOA irradiance or solar constant (cst) from DART-FT or Lux Hybrid
ETOA,λ
cst
Ωs
↓ ↓
↓ ↓
↑ ↑
↑
↑
fRT
fRT
fRT
cst
(Ω) fRT L↑TOA,Δλ ,… ETOA
(Ω) fRT L↑TOA,Δλ ETOA,λ=Eλ
L
L
LTOA,Δλ ,...
,Δλ or ⇒ BOA,Δλ
↓
⇒
⇒
⇒ BOA,Δλ
⇒
(SKYLλ LBOA,λ (𝛀𝛀)
fanalytic
f
E
Ω
analytic
↑
s
TOA,Δλ ,
⇒ LBOA,Δλ
⇒ EBOA,∆λ, SKYL∆λ
⇒ EBOA,∆λ, SKYL∆λ not used)
E
A
EBOA,∆λ,Ωs = ETOA,λ
cst
SKYL∆λ
EBOA,∆λ , SKYL∆λ
EBOA,λ=Eλ, SKYLλ
Table 2. BOA / TOA illumination. Input parameters are in bold red. ETOA,λ,Ωs =ETOA,λ .cosθs. CIE model is being introduced.
cst
Approximate analytical derivation of Es,boa for scene altitude z, using DART Es,toa and atmosphere database:
- Gas model: transmittance for absorption Tgas,abs=∏i Tgas,abs,i and scattering Tgas,scat. Scattering optical depth ∆τgas,scat = -ln(Tgas,scat)
- Aerosol model: optical depth ∆τaero, single scattering albedo ωaero ⇒∆τaero,scat = ωaero.∆τaero, Taero,abs = e-(1-ωaero).∆τaero
,
,
ETOA,λ
mg
EBOA,λ (z)= 1
. [Taero,abs,λ ]ma (Eq. 1: approx. of 2 flux Radative Transfer model)
, 1
, . [Tgas,abs,λ ]
µ'=
1+ .Δτgas,scat,λ .mg + .Δτaero,scat,λ .ma
2
6
1
-η.μ+�η2 .μ2 +2η+1
−𝐳𝐳
SKYLλ =
EBOA
Height scale H
∫Δλ EBOA,λ .dλ
Band data (trapezoidal method): EBOA,Δλ =
EBOA -EBOA,dir
−𝐳𝐳
, eHaero
, e gas
,
,
(µ,aero =0.0126 if µ=0), η=Earth radius RT, µ=cosθ, RT =6340km, Hgas≈9km (cf. DART Handbook), Haero≈2km, ma = µaero
, mg = µgas
Δλ
, ρΔλ =
↓
with EBOA,dir = ETOA �e-Δτgas,scat . Tgas,abs �
m'g
∫Δλ ρλ .EBOA,λ .dλ
,
EBOA,Δλ
ΔτΔλ =
m'a
↓
. �e-Δτaero,scat . Taero,abs �
∫Δλ Δτλ .EBOA,λ .dλ
EBOA,Δλ
, SKYLΔλ =
H
∫Δλ SKYLλ .EBOA,λ .dλ
EBOA,Δλ
Ex.: • Mode R {λ=1µm, θs = 30°, gas "US Standard", aerosols "Rural, VIS = 23km"}
- Analytic model: Atmosphere database ⇒ Tabs,gas = 0.999, Tscat,gas = 0.991, ∆τaerosol = 0.142, Es,TOA = 636W/m2/µm
⇒ Es,BOA,direct = Es,TOA . [Tabs,gas . Tscat,gas . exp(-∆τaerosol)]1/cosθs ≈ 0.83 . Es,TOA ≈ 534 W/m2/µm and EBOA=605 W/m2/µm
- DART with atmosphere RT: EBOA = 619W/m2/µm, EBOA,direct =534 W/m2/µm, EBOA,diffuse =85 W/m2/µm
analytical
(θv, z→∝)] (TB,atm: atmosphere brightness temperature in 100% absorption band)
• Mode T: Latm(Ωv ) = LB(TB,atm).[1 - Tatm,dir,λ
analytical
Tatm,dir,λ
(θv, z→∝)={e-∆τaer,λ .e
-z
Haer
. [Tgas,scat,λ .Πi Tgas,abs,i,λ ]e
-z
Hgas
𝟏𝟏
}cosθv with Haer ≈2km, Hgas ≈9km.
Table 3. The analytic model fanalytic. Es,BOA,diffuse = SKYL∆λ.EBOA,∆λ. Es,BOA,direct = (1 – SKYL∆λ) EBOA,∆λ. DART-FT and Lux.
III.4 RADIATIVE MODES, LIGHT-MODES, PARAMETERS and PRODUCTS
Parameters and products are increasingly stored in NetCDF files (*.nc; use
to read / export them). Some
are used by all DART modes and other are specific to each DART mode (Figure 9.b).
14
III.4.1 Radiative parameters identical in 'Passive RS & RB' and 'LiDAR'
Figure 10 shows radiative parameters that are identical in the 'Forward' and 'Bi-directional' light modes of 'Passive
RS & RB', and also in 'LiDAR' if solar noise is simulated.
 TOA or BOA solar illumination modes (Table 2):
�s,TOA,λ or E
�s,BOA,λ : spectral solar constant from an irradiance table of a SQL database Solar_constant.db .
a) E
�TOA,∆λ or {E
�BOA,∆λ , SKYL∆λ }: per band ∆λ (defined in GUI)
b) E
�TOA,λ or {E
�BOA,λ , SKYLλ }: per wavelength λ (defined by a text file).
c) E
"solar constant" or "irradiance
of horizontal surface"
d) Radiance LBOA,λ (Ω). It can be pre-computed by DART.
 Possibility to weight atmosphere parameters (e.g., transmittance) with Etoa(λ) and reflectance with Eboa(λ).
 Scene mean temperature. It is used to determine the equivalent wavelength in mode T (i.e., LB �λeq ,T� =
∫Δλ LB (λ,T).dλ
 Atmosphere brightness temperature Tatm . Only for "modes T and R+T" and if there is no atmosphere RT.
Δλ
 Scene 3D temperature (modes T & R+T). 4 methods can set scene elements temperature.
a) Illumination: - 'Forward' tracking: a preliminary simulation with an user-defined illumination (grid  + SKYL
) computes the irradiance Ej of any element j (facet, turbid), with temperature property (Ti ,
ΔTi ). Then, Tj is derived from Ej with Boltzmann's law and an histogram threshold () on{Ej}.
- 'Bi-directional': during the ray tracing stage, the temperature of each interacting point is derived
from its irradiance and its temperature property.
b) 3D temperature profile. A 3D matrix T(x,y,z) (per cell, from top to bottom) is imported.
c) 1D temperature vertical profile. A 1D T(z) temperature file (per layer, from top to bottom) is imported.
d) Extrapolation of the atmosphere temperature vertical profile.









Figure 10. Identical illumination parameters for 'Passive RS & RT' and 'LiDAR'.
15
)
III.4.2 Passive RS & RB: Forward mode (DART-FT)
It iteratively track rays in N discrete directions in 3D voxelized scenes (Earth + possible atmosphere) ().
.
Atmosphere RT
IlluDir: BOA "direct
sun" irradiance
3DEarth scene RT
IlluDiff: BOA "diffuse sun"
+ "thermal" irradiance
Iter n: Scattering of rays intercepted at
Iter n-1 + Thermal emission at Iter1
Figure 11. Major steps of DART-FT with atmosphere RT without "Atmosphere – Earth" radiative coupling.
Parameters of the Forward light mode
• Expert parameters (Figure 12)
Figure 12. Advanced parameters of the 'Forward' light mode of 'Passive RS & RB' (DART-FT).
- Number of threads: computation time is divided by up to the number of cores of the calculator.
- Thresholdpropagation k: ray W(Ωn, ∆Ωn) with energy < k . ∆Ω . Mean intensity (W/sr) at iteration 1 & 2 is stopped.
- ThresholdAlbedo / Thermal exitance: test on 2 last iterations for stopping the simulation.
- Maximum number that a ray can cross the scene. Default value is 1000.
Δx.Δy
- BOA illumination smaller mesh size D ⇒ η= D2.(N +N ) incident rays per BOA cell (Natm = 0 if skyl = 0, Nsun = 0 if
sun
atm
atm↓
SKYL = 1). Dsun =Max(D, √1-SKYL), Datm =Max(D,�SKYL). SKYL=
Nhoriz
D
Eatm
Etotal
with Natm↓
horiz downward DART directions (∆Ωin=2π ).
η must be ≥ 102 for avoiding stripes and mis-calculation of temperature in the Earth scene.
Vertical side of scene 'isolated / infinite slope': Esun,vert = Esun,boa.tanθs, with Natm↓
vert directions (∆Ωin=π )
D
Σ
⇒ Dsun,vert = Max(D,(1-SKYL).tanθ ), Eatm,vert = Eatm.
s
atm↓ cosθ.ΔΩ
Nvert
π
atm↓
Eatm
π.Nvert
≈ 2 ⇒ Datm,vert = Datm.� atm↓ atm↓
≈Datm
Nhoriz .ΣN
cosθ.ΔΩ
vert
A
E
- Illumination sources spatial distribution. Default distribution is 'semi random'.
16
- Factor N ⇒ N3 sub-cells (⇒ barycenters of scattering points per sub-cell) and 6 N2 sub-faces (⇒ barycenters
of exit points per sub-face) per cell. N is divided per 2 at each iteration down to 1.
- Factor M ⇒ N2 . M2 sub-faces per cell face (⇒ barycenter per sub-face)
- Surfacic sub-division S for thermal emission: at least 1 thermal emission per grid element.
- K2 integration points per sub-face for pre-computing thermal emission.
- Store intercepted power per direction: set for computing polarization on surfaces
- Use of barycenters on intercepting surface and sub-face: their use greatly decreases simulation time.
- Use sparse voxel acceleration: rays are not tracked through empty voxels.
- Number of triangles for acceleration in a voxel: Embree is used only in voxels with larger number of triangles
- Triangle storage method: facet 3D objects in the scene can be a clone of a reference 3D facet object.
- Use sparse voxel acceleration: acceleration technique in "empty" volumes.
- Minimum number of triangles inside a voxel in order to use the Embree acceleration technique.
• Maximal scattering order Nmax (Figure 13). It is the maximal
number of iterations Niter for scenes only made of facets. Any scene
radiative term Y (i.e., RB, L(Ω),…) is eXtrapolated to Y∞ with last
e-βn .(n+1)
iteration Yn : Y∞ =Yn +αn . 1-e-βn , assuming ΔYn =Yn -Yn-1 ≈ αn .e-βn.n
Figure 13. DART-FT: maximal scattering order
 Advised Nmax for vegetation: 3-4 in VIS, > 5 in NIR, 2 in TIR (Cao et al., 2018, TGRS; Guo, Cao et al., 2019, GRSL)
• Cell dimensions (Figure 14). Pixel size of DART-FT images and
voxel size of RB products of DART-FT and DART-Lux.
Figure 14. Cell dimensions
Radiative budget (RB)
RB products (Figure 15 ) are fluxes (i.e., thermal emission, intercepted, scattered, absorbed, exitance, SIF) in/out
actual or fictive surfaces / volumes (e.g., cell side, cell). They are 3D RB and RB per facet (+ derived 2D / 1D /
scalar data), total and per type u of scene element. For DART created facet and turbid elements, u is predefined
(Table 36; e.g., uground =2). For imported 3D objects, ufacet =100+ index (i.e., color assigned to the group of the 3D
object) and is stored in the file input/dart.typ. The RB products are stored in text / binary or NetCDF (on-going)
files in 'output\BANDn\RADIATIVE_BUDGET'. The option "View / Report" reads binary RB files.
 DART-FT: RB can be per stage. Illudir: direct sun; Illudif: direct sun + sky; Iter1,..., IterX (infinite extrapolation
of mean 3D/1D RB data of last stages) and Coupl if atmosphere RT. Intermediate Iter_n are present if requested.
Power intercepted at iteration n-1 is scattered and absorbed at iteration n: IntIter n-1 = AbsIter n + ScatIter n. Therefore:
ijk
ijk
ijk
ijk
ξcell,scat,u =ξcell,abs,u =ξcell,scat =ξcell,abs =0 at Illudir and Illudif, and IntIterX is slightly larger than AbsIterX+ ScatIterX.
 The terms "Intercepted" and "Scattered" can be difficult to interpretate, conversely to "Absorbed". For example,
"Intercepted" can be larger than scene irradiance if a facet intercepts several times the same photons.
• 3D RB: - RBcell: RBall elements in cell ijk. File RadiativeBudget 3D. Up to18 terms {ξijk
cell,α :α=in, out, int, abs, scat, emit;
_
ijk
ξface,β :β=in, out}
with ξ = power W density or fraction
Wcell,α or Wface,α
scene irradiance
that enters/ exits a cell or cell face.
- RBcell,u: RBelements of type u in cell. File RadiativeBudget 3D Turbid for 'turbid', RadiativeBudget 3D_ Ground for
'ground' and RadiativeBudget 3D typeNum=u for other types. Up to 4 terms: ξijk
cell,α,u (α: int, abs, scat, emit).
_
_
_
_
_
 Option 'Use sparse voxel acceleration': empty cells are ignored ⇒ in / out fluxes on their faces are null.
 RB unit: % of BOA irradiance, W/m2/µm or W/µm. It is W/m2 or W only for {mode T (i.e., sources are only
"thermal") + "Boltzmann" option (i.e., thermal radiation = integral over the spectrum)}. The tool 'Radiative
budget' converts units of RB products. The RB expressions depend on their 3D/2D/1D/scalar nature and unit:
W
cell,α
- W/m2/µm (W/m2: mode T + Boltzmann): ξijk
cell,α = ∆x.∆y , ξcell,α,u =
- %: ξijk
cell,α =
Wcell,α
WBOA
∆x.∆y
, ξijk
cell,α,u =
Wcell,α,u
WBOA
∆x.∆y
, ξijk
face,β =
Wface,β
WBOA
∆x.∆y
Wcell,α,u
∆x.∆y
, ξface,β =
Wface,β
∆x.∆y
. This is per scene m2.
BOA,coupl
BOA
, W∆x.∆y
= BOA incident power (W∆x.∆y
if atmosphere RT) on ∆x.∆y.
ijk
max
If {Unit = %, No atm. coupling, 'Repetitive scene' mode}: ξface,in
(+Z) = 1-SKYL in Illudir and later.
17
 Tool "3D radiative budget extractor": it uses RBcell to create 2D (i.e., scene xy, xz, yz section) and 1D RBs ∀x,y,z.
 In "Infinite slope" mode,
ijk
max (+Z)
∑i,j ξface,out
ijk
max (+Z)
∑i,j ξface,in
≠ Albedo, conversely to "Repetitive scene" mode,
because scene exitance  involves upward rays  that exit the scene through its vertical sides.





 Storage: folders & files
Figure 15. DART-FT products: RS , RB  and Earth scene  products, and folders and files  that store them.
ij
ij
ijk
ijk
• 2D: RBimage ξijα = ∑k ξcell,α and ξiju,α = ∑k ξcell,u,α . File simulation.properties.txt stores 𝝃𝝃�α and 𝝃𝝃�u,α . Albedoij = 1-
• 1D: - RadiativeBudget_profile: ξ̅α (k) =
ijk
∑ij ξcell,α ∀ cell ij in scene layer k
Number of cells per scene layer
- RadiativeBudget_profile=u: ξ̅u,α (k) =
ijk
∑ij ξcell,u,α ∀ cell ij in scene layer k
Number of cells per scene layer
• RBu per type u (RadiativeBudget Triangle): unit %:
_
of type u in cell ijk. Unit W/(m2 of u):
ij
.
∑ij ξu,α
ijk
∑ijk Au
Power for u / Area of u
BOA irradiance
(if vegetation cover:
ij
ξabs
WBOA
∆x.∆y
. If unit is %: ∑u ∑k ξ̅int,u (k)=∑k ξ̅int (k)=1
ij
∑ij ξu,α ∆x.∆y
ijk
BOA with area A u of element
ijk
∑ijk Au W∆x.∆y
ij
∑ij ξu,α
2
ijk .LAI W/(m of scene area). Unit W: ∑f Wf,u,α
∑ijk Au
=
.
18
.
• RBfacet per facet f (RadiativeBudget Figures): 1 line {ObjectName (DART-Lux),
_
Wf,u,α ∆x.∆y
Af
.
BOA
W∆x.∆y
%(
W/m2 of facet
W/m2 of scene
),
Wf,u,α
Af
W/m of facet or Wf,u,α W for face 1 & 2, area Af } per facet f. DART-FT: order of facets as in binary file triangles.txt.
2
DART-Lux: results grouped per scene element. Multiply results by
Af
∆x.∆y
to get the unit W/m2 of scene.
Vegetation plot created as turbid medium or facets have very close RB (Figure 16) if facets are very small. Note:
IntIter n-1 = AbsIter n + ScatIter n lead to IntIterX ≈ AbsIterX+ ScatIterX. WP4 also illustrates vegetation 3D RB.
Figure 16. RB0.56µm of a 1x1x1m vegetation plot 25cm above ground
simulated as turbid medium (left) and facets (right). Unit: %.
Gridillumination D=10-3m. ∆xcell=∆ycell=1m, ∆zcell=25cm ⇒ 6 layers.
θsun=30°, φsun=180°. ρground=0.38. ρleaf=τleaf=0.2. LAI=2. LAD: spherical.
{TOA → BOA analytic model, gas: USSTD76, aerosol: Rural 23km} ⇒ 1m
ETOA=1594 W/m2/µm, EBOA=1347 W/m2/µm, SKYL=0.294. 6 iterations.
Here, 3D RB = 1D RB since any mock-up layer is a single cell.
 From Illudif to IterX, Escene (cell 4top face) = constant and Eground
(cell 0top face) increases.
30°
1m
Empty



25cm Ground cell
 x
File RadiativeBudget_3D
Actual ground
Names of cell faces in 3D RB
Ray
Cell : +Z (top face): in
↓
Cell : +Z (top face): out
↑
Cell : -Z (bottom face): out
↓
Cell : +Z (top face: ground cell): in ↓
Cell : intercepted
Cell : +X (right face): out
→
Cell : total in
∑face ξface,in ×Areaface
Cell : total out
∑face Areaface
∑face ξface,out ×Areaface
∑face Areaface
Empty


Vegetation: turbid medium
ILLUDIR ILLUDIF Iter 3 IterX
0.706
1
1
1
0
0
0.124 0.126
0.223 0.286 0.360 0.362
0.223 0.286 0.360 0.362
0.223 0.286 0.360 0.362
0.089 0.115 0.131 0.131
Ground cell
Actual ground
Vegetation: facets (A=5 10-5m2)
ILLUDIR ILLUDIF Iter 3 IterX
0.706
1
1
1
0
0
0.122 0.126
0.223 0.286 0.358 0.361
0.223 0.286 0.358 0.361
0.223 0.286 0.358 0.361
0.089 0.115 0.149 0.149
-
0.795
1.192 1.372 1.375 0.795
1.195
1.378 1.385
-
0.624
0.919 1.161 1.165 0.622
0.917
1.166 1.172
Total intercepted: Σ horizontal layers Ground cell: intercepted = Eground
↓
0.706
0.223
Int.
RadiativeBudget_Triangles: IterX
Ground 0.3619
RB_Tα =RB_Tground,α +LAI.RB_Tturbid,α
Turbid 0.5411
Figure 17. 40 x 40m tree plot a) Mock-up: turbid cells. b)
Direction oversampled around sun direction to simulate
sun upward looking sensors (Figure 20). c) Nadir image.
d) Mock-up layer 15. Crown cell (7,37,15) "
3D
RB∆λ file" shows RBcell. Ground ξint : e) Illudir, f) Illudif.
1
0.286
Scat.
0.1375
0.2165
1.436 1.444 0.706
1
1.430 1.445
0.360 0.362 0.395 0.286 0.358 0.361
Abs.
Int.
Scat. Abs.
0.2244 Ground 0.3611 0.1372 0.2239
0.3247 Facet
0.5418 0.2167 0.3251
a)
b)
c)
RB∆λ
DART cell:
∆x=∆y=0.5m
Tree crown
Tree trunk
e)
d)
f)
19
Figure 18 shows the 3D RB0.56µm of a schematic building (2 superimposed buildingWindowBlock.obj: 4 walls, 2
windows per wall, rooftop swimming pool). EBOA=1347W/m2/µm, SKYL=0.294, θsun=30°, φsun=225°, gridillumination = 2mm,
cell size = 5cm. Surfaces are lambertian (ρroof=ρground=5.77, ρwall=26.24), apart the swimming pool that has a specular
component. Figure 18.b shows RS images for 3 viewing directions (θv,φv): nadir (θv=0°), oblique (30°,135°) and
sat
specular (30°,45°). ρsat
pool is maximal for the specular direction. ρsurface has a noise due to discrete cell size and
llumination: e.g., ρroof,nadir ∈ [5.77 5.83] with ρ�roof,nadir =5.77. Figure 18.c,d show 3D RBfacet and RBcell for interception
at direct sun illumination (i.e., Illudir), total illumination (i.e., Illudif), and infinite scattering order IterX. RBfacet is
roof
̅ roof =1. RBcell has
reaches 1.6, but %fint,IterX
extreme for infinitesimal facets that are over / under irradiated: e.g., %fint,IterX
no such extreme values since cells have the same size. Windows have the same irradiance as walls, but scatter less.
a)
3D RBfacet
b) Nadir: ρ ∈ [0.007 0.058] (θv:30°,φv:135°): ρ∈[0.006 0.12] (θv:30°,φv:45°): ρ∈[0.006 0.64]
3D RBcell
c) %fint,Illudir ∈ [0 0.87]
%fint,Illudiff ∈ [0 .1.60]
%fintIterX ∈ [0 1.61]
%fabs,IterX ∈ [0 1.52]
%fscat,IterX ∈ [0 0.122]
Ναδιρ:
d) %fint,Illudir∈ [0 0.71]
%fint,Illudiff∈ [0 1]
%fint,IterX ∈ [0 1]
%fabs,IterX ∈ [0 0.94]
%fscat,IterX ∈ [0 0.24]
Radiation (here: %) per
% of area of the 2 faces
of all triangles sorted
per radiation value
(here: 1 bar=10-2)
f) %fabs,ground∈ [0 0.71]
%fabs,roof ≈ 0.94
g) %fabs,x=60 ∈ [0.06 0.17] %fabs,x=20∈ [0.26 0.44]
Figure 18. DART-FT radiative budget and remote sensing (RS) images of a schematic building.
a) Mock-up. b) RS images. 3 viewing directions (θv,φv): nadir (θv=0°), (30°,135°), "specular" (30°,45°). 3D RBfacet (c)
and RBcell (d): interception at Illudir, Illudif and IterX, and absorption and scattering at IterX. e) Mean radiation per bar
(% triangle area). f) Ground and roof absorption images. g) Vertical sections of RBabs with sunlit and shadowed wall.
e)
Remote sensing (RS)
• Parallel projection 
The products are images per viewing direction Ωv and their averages (i.e., files 'brf: reflectance', 'tapp: brightness
temperature', 'radiance (W/m2/µm)'. Image names are 'imax_VZ=yyVA=zz', with x = index, yy = zenith angle and
zz = azimuth angle of Ωv . DART-FT BOA data are in folder Bandm/Y/Itern/Image_Dart with Bandm = folder that
stores products of spectral band m, Y = BRF, Tapp or Radiance, and Itern = folder for products of iteration n. In
DART-Lux, the term iteration refers to the storage of data by time or sample step. A better storage is being devised.
- Maximal zenith angle (θv) of images: storage of images with θv < θmax. to reduce computer memory.
20
- Keep non projected images: images on BOA horizontal plane.
- Sensor plane: horizontal plane images projected in the sensor plane (Figure 19).
- Image per type of Earth scene element (for any satellite / sensor).
- Horizontal and Sensor plane image oversampling.
- Number of repetitive scenes: N x N duplication (only to ease image interpretation).
ortho
sensor
- OrthoImages Lortho
and
xy,Ω and ρxy,Ω per viewing direction Ω. They are derived from DART sensor images Lij,Ω
sensor
ρijy,Ω using one of three possible projection methods (Figure 19, Annex 2):
ortho ∑
∗
∗
* Energy conservation (EC). Upward orthopower Wxy,Ω
= z Wxyz,Ω
with Wxyz,Ω
=power that exits the scene column
Area
of
projected
cells
xyz
on sensor plane
ortho ∑
xy along Ω and reaches the sensor: Lxy,Ω = z Lxyz,Ω .
; it can be very large at
Cell horizontal area Δx.Δy x cosθ
xy with a wall. It is only theoretical since Lxyz,Ω is unknown in actual configurations. Wu et al., 2019, RSE.
* Industry standard (IS), also called radiance conservation. Back tracing "Sensor pixel (i,j) → Scene" gives Mxyz;
sensor nadir
then, Lortho
with δnadir
=1 if nadir transmittance "Mxyz → top scene" = 1; else δnadir
=0. IS images
ij
ij
xy,Ω =Lij,Ω .δij
ortho
ortho
L� xy,Ω are equal to standard orthorectified RS images L�standard
if
back
tracing
uses
enough
rays
per pixel.
xy,Ω
sensor
with the same projection method as the IS projection method.
* Reflectance conservation. ρortho
xy,Ω = ρij,Ω
Lsensor
- Fluid transmittance images (
Ltarget
): BOA satellite and sensor inside the scene.
- Spreading of rays: spread area in DART images depends on the cross area of elements from which rays come.
ortho
ortho
- Exitance Mxy
= ∫𝟐𝟐𝟐𝟐+ Lortho
xy,Ω .cosθ.dΩ and albedo Axy = E
Figure 19. Ortho images
a) IS: a downward vertical ray starts from the
top scene until it reaches a scene element
from which a ray is sent to the sensor
image to get the the radiance LISxy,Ω .
b) EC: sum of all radiance values from the
column (x,y) to Ω gives LEC
xy,Ω .
ortho
Mxy
ortho-images.
top scene
Industry standard
DART
horizontal plane
DART
a)
DART
48
-1
-1
Energy conservation
DART
horizontal plane
scene
ortho radiance image
-1
50
48
48
46
47
48
46
47
DART
b)
DART
Σz
50
48
48
46
47
48
scene
ortho radiance image
-1
-1
-1
Σz
Σz
• Non parallel projection (Figure 20, Work Package VII.9)
1) Above scene, downward looking sensor. In the "Forward" light-mode, the sensor must be at the 'AtmosphereSensor' level if atmospheric RT is simulated. A blue frame in the GUI delimits the viewed zone at the scene lower
altitude. A "Multiple-frame-camera sensor" text file can set Satellite / airborne parameters {camera position
(x,y,z), intrinsic rotation, nutation (zenith), precession (azimuth), image size (length, width)}.
- Pushbroom (not yet in DART-Lux): one sets the flight direction (azimuth angle) and platform azimuth.
- Frame (pinhole) & spherical camera: (orientation, position) + FOV or viewed zone. Camera axis orientation
is defined with the "Intrinsic ZYZ" option (Intrinsic rotation (anti-clockwise) along camera axis, Zenith and
Azimuth angles of the camera axis; https://en.wikipedia.org/wiki/Euler_angles) or "Tait-Bryan angles" option.
If it is not defined, default camera orientation is the scene center (Dx/2, Dy/2, 0) at ground level.
2) Inside scene upward/downward camera. A ray ΩBOA→sensor (atmosphere + direct sun; not a discrete direction)
is sent per illumination grid sub-center to the sensor focal point. To get direct sun in upward images, simulate
penumbra (∆θsun≈0.5°, ∆Ωsun≈6.8 10-5 sr); then, ΩBOA→sensor intersects the sun surface. Interpolation on discrete
directions ,,… gives the atmosphere rays. Image CameraVZ=0: downward camera.
Frame camera
Pushbroom
a)
21
c)
editor: 4 houses
DART
b)
φ
θ
×
sensor
viewed zone
Toulouse: z Focal
=400m
f
d) Downward sensor
DART 3D
Comet Tchouri
Camera
image
,: discrete
directions
'Satellite' nadirsun
image (atm. scattering)
view
BOA grid of
illumination
pinhole camera
e) Penumbra
modeling


Oz
upward
looking
sensor
DART
cell
d)
f) Spherical
camera
O
e)
S
e)
(X,Y,Z)
(x,y,z)
Figure 20. a) Sensor menu. Above Earth scene: b) Pushbroom menu, c) Frame camera menu and images. Inside Earth
scene: d) Pinhole camera & images, e) Penumbra modeling, f) Spherical camera: sphere (center O, radius OS), with
an image plane tangent to it in S (here: downward looking (θv =0°) camera with θmax =180°) with Lambert azimuthal
projection: point (X,Y,Z) on the sphere (except the antipode) is projected along a circular arc centered at S to a point
(x,y,-1) in the plane tangent in S: https://en.wikipedia.org/wiki/Lambert_azimuthal_equal-area_projection.
- θ = acos(Z), φ = acos(
x
- X= .�1I
u2 +v 2
4
y
X
�X 2 +Z 2
, Y= .�1J
π
𝟑𝟑.π
. Case Y=0: if X>0, φ=0, else φ=π. Case: X=0: if Y>0, φ= , else φ=
u2 +v 2
4
u2 +v 2
, Z=
2
2x
-1
I
-1, with u=
Sun induced fluorescence (SIF)
η
2y
-1
J
, v=
η
, η=
|sin(π-θmax )|
2
�1-cos(π-θ
2
𝟐𝟐
; the image has (I,J) pixels.
max )
DART, as the SCOPE model, has an imbedded Fluspect model to simulate the SIF of vegetation.
� ij for forward and backward SIF emission, per photosystem (PS), for excitation
Fluspect. It gives nmat matrices M
flux i in [400 750nm] and SIF flux j in [640 850nm] with ∆λi=∆λj=1nm and fluxes in µmol photons/m2/s.
Fluspect2017 considers 2 PS (⇒ nmat = 4). Fluspect2021 considers 1 combined PS (⇒ nmat = 2).
Nmol,i µmol photons / m2 / s / nm (i.e., Nmol,i =103 Nmol,i µmol photons / m2 / s / µm) in band ∆λi=1nm
SIF
2
2
3 SIF
incident on a leaf create NSIF
mol,j SIF µmol photons / m / s / nm (i.e., Nmol,j =10 Nmol,j µmol photons / m / s /
SIF
µm) in band ∆λj=1nm: NSIF
mol,j .∆λj=Mij .Nmol,i .∆λi. It implies Nmol,j =Mij .Nmol,i . Since leaf irradiance
h.c
Ei =Nmol,i.NA.
λi
h.c
and exitance Fj =NSIF
mol,j .NA.
λj
λ
in W/m2/µm, we have: Fj =Mij .Ei with Mij =Mij . i .
λj
DART. it has any number of U excitation bands (λu , Δλu ) and V SIF bands (λv , Δλv ) that are treated as combinations
� uv by
of Fluspect 1nm bands: Δλv = ∑j βvj .Δλj , Δλu = ∑i αui .Δλi . The Phase module gives nmat "leaf" matrices M
spectral resampling the nmat Mij . DART leaf SIF exitance is per PS for turbid- and facet-vegetation, for given
PS fluorescence quantum yield. Spectral exitance at band v due to spectral irradiance Eu (W/m2/µm) at band
� uv .E
�u . It is accurate only if the U bands cover all the SIF excitation domain, with no band overlap.
u is: F� v = M
� uv from M
� ij is a two successive weighted arithmetic averaging:
The spectral resampling that creates M
Step 1: at Fluspect band (λj ,Δλj ), irradiance Eu (λu ,Δλu : µm) gives: Fuj = Muj .Eu .∆λu (W/m2/µm) with Muj =
22
∑i αui .Δλi .Mij
∑i αui .Δλi
Step 2: at band (λv , Δλv ), DART fluorescent exitance is Fv = Muv .Eu .∆λu (W/m2/µm) with Muv =
 Muv =
∑nj=1 ∑m
i=1 Mij
m.n
∑j βuj .Δλj .Muj
∑j βuj .Δλj
if bands ∆λu and ∆λv are integer numbers in nanometers (i.e., integer numbers of Fluspect bands).
 Leaf irradiance Eleaf in Fluspect matrices is in µmol photons/m2/s. Because DART fluxes are in W/m2/µm, they
λ
λ
are weighted by i . Up to DART V 1201, as up to SCOPE V 2, this factor i was not used.
λj
λj
DART works with:
- 1 combined photosystem: use of Optipar2021 ProspectPro (Table 4). Eleaf is in µmol photons/m2/s/µm. It is
consistent with SCOPE V2.0 and later. This is the default and advised mode.
_
- 2 photosystems: use of Optipar2017_ProspectD or Optipar2021 ProspectPro_2PS. Eleaf is in W/m2/µm. It is
consistent with SCOPE up to V2.0.
_
Kab
Kca Ksenecent Kwater Kdm PS1 PS2 KcaViolaxanthin KcaZeaxanthin Kanthocyanin PS1+PS2 Kdm_protein Kdm_carbon
λ N
400 1.514 0.06488 0.1673 0.527 5.8 10-5 110 0
0
0.16734 0.16734 0.06667
0
0
127.93
760 1.435 0.00015 0 0.0665 0.0277 2.3 0.007 0.0023
0
0
0
0.005344
0
2.68222
Table 4. Values of Optipar2021 at 0.4µm and 0.76µm. K: specific absorption coefficient (nm-1).
Menu "Optical and … properties" (Figure 21.a): it sets if SIF is simulated and if leaf SIF yield is per triangle (file
'yieldsPerTriangle' in menu "Optical ... properties") or per optical property (Figure 21.b). Because bioclimatology
(e.g., temperature) affects leaf SIF efficiency and SCOPE model considers that, SCOPE was modified to export its
simulated leaf SIF efficiency relative to leaf Fluspect SIF as 2 arrays: etau(n, θ, φ) for sun leaves and etah(n) for
shade leaves, with canopy layer index n, leaf zenith angle θ and leaf azimuth angle φ. DART can import etau and
etah (menu "Bio-climatic profile": Figure 20.c) and distributes them per optical property in Nlayer layers between
the minimal and maximal altitudes of the facets of S that have this optical property, whatever the presence of
topography, urban elements, etc. This method can be inaccurate for large facets because the altitude of a facet is
that of its centroid. The SIF optical properties of 2 sets S1 and S2 can be linked (e.g., sun / shade leaves of a same
tree). Then, the Nlayer layers are between the smaller and larger altitudes of the whole set {S1 , S2 }.
a)
b)
c)
Figure 21. Fluorescence menus and eta matrices.
a1,1,1
⋮
⎛
a1,Nθ ,1
⎜
etau= ⎜
⎜ an,1,1
⎜
⋮
⎝aNlayer ,Nθ ,1
⋯
a1,1,Nφ
⋱
⋮
⎞
⋯
a1,Nθ ,Nφ
⎟
⎟
⋮
⋯
an,1,Nφ ⎟
⎟
⋱
⋮
⋯ aNlayer ,Nθ ,Nφ ⎠
a1
etah= � ⋮ �
aNlayer
Chl
 Photosynthesis: modeling this quantum process needs EAPAR
in PPFD (Photosynthetic Photon Flux Density:
2
µmol/m /s): flux of moles of PAR (Photosynthetically Active Radiation: 400-700 nm) photons absorbed by Chl.
Conversion factors ηin and ηChl
abs "Watt → µmole/s" for incident and Chl absorbed radiation depend on light spectral
composition and hence on atmosphere and Ωsun . For DART spectral bands Δλi with PAR= ∑Ii=1 Δλi and k Chl
abs (λ) =
EChl
abs (λ)
Etot
abs (λ)
(PROSPECT/FLUSPECT product):
23
ηChl
abs,Δλi =
106
h.c.NA
.
ηin,Δλi =
106 ∫Δλi LB (λ,T).λ.dλ
.
(λ in m)
h.c.NA ∫ LB (λ,T).dλ
Δλi
∫Δλ k Chl
abs (λ).LB (λ,T).λ.[1-ωl (λ)].dλ
i
∫Δλ LB (λ,T).[1-ωl (λ)].dλ
i
=
with ηin,PAR ≈ 4.56 if T=5800K
NΔλi (µmol/m2 /s)
2
Etotal
abs,Δλi (W/m )
total
2
⇒ NAPAR (µmol/m2 /s)=∑Ii=1 ηChl
.Eabs,
Δλ (W/m )
abs,Δλ
i
i
24
III.4.3 Passive RS & RB: Bi-directional mode (DART-Lux)
Bi-directional parameters (Figure 22)
- Numbers of scattering events  and scene repetitions Nscene repetitions .
- Periodic save method . Simulation results can be saved every ∆t or ∆Nsample. Then, the term "Itern" indicates
that the result is the nth save storage. Setting CTmax=0 or Nsample,max=0 makes the save option idle.
- Target pixel size (m) 
- Maximal rendering time per image and/or BRF/BTF CTmax ,
- Target sample density Nsamples,max: per pixel for images . Nsamples reaches Nsample,max if CTmax is large enough.
- Atmosphere RT : 'Hybrid' (DART-FT atmosphere RT) or 'Monte Carlo' (atmosphere: rectangle parallelepiped
with horizontal square section, in an horizontal plane with user-defined optical and temperature properties. Its
accuracy depends on the accuracy of the simulated BOA exitence , which depends on the angular resolution
and number of samples per direction of the BRF map.
- The sampler : Pure random, Sobol or Metropolis.
- The Russian roulette acceleration  and associated parameters (cut-off depth and Surviving probability).
.²
- Radiative budget ⓫ (cf. III.4.3.b): sampling grid (m), number of incident directions, ray density per point xyz.









⓫

Figure 22. Bi-directional 'Passive RS & RB', for "Hybrid" and "Monte Carlo" modeling of atmosphere RT.
Remote Sensing products
DART-Lux's products and menus (Figure 23) and smilar to those of DART-FT with small differences:
- Format of 3D objects: "ply" whereas it is "obj" for DART-FT. It should be soon "obj" for DART-Lux.
- CT (computation time): it is proportional to the number of images to simulate, conversely to DART-FT.
- Spatial resolution of products: independent of scene simulation, apart for RB products conversely to DART-FT.
25
- Ndiscrete discrete directions: only to specify the images to simulate (DART-FT uses them also to track radiation).
- Scene BRF: it is computed if the LUT default option or the "BRF" product are set. Then, a dome sensor (90x360
orthographical detectors with ∆Ω=1°x1° < 2 10-4 sr: Figure 24), with infinite radius to capture all upward
radiance from the Earth scene, simulates the scene BRF as a 90x360 map (Figure 25) with steps ∆θ=∆φ=1°,
and user-defined Nsample / pixel . Radiance is supposed to be isotropic in any ∆Ω. Each pixel i of the BRF
map stores a mean reflectance ρ(Ωi ) such that Albedo = Escene . ∑i ρ(Ωi ).cosθi .ΔΩi . The so-called BRF
sensor can compute a BRF map for any angular region {∆θ, ∆φ}, oversampled plane and sub-scene. It can
be on a plane or an hemispherical dome that observes a plane surface (i.e., target) defined by its
dimensions (xy in meter), center (xyz in meter), normal (xyz in meter) and distance to the plane or
hemispherical dome (Figure 26). The brf file stores ρscene(Ωj) of all simulated images, and ρscene(Ωk) derived
from the BRF map for all DART discrete directions (Ωk , ∆Ω𝑘𝑘 ).
Note: a single DART-FT simulation gives ρscene(Ωv) for all Ndiscrete directions Ωv and stores them in the brf file.
BRF algorithm. In backward mode (i.e., random walk from the sensor), a direction ω0 is sampled with {directional
p(θ,φ) p(θ)∙p(φ|θ)
1
1
PDF p(ω0 )=
=
with p(θ)= ,p(φ|θ)= } and a start vertex q0 is uniformly sampled on the
sinθ
sinθ
π/2
2π
scene ortho-projected surface Aortho (ω0 ) along ω0 with area PDF p(q0 )=
1
. In forward mode, a local
Aortho (ω0 )
direction is sampled according to PDF p(ω0 ) at each vertex in the scene towards the hemispheric sensor. All
directions sampled in (ω0 ,∆Ω) contribute to the pixel ω0 of the BRF map.
Bi-directional light mode
(DART-Lux)




Figure 23. DART-Lux products: RS , RB  and Earth scene  products.
Figure 25 shows the DART-Lux nadir image and BRF map of a schematic house. The default DART-Lux number
of samples per pixel (i.e., 50) can be increased or decreased depending on the expected accuracy. It also shows a
26
2D BRF plot that results of the interpolation of data in the brf file, and a 2D BRF plot that is the projection of the
BRF map. The later one is noisier.
a)
c)
b)
Figure 24. a) Sensor image: radiation from the scene in direction ω0 incident on the camera lens is projected along
ω0 on a virtual orthographical plane Aortho (ω0 ). b) BRF map: each pixel on the regular dome sensor (constant (∆θ,
∆φ) per solid angle ∆Ω, infinite radius) captures radiation in (ωo ,∆Ω). c) DART default discrete directions ∆Ωn .
0°
θv
a)
b)
c)
360°
φv
ρDART-Lux
= 0.4779
scene
90°
c)
d)
Figure 25. DART-Lux. a) 20 x 20m scene. ρground=ρhouse=0.5. θs=30°, φsun=225°. b) BRF map: 90 rows x 60
columns. c) Image and its histogram. d) 2D BRF plot of the brf file derived from the BRF map
using 500 upward directions. e) 2D BRF plot of the brf file directly derived from the BRF map.
L
Σ
Figure 26. The three modes of the BRF camera (menu: Sensor): radiance from a user-defined surface Σ
at altitude H, for any angular resolution and range L. Mode 1: radiance of Σ. Mode 2: radiance
at a given distance L to the centre of Σ. Mode 3: radiance at any user-defined altitude L.
27
Radiative budget
Compared to DART-FT, DART-Lux has the same RB products with same file format except for RBfacet, without
extrapolation and intermediate stages (Illudir, Iter_n,…). The accuracy and CT of RBscene depend on 3 parameters:
- Spatial sampling grid ∆s : 1 sample per grid volume for volumes and 1 sample per centroid of sub-facet
(i.e., segmented facet per grid volume).
- Number of incident directions that influence RB  in addition to sun direction.
- Ray density per direction per point xyz : to decrease Monte Carlo noise.
 DART-Lux gives RBilludir if {Nscat = 0, SKYL = 0} and RBilludiff if {Nscat = 0}, whereas DART-FT can give RB at
all stages.This situation will be improved.
It is more computer intensive. Its computer time CT is reduced by computing RB (Figure 24) for parallelepiped
sub-zones  and/or selected elements (DART elements : house,... and/or objects  or groups of 3D objects).






Earth scene

∆s


Figure 27. DART-Lux RB. a) Parameters. b) Selected zone. c) Selected DART element, 3D object or group of 3D object.
III.4.4 Monte Carlo (DART-MC)
It is pure MC, much simpler than DART-Lux, designed to assess DART-FT accuracy.
It only tracks photons in the Earth scene in mode R with few options: no atmosphere,
no thermal emission,... Figure 26 shows its specific parameters. DART-RC uses it.
Figure 28. Monte Carlo mode.
III.4.5 LiDAR: Forward mode (DART-RC)
DART-RC mode extends DART-MC mode to simulate single- and multi-pulse waveforms of urban / natural scenes,
possibly with solar signal/noise, using a unique pulse definition. It tracks so-called DART photons that have a weight
(i.e., float number) to simulate the LiDAR signal with reasonable computer time with a forward MC method. DARTRC (RC = RayCarlo) "tracking method" combines Ray Tracking and MC methods. MC methods compute the location
of the intercepted photon in turbid / fluid cells and its scattering direction. The ray tracking method gives the
fraction of intercepted photons in atmosphere layers and turbid/ fluid cells, the scattered and absorbed fractions per
photon interception and the photon fraction that heads to the LiDAR.
Atmosphere: extinction coefficients are horizontally homogeneous and vertically continuous (except for treating
atmosphere sphericity) with a formalism (i.e., degree 3 polynomial per atmosphere layer) that reduces computer
time for deriving the location of the interaction point from the MC computed ray path optical depth.
Single pulse
- Pulse duration ∆tpulse (Figure 28.b): DART photons are emitted simultaneously. A post processing convolves
them assuming that the emitted pulse is a centered Gauss function A.exp[-t 2 /2.σ2t ] (Figure 27) with half pulse
duration nσ.σt. One sets nσ (), and σt is defined by setting a pulse relative power x () and time Δt x () such
that pulse amplitude equals x.A. If x = 0.5, 2Δtx is the "full width at half maximum (FWHM)" of emitted pulse.
 Any 1D distribution can be imported as the LiDAR temporal pulse using the option 'Import a pulse time file'.
Figure 29. LiDAR Gauss pulse.
Amplitude A. Standard deviation
σt. is derived from x and tx.
-nσ.σt
A
x.A
A.exp[-
𝒕𝒕𝟐𝟐
𝟐𝟐.𝝈𝝈𝟐𝟐𝒕𝒕
∆tx
]
t
nσ.σt
28
- Pulse energy Wpulse  (Figure 28.b): Nphotons, LiDAR =
Wpulse
h.ν
monochromatic photons; Planck's constant h, frequency ν.
- Illumination (Figure 28.c): Nphotons,LiDAR being too large, Nphotons,DART DART photons ≈ Nphotons,input are launched to the
footprint from sub-centers (i,j). Default footprint 2D energy is Pl (β)=P� l, β .exp[
-β2
2s2β
] with β the angular offset
from the pulse central direction. Standard deviation sβ defines the cone half beam divergence θfp (i.e., within
footprint angular divergence). Parameter "Fraction of photons at LiDAR radius" η=
pulse energy at footprint edge
pulse energy at footprint center
is used to calculate the standard deviation sβ . Its default value is 0.368 (e-1).
. It
 - 2D distributions w(i,j) can be imported as a LiDAR pulse energy image with option 'Import a pulse spatial file'.
- The ratio
Nphotons,lidar
Nphotons,dart
is used to get results in terms of actual photons instead of dart photons.
- Results converge and become more accurate if Nphotons,DART increases. The optimal value of Nphotons,DART
depends on the footprint size and scene complexity. For example, it can be 70~200 for TLS simulation,
1000~5000 for ALS simulation, and 100,000~1,000,000 for satellite LiDAR simulation.
- Acquisition (Figure 28.d): rate (1ns ⇒ distance resolution = 15cm); higher scattering order; larger RAM for MC (box
method); Filter: data stored from 1st to last non zero bins; no MC variability: same result for successive simulations.
- LiDAR geometry (Figure 28.e):
* Lidar altitude H.
* Telescope area At =π𝐫𝐫𝟐𝟐𝐭𝐭 (rt = radius): used to compute solid angle from any location (x,y,z) to LiDAR.
����⃗L (θL ,φL ). Viewing and illumination directions are equal.
* Zenith and azimuth angles: the LiDAR direction Ω
* Lidar footprint position (x,y): center of footprint and ground FOV at BOA level.
* Footprint and FOV sizes: angles or radii at BOA level. The beam width at the laser generator 'exit gate' is dl .
d
2D energy distribution is kept along the cone path while the footprint radius rfp increases; rfp =R∙ tan θfp + l with
2
R the sensor-to-target range. dl is usually negligible for airborne and space LiDAR, conversely to TLS. The
r
FOV radius is rFOV =R∙ tan θFOV + t with R the sensor-to-target range, rt the radii of LiDAR telescope.
2
* Height above / below scene minimal altitude: photons are stored for the interval [zo - H1 , zo + H2].

 nσ
x
 ∆tx
a)
b)
Nphotons, input
In addition, use 1 core only
to get identical results
d)
At
d1(important for TLS)
rFOV, rfp
θFOV,θfp
η
c)
LiDAR position (x,y,H), LiDAR orientation �����⃗
𝛀𝛀𝐋𝐋 (𝛉𝛉𝐋𝐋 , 𝛗𝛗𝐋𝐋 )
θFOV
Telescope aperture:
(area 𝐀𝐀 𝐭𝐭 = 𝝅𝝅𝐫𝐫𝐭𝐭𝟐𝟐 )
rfp= Hcosθfp
rFOV = H.cosθFOV
Laser beam
diameter dl
θL
θfp
H
FOV
Height
FOV
Footprint
e)
rFOV
r//,FOV
rfp
r//,fp
f)
Figure 30. Single pulse menu. a) LiDAR mode. b) Energy time distribution. c) Energy spatial distribution. d) Acquisition.
tan θfp
tan θfp
e) LiDAR geometry. f) Footprint and FOV ellipses r∥,fp =H∙ cos2 θ ,r⊥,fp =H∙ cos θ ;r∥,FOV =
L
L
H∙
tan θfp
cos θL
+rt
cos θL
,r⊥,FOV =H∙
29
tan θFOV
cos θL
+rt
- Single-pulse waveform products (Figure 29): images and text files
* Photons images: ground image (2D distribution of photons intercepted by the ground), BOA incident pulse,
BOA LiDAR image in the plane perpendicular to the viewing direction, and reflectance image.
Figure 31. Lidar single-pulse products.
* Convolved waveform:
- pulse.txt (Table 38): time pulse function A∙exp( -t 2 ⁄2σ2t ) used to convolve the LiDAR DART waveform.
- LIDAR_DART_wave.txt (LIDAR_DART_wave_1stOrder.txt) (Table 39): (1st-order) not convolved waveform. 4
columns: bin, time, length, number of photons.
- LIDAR_CONVOLVED_wave.txt (LIDAR_CONVOLVED_wave_1stOrder.txt) (Table 40): (1st-order) convolved
waveform. 2 columns (time, number of photons).
* Photon Information (Table 41): (xlidar, ylidar), Rf, RFOV, qlidar, flidar, ground path length and bin number, bin
duration, st, number of st in the pulse, pulse length, number of bins in the pulse, pulse itself. Allow a 3D view
of photon interactions in “View → LiDAR → mono pulse”.
* stat_illumination_MC0.txt (Table 42): statistics of illumination per spectral band.
Multiple pulse
Three modes are possible: Waveform, Photon counting and Discrete Return (Figure 30).
Figure 32. DART "multiple pulse" mode.
The acquisition grid (Figure 31) is an irregular grid defined by an imported file (Lidar_files/Swath_ALS.txt)
that sets the characteristics of each pulse, or a regular grid with the following input of parameters:
(1) Start point and end point of the central axis of the swath region,
(2) Position of the ground control point and LiDAR viewing direction for that point,
(3) Grid mesh along the azimuth and range directions.
A waveform is simulated per grid node with a viewing direction defined by the telescope and pushbroom scan
line (i.e., same azimuth view direction for all nodes on a same line). This energy per bin can be converted into
discrete return and photon counting data through specific approaches.
- Lidar parameters (Figure 31): as "Single pulse" option, except that "Lidar direction" changes per swath node.
30
b)
a)
Figure 33. a) Lidar "multiple pulse+ ALS mode" swath menu. b) Scan grid.
- Multiple-pulse waveform products (Figure 32): images and text files
* Images that show all pulses.
* LIDAR_IMAGE_panel.txt (Table 44): multi-pulse geometry information, which is used as ancillary file for
DART LiDAR viewer (view->LiDAR->multi pulse).
* LIDAR_IMAGE_FILE.binary (Table 43): the simulated multi-pulse waveforms.
* LIDAR_IMAGE_STATUS.txt (Table 45): positions of key bytes in LIDAR_IMAGE_FILE.binary file. It is updated
simultaneously with the binary file.
Figure 34. Menu of lidar multipulse waveform products
LIDAR_IMAGE_panel.txt
LIDAR_IMAGE_FILE.binary
LIDAR IMAGE STATUS.txt
Discrete points: point cloud
Two methods (Figure 33) can derive a point cloud (industrial format), with 5 intensity products, from DART
waveform binary files using Gaussian Decomposition (GD).
3D scene
LiDAR simulation
Full waveforms
In DART C++
Gaussian
decomposition
Binary data
Gaussian
decomposition
Python script based on laspy library
Discrete point cloud
Text file: 1 line per point
(location, peak amplitude,…)
Full waveform
+
Discrete point cloud
Display, analysis:
CloudCompare,…
LAS 1.3 format: point type 1 or type 4 with WPD file: waveform
Figure 35. DART calculation of LiDAR point cloud and export in LAS format.
1) DART external process (script DART2LAS.py based on laspy library): it converts a DART LiDAR multi-pulse
output file to a LAS File:
- inputFile: LiDAR_IMAGE_FILE.binary.
31
- outputFile: output LAS file (format LAS1.3 point cloud point type 1 or 4). If type 4 waveform is selected, a
*wdp file is generated to store the waveform. Cloudcompare (www.danielgm.net/cc/) can read it ().
-g: type: float: set a fixed digital gain for the amplitude → volts conversion. If this option is not set, the
python file will read through “LiDAR_IMAGE_FILE.binary” and find the maximum amplitude of all the
waveforms and normalize it to integer range 0-127.
-t: type: int: output intensity format type. 1: Peak amplitude of gaussian profile. 2: Integration of decomposed
gaussian profile (default). 3: Sigma of gaussian profile (integer value of s (unit: number of acquisition bins)).
-w: if “-w” is set, LAS1.3 type 4 (waveform format) will be generated. Otherwise, the script only stores the
decomposed points in a simple format (LAS1.3 type 4)
2) DART internal processing: it is advised if the storage of the waveforms used to get the cloud point needs too
much computer volume, which may be the case for TLS simulation. It uses 3 parameters (Figure 30):
- Minimum apparent reflectance ρmin : a point is not be recorded if its apparent reflectance ρ < ρmin .
- Number of points per pulse.
- Output intensity value type: 1 or all of 5 intensity products (cf. below).
Points are stored in the file DetectedPoints.txt (Table 46). Its header (1st row) gives the data format. It eases its
reading in Excel and CloudCompare (use option 'skip lines 1' and 'extract scalar field names from 1st line').
Theoretical Background of Gaussian Decomposition (GD)
(t-t )
GD derives N points from waveforms. The received power is: Pr (t)= ∑Ni=1 P� i ⋅exp[- 2i ] (1) with sp,i =�s2s +s2i (2)
2
2sp,i
the standard deviation per Gaussian echo at time ti , with the time-gated peak amplitude: P� i =
σi
Ccal .𝑹𝑹𝟒𝟒𝒊𝒊 .sp,i
(2) σi is
the total cross section of a Gaussian cluster of scatterers at distance Ri ,
si represents signal broadening due to the observed medium (e.g., cluster of leaves or surface that is oblique
relative to the LiDAR direction), and ss represents signal broadening due to the pulse duration. ss is an
instrument-specific constant unless each transmitted pulse temporal profile is known (Mallet and Bretar, 2009).
sp,i ≈ss if ss ≫si (very small footprint compared to the corresponding distance of the pulse duration). Hence, GD
distinction of different targets depends on target size, surface angle, gap size, and acquisition frequency.
4π⋅β2t
η.D2r ⋅S� ⋅s
Ccal =
(3) is a calibration constant, with η the product of system and atmospheric transmission factors.
s
Wagner et al. (2006) consider that the backscatter cross section of scatterers with an effective cross section As
4π
and a bi-conical reflectance factor ρ for the LiDAR direction is: σ= ⋅ρ⋅As (4) with Ω the solid angle of the
Ω
cone where scattered intensity (W/sr) is assumed to be uniform. For echo i, we have: σi =
4π
Ω
⋅ρi ⋅As,i (5).
An apparent bi-conical reflectance factor ρa,i of the cluster of scatterers at distance Ri is defined for a
theoretical surface Afoot,i =
4π
πR2i β𝟐𝟐𝒕𝒕
4
(neglecting dl ) equal to the footprint area at a distance Ri along the pulse
direction: σi = ⋅ρa,i ⋅Afoot,i (6). Conversely to Wagner et al. (2006), scattered radiance, and not intensity, is
Ω
assumed to be isotropic. Hence, for a backscattered power Pr,i , the power entering a receiver of area At is
Pr,i At
π
.
R2i
and not
. 2 . Hence, the expression of σi in Eq. 7 is modified: σi =4⋅ρa,i ⋅As,i =π⋅ρa,i ⋅R2i .β𝟐𝟐𝒕𝒕 (7)
Pr,i At
𝛀𝛀
Ri
- The 5 types of “intensity” products
1) Peak Amplitude P� i (without GD). It is determined using a fast method (i.e., zero-crossing).
2) Fitted Peak Amplitude P� i (with GD). ti , P� i and sp,i are computed with non-linear least-square minimization
and curve-fitting (Newville et al., 2016).
3) Standard Deviation sp,i (with GD) (unit: number of bins).
4) Total return power Pi (with GD): Pi = ∫ P� i .exp[-
(t-ti )2
2s2p,i
] dt=√2π⋅P� i .sp,i (8) (Milenković et al., 2017).
5) Apparent reflectance ρa,i (with GD). The combination of Eq. (3) and Eq. (9) gives σi as a function of Pi :
σi =
Pi ⋅Ccal R4i
√2π
(9). Eq. (8) and Eq. (10) lead to ρa,i =
Pi .Ccal R2i
π√2π⋅β2t
(10). Using Eq. (4), ρa,i can be written as a ratio of
32
transmitted and received powers: ρa,i =
π
ΔΩi .η
⋅
Pi
Pt
(11) with Pt =√2πS� ⋅ss the total pulse power, and ΔΩi =
D2r π
4R2i
the solid angle from target i to the receiver of diameter Dr at distance Ri .
Computation of Pi =√2π⋅P� i ⋅sp,i requires P� i and sp,i , except if ss ≫si . Present LiDAR devices do not give P� i
and sp,i . They only give quantities often called "intensity" with various definitions. Hence, an accurate
calculation of ρa,i requires to record (Brown et al., 2005) or process (Wagner, 2010) the complete waveform
with GD. Some discrete-return LiDAR devices give a "reflectance" product by fitting an "intensity" output
with reference targets with different reflectance values (10%, 20%,…) at various distances. The online
waveform processing of Riegl devices (Pfennigbauer et al., 2009, 2010) may provide the complete
information without recording the waveforms, but the details of the method remain unpublished.
Photon counting
The method (Yin et al, 2016) implemented in DART internal processing is used to derive a photon counting
data. It uses 3 parameters of single-photon detector (Figure 30):
- Quantum efficiency PQ: the probability to detect a photon that reaches the detector.
- Detector dead time tdead: time needed by the detector to recover after a detection event, to detect a new photon.
- Dark count rate fdark: the detector’s thermal noise count rate without any light source.
The file DetectedPoints.txt (Table 47) stores photon counts. Its header (1st row) gives the data format. It eases
its reading in Excel and CloudCompare (use option 'skip lines 1' and 'extract scalar field names from 1st line').
TLS
A TLS single-pulse simulation is defined by TLS location (Figure 34.a). The waveform storage range is
defined by the reference point location and range around it (Figure 34.b).
For TLS multi-pulse simulation, apart from the above parameters, TLS swath (Figure 34.c) is defined the
viewing direction (target → LiDAR), angular (zenith and azimuth) range and resolution.
a)
b)
Figure 36. TLS mode. a) LiDAR position; b) measured range; c) swath.
c)
Solar noise
3 options: "Only Lidar", "Only solar noise" and "Lidar with Solar noise" (Figure 28.a). Solar noise is a constant,
simulated with DART flux tracking method, including several iterations, in the Earth scene.
In single-pulse mode, solar noise is simulated by a pinhole camera configuration that mimics the lidar sensor. In
multi-pulse mode, airborne configuration should select the pushbroom camera. If solar noise is simulated, we get:
- Scene reflectance / radiance images (i.e., "flux tracking mode) due to sun flux only.
- 1 image / node of the swath grid "ima_camera_lidar_SN_i_j_VZ=000_1_VA=270_0". Index i is grid line (i.e.,
azimuth) number of the swath region, from the start point to end point. Index j is grid column number (i.e.,
range) of the swath region, from the left to right view.
- Solar_noise.txt (Table 48): i, j, average sun radiance (W/m2/sr/µm), Solar power received by LiDAR (W),
Solar energy per bin (J), Number of sun photons per bin.
- rad0.txt (Table 49): average sun radiances of nodes.
III.4.6 LiDAR: Bi-directional mode (DART-Lux LiDAR)
DART-Lux LiDAR uses DART-RC input parameters and not DART-Lux input parameters. It gives most DART-RC
products (waveform/discrete return/photon counting) for any instrumental (terrestrial / satellite / airborne,...) and
environmental (vegetation/urban/mountain/atmosphere/3D object/turbid/facet) configurations.
33
- Single-pulse waveform products
* Waveform (same as DART-RC): pulse.txt (Table 38), LIDAR_DART_wave.txt (LIDAR_DART_wave_1stOrder.txt)
(Table 39), LIDAR_CONVOLVED_wave.txt (LIDAR_CONVOLVED_wave_1stOrder.txt) (Table 40).
* Photons image: - ima_camera_lidar_i_j.mp#: number of returned photons projected at LiDAR location; i and j
the grid line (i.e., azimuth) and column (i.e., range) of lidar pulses (i = j = 0 for single pulse).
- ima_camera_lidar_i_j_bin=k.mp#: the number of returned laser photons at k bin.
- Multi-pulse waveform products (same as DART-RC)
LIDAR_IMAGE_panel.txt (Table 44), LIDAR_IMAGE_FILE.binary (Table 43), LIDAR_IMAGE_STATUS.txt (Table 45).
- Multi-pulse discrete return / photon counting products (same as DART-RC): DetectedPoints.txt (Table 46, Table 47)
- Solar noise products
* Solar_noise.txt (same as DART-RC) (Table 48): i, j, average sun radiance (W/m2/sr/µm), LiDAR signal due
to sun only (W), LiDAR signal per bin (J), Number of sun photons per bin.
* rad0.txt (same as DART-RC) (Table 49): average sun radiances of nodes.
* Solar image: ima_camera_SN_i_j.mp#: the number of returned solar photons projected at the LiDAR position.
III.4.7 Earth scene products
DART simulates several scene products (i.e., non radiometric products) (Figure 35):
- "Triangle area products" : triangle area (total and per type of triangle), per cell in the Earth scene.
- "LAI (leaf a rea index)" : 1D profile and 3D distribution (x,y,z) in the Earth scene.
- "Triangle ground cover products" : ground cover (total and per triangle type), per Earth scene cell.
- "3D object (obj file) : it cconsists of all fates in the DART simulated scene.
- "DSM" : xy distribution of scene local maximal altitude, as raster image and/or 3D object (*.obj).








Figure 37. Earth scene (i.e., Maket) optional products of DART-FT and DART-Lux.
III.4.8 Directions of rays
DART-FT and DART-RC track radiation along discrete that sub-divide the 4π space and contribute to RT modeling,
and virtual directions only to give scene with a very low computer cost. Each direction (Ω, ∆Ω) crosses the center of
gravity of its solid angle ∆Ω. The 'Direction' module (Figure 36) creates these directions. It does not create sun
direction; ∆Ωsun=0 (incident radiance files use: cosθsun.∆Ωsun=0.1), except if "Sun penumbra" is simulated (∆Ωsun≈7 105
sr). DART-Lux uses these directions only to set the viewing directions of the simulated images and of the terms of
the brf/btf file that is derived from the 90°x360° BRF/BTF map. The 'Direction' module has a number of options:
• Number of directions (Ω, ∆Ω) that sample the 4π space with ∆Ω≈cst except the vertical up and down directions
• Sun angles or date: sun angles (θsun, φsun) are input or derived from time (date, time zone,...)
and scene location, with NOAA sun calculator (www.esrl.noaa.gov/gmd/grad/solcalc).
• Automatic addition of sun related directions (cf. DART Handbook for "VIS/TIR hot spot" theory):
- "Upward sun region (hot spot)": adds Nup directions in a region ∆Ωregion around the hot spot.
- "Downward sun region": adds Ndown directions in a region ∆Ωregion around the sun direction.
- "Sun (hot spot) and Perpendicular sun plane": adds virtual directions that sample these planes with a step ∆θ.
- "Perpendicular sun plane": adds directions along the perpendicular sun plane with a step ∆θ.
• Mode expert: number of angular sectors to store Wint (Ω) used to simulate scattering in next DART_FT iteration.
34
• Add user defined directions ( right click on "Direction input parameters": Figure 37). Images are created or not.
1) Single direction (virtual in DART-FT): directions defined by {zenith θ, azimuth φ} or {satellite coordinates
(lat, lon, altitude) + solid angle with rectangle (∆θ, ∆φ) or square (∆Ω or (∆θ, ∆φ)) shape.
2) Oversampled plane (virtual in DART-FT): adds directions in a vertical plane Φ. Step ∆θ and solid angle ∆ω.
3) Region: non virtual directions sample an angular region (e.g., hot spot). It is defined by:
- Central direction: {zenith / azimuth angles} or {satellite + scene locations (latitude, longitude, altitude)
- Angular shape: it can be rectangle (∆θ, ∆φ) or square (∆Ω or ∆θ or ∆φ)
4) Secondary source of distant illumination: to simulate an additional source of illumination.
Oversample upward (hot
spot) and downward sun
directions, and sun and
perpendicular planes.
Add directions
with mouse
right click
Figure 38. Menu Direction. Convention: 'Viewing angle': θs ∈ [0° 90°[. 'Downward angle': θs ∈ ]90° 180°].
For simulating
airborne
a)
b)
Figure 39. Addition of direction.
a) Single direction. b) Oversampled
plane. c) Angular region. d) 3D plot
of directions. e) 2D and 3D plots of
ρscene(Ω) with hot spot (θs=30°, φs=
45°). Crosses show DART discrete
directions. d) ρ(Ω) on top of a).
c)
3D ρscene(θ,φ)
Directions
d)
ρscene(θ,φ). x: directions
Figure 40. DART-FT automatic approximation with discrete directions.
� t , radiance Lt (Ω
� v )) gives radiance Lp (Ω
� v ) at DART pixel (area Ap ).
A target (area At , normal Ω
� v is At .|Ω
� t .Ω
� v |=Ap,t .cosθv . Then:
Its projection on pixel is Ap,t . Its cross section along Ω
� t .Ω
� v. ΔΩv .
Ap,t .cosθv .ΔΩv .
At .Ω
� v ).
� v )=Lt (Ω
� v ).
� v )=Lt (Ω
� v ).It is inexact
= Lt (Ω
. If Apt =Ap : Lp (Ω
Lp (Ω
Ap . ∫ΔΩ cosθv .dΩv
ρscene(θ,φ)
Ap . ∫ΔΩ cosθv .dΩv
𝑨𝑨𝒑𝒑
𝑨𝑨𝒕𝒕
� 𝒗𝒗
𝛀𝛀
𝑨𝑨𝒑𝒑,𝒕𝒕
�t
Ω
for non horizontal surfaces since: ∫ΔΩ cosθv .dΩv ≠ cosθv .ΔΩv . However, energy conservation needs: ∑2π cosθv .ΔΩv =π .
Hence, a normalization is applied to the non virtual downward directions the solid angle of which crosses the target plane.
35
III.4.9 Optical and Temperature properties
Any surface (i.e., adjacent facets) and volume (i.e., material inside a closed surface made of facets) has an optical
property (OP) and a temperature property. There are 2 types of facets:
- "double face" option: each face of the facet has a specific OP and temperature property, or
- "single face" option: the facet upper face (i.e., positive normal) has an optical property and the other face is opaque
(i.e., lost energy) except in DEM facets where it is transparent (Figure 39).
Several options are possible for managing OPs and temperature properties. For example (Figure 40):
 On-line OP creation without importing it in OP database, by multiplying OP's terms (reflectance ρ,…) by factors.
Example: lambertian ρ=0.3 is set in the GUI by multiplying the table "reflect_equal_1_transm_equal_1.txt" by 0.3.
 To mimic part of the diffuse transmittance tdif of DART-FT lambertian facets as a direct transmittance tdir. It
reduces computer time to transmit radiation through the lambertian facets that simulate the scene.
 3D variability of OP and temperature property: it can be mimicked using 3D temperature and / or OP
multiplicative factors stored in a text file (separator: ';'. ' ', 'new line', 'tab',...) that starts from cell (0,0,0), increases
y, then x, then z. The header "Subzone" must be used for subzones.
Facet: 'single face'
� ray
Ω
Scattered +
Backward Fluo
� facet
Ω
Facet: 'double face'
� ray
Ω
Ray is stopped
(energy is 'lost'). If
facet = 'DEM', ray
is not intercepted
Scattered +
Backward SIF
� ray
Ω
Transmitted +
Forward SIF
� facet
Ω
� ray
Ω
Scattered +
Backward SIF
Facet faces with different optical
properties ⇒ different backward &
forward scattering / fluorescence
� facet . Incident ray Ω
� ray . Rays interact with
Figure 41. Single (a) / Double face (b) options. Facet with normal Ω
� facet .Ω
� ray <0 ⇒ the faces of the same facet never interact
a facet only if Ω
In addition, band OP (ρ∆λ,t∆λ) is a spectral integral of (ρλ,tλ) weighted or not by BOA spectral irradiance EBOA,λ :
∫ ρλ .EBOA,λ .dλ
- Mode R: ρΔλ = Δλ
∫Δλ EBOA,λ .dλ
∫ ρλ .LB,λ .dλ
- Mode T: ρΔλ = Δλ
∫Δλ LB,λ .dλ
∫ t λ .EBOA,λ .dλ
, t Δλ = Δλ
∫Δλ EBOA,λ .dλ
∫ t λ .LB,λ .dλ
, t Δλ = Δλ
∫Δλ LB,λ .dλ
∫ ρλ .(π.LB,λ +EBOA,λ ).dλ
- Mode T+R: ρΔλ = Δλ
∫Δλ (π.LB,λ +EBOA,λ ).dλ
. (ρλ,tλ) from SQL database (*.db) or from Prospect / Fluspect model.
with Planck radiance computed at mean scene temperature Tscene.
∫ t λ .(π.LB,λ +EBOA,λ ).dλ
, t Δλ = Δλ
∫Δλ (π.LB,λ +EBOA,λ ).dλ
Spectral optical properties (OP)
SQL databases (cf. 3) store OPs (e.g., Lambertian_*.db for surfaces). Their appear as indices (Table 5) in xml files.
Table 5.
Optical properties.
Index Surface OP Index
OP
Index
OP
0 Lambertian 11 Phase extern 13
Specular (Lux)
2
Hapke
4 RPV
22
Mixed
• Surface.
+
A facet has a direct transmittance tdir along its normal Ωt, an isotropic transmittance tdiff and Wint (Ωi )
Wscat
(Ωv )
reflectance ρ isotropic or not. A flux Win(Ωi) intercepted by a facet gives: (1) directly
facet
transmitted flux [tdir]1/|Ωs.Ωt|.Win, (2) scattered flux (1 - [tdir]1/|Ωs.Ωt|).ρ.Win, and (3) transmitted
diffuse flux (1 - [tdir]1/|Ωs.Ωt|).tdif.Win. Several "types" of surface OP are available:
Wscat
(Ωt ) Wdir (Ωi )
- Lambertian: isotropic ρλ, tdif,λ and tdir,λ from a database (e.g., lambertian_vegetation.db, lambertian_mineral.db),
isotropic ρsoil,λ = f(soil moisture content, soil type) from the Marmit-2 model (doi.org/10.1016/j.rse.2022.112951)
or isotropic ρleaf,λ and tleaf,λ from the Prospect / Fluspect model (doi.org/10.1016/0034-4257(90)90100-Z). This
model stores ρleaf,λ and tleaf,λ in a table "hc…" (i.e., index of input parameters) of database ProspectVegetation.db.
It is run from the DART editor (tool ), from the menu "Run / Prospect" module in the GUI, or by setting
"Prospect module" in "Run / Properties" (then, the Prospect module is run when DART is run).
 DART-FT: OPlambertian defines ρspe with specular.db; cf. DART Handbook): ρ(Ωs,Ωt,Ωv) = ρnon spe(Ωs,Ωt,Ωv) + ρspe(Ψnv)
with ρspe(Ψnv) = A.ρFresnel(Ψnv). f(ψΔΩ* ,ΔΩ*n ) in ΔΩ*n = {DART direction ∆Ωn ∩ΔΩ* }. ρspe has 4 parameters: surface
_
36
refraction index and specular factor A, cone ΔΩ* , and directional distribution f(ψΔΩ*,ΔΩ*n ) of intensity in ΔΩ* . It
is exact at scattering order N=1 and assumed to be due to isotropic radiation (Phase module computes ρspe,hh
2
(θn-local ). cos θn-local . sin θn .Δθn .Δφn ; (exact if option "Flux
and tspe,hh) for N>1: ρspe,hd (Ωn ,ΔΩn ) ≈ 2.Aface,in-out .rFresnel
tracking → Store intercepted power per direction (for lambertian + specular)" is set).
cosψΔΩ∗ ,ΔΩn∗ =sinθΔΩ∗ .sinθΔΩ∗n . cos(φΔΩ∗ -φΔΩ∗n )+cosθΔΩ∗ .cosθΔΩ∗n ; f(ψΔΩ∗ ,ΔΩn∗ )=cst,
α𝟐𝟐in-out
4
-ψΔΩ2∗ ,ΔΩ∗n or (cosψΔΩ∗ ,ΔΩ∗n )kin-out - (cos
- Hapke: from the analytical Hapke model (cf. III.7.3). OPHapke is defined using Hapke.db.
αin-out k
) in-out
2
- RPV: from the analytical RPV model (cf. III.7.3 . OPRPV is defined using RPV.db.
- Phase extern: pre-computed ρ(θi,φi,θj,φj,λ) (e.g., BSDF_example.txt in DART/database) to store in phase_extern.db
- Specular: ρspe of 3 types of media (Figure 40.g). DART-Lux is much simpler and efficient than DART-FT.
- Mixed: reflectance is a proportion of the above defined categories (e.g., 60% lambertian and 40% specular).
Lambertian







Database
loam_sandy_brown_bright_
clean_smooth_arizona
Marmit
Marmit
 Liu_2002 SMC:10
delta:0.005
a)
Lambertian


Liu_2002 SMC:30
delta:0.005



Optical property "leaf"
Mixed
*5
b)
c)
37
Hapke
Phase Extern
RPV
f)
e)
d)
Fresnel
Specular
η=
Definitions
n�
D(Ωf )=
ni
Interface (smooth and rough) nt = η.ni
π∙δ(Ωi -Ω*r )
R smooth (Ωi ,Ωr )=
∙K r ∙Fr
cos θi
Tsmooth (Ωi ,Ωt )=
R rough (Ωi ,Ωr )=
Trough (Ωi ,Ωt )=
Δτ
π∙η3 ∙δ(Ωi -Ω*r )
∙K t ∙Ft ∙e cos θt
cos θi
π∙D(Ωf )∙G(Ωi ,Ωr )
∙K ∙F
4∙ cos θi ∙ cos θr r r
Δτ
π∙|Ωi ∙Ωf |∙|Ωt ∙Ωf | η3 ∙D(Ωf )∙G(Ωi ,Ωo )
∙
∙K ∙F ∙e cosθt
cos θi ∙ cos θt (|Ωi ∙Ωf |-η|Ωt ∙Ωf |)2 t t
∙e
tan2 θf
2σ2
: microfacet distribution function.
𝜃𝜃f : zenith of facet normal
nt
ni
Fr =
2πσ2 cos 4 θf
-
𝜎𝜎: RMS of slopes of microfacet (roughness factor)
nt .cos θi - ni .cos θt
2 ni .cos θi
⎧
⎧t =
⎪ ∥ nt .cos θi + ni .cos θt ⎪ r∥ = nt .cos θi + ni .cos θt
ni .cos θi - nt . cos θt
2 ni .cos θi
⎨
⎨
⎪t⊥ = n .cos θ + n .cos θ ⎪r⊥ = n .cos θ + n .cos θ
i
i
t
t
i
i
t
t ⎩
⎩
g)
1
r∥2 +r⊥2
2
n cos θ t 2∥ +t 2⊥
Ft = nt ∙ cos θt ∙
Thin layer
(smooth & rough)
R smooth (Ωi ,Ωr )=
i
2
i
ni
nt
π∙δ(Ωi -Ω*r )
∙[1+
cos θi
(
=1-Fr
- Δτ
Kt∙Ft∙e cos θt )2
- Δτ
G(Ω1 ,Ω2 )=
1-(Kr∙Fre cos θt )2
π∙D(Ωf )∙G(Ωi ,Ωr )
∙[1+
4 cos θi ∙ cos θr
(
- Δτ
1
: masking-shadowing
function,
1 e 2σ2 tan2 θ
1 with
Λ(Ω)= [
+ erf(
) -1]
2 √2πσ tan θ
√2σ tan θ
Ω*r : direction symmetric to scattering direction (Ω*r =Ωi Ωi ,
Ωr , Ωt in specular solid angles: dirac function δ(Ω*r -Ωi )=
1
= ). Being used as PDF, δ disappears in computation.
ΔΩi
]∙K r ∙Fr
- Δτ
Δτ
π∙δ(Ωi -Ω*r )
Kt ∙Ft ∙e cos θt
Tsmooth (Ωi ,Ωt )=
[
]∙K t ∙Ft ∙ cos θt
cos θi
- Δτ
1-(Kr ∙Fr ∙e cos θt )2
R rough (Ωi ,Ωr )=
1
1+Λ(Ω1 )+Λ(Ω2 )
Kt∙Ft∙e cos θt )2
e
]∙K r ∙Fr
- Δτ
cos θt )2
1-(Kr∙FΔτ
r ∙e
π∙D(Ωf )∙G(Ωi ,Ωt )
- Δτ
Kt∙Ft∙e cos θt
Trough (Ωi ,Ωt )=
∙[
]∙∙Kt ∙Ft ∙e cosθt
4∙ cos θi ∙ cos θt
- Δτ
1-(Kr∙Fr∙e cos θt )2
Glossy surface:
Diffuse base:
ni
nt
Rbase, Tbase
Δτ
Δτ
+
�
cos θi cos θr
-�
R(Ωi ,Ωr )=K r ∙[R coating +(K t ∙Ft )2 ∙R base ∙e
π∙Fr ∙D(Ωf )∙G(Ωi ,Ωr )
4∙ cos θi ∙ cos θr
R base =ρ(Ωi ,Ωr ), Tbase =t(Ωi ,Ωt )
]
R coating =
-
Δτ
T(Ωi ,Ωt )=K t ∙Ft ∙e cos θi .Tbase
Figure 42. Surface  optical properties. a) Lambertian "ground" (spectral database  (e.g., Lambertian_mineral.db)
or Marmit model  (SMC = 10 and 20). b) Lambertian "leaf" ( ⇒ table hc19497…. & fluorescence parameters from
PROSPECT/FLUSPECT model). c) Mixed OP. d) Hapke. e) RPV. f) Phase extern. g) Specular: 3 cases.
 Thermal emissivity of opaque surface is approximated by: ε(Ωr) = 1 - ρ(Ωnadir,Ωr) instead of ε(Ωr) = 1 - ρ(2π-,Ωr)
Figure 40 shows the menus for surface  optical properties:
- Lambertian "ground" (Figure 40.a). 2 cases are shown: the OP is defined using a spectral database  (here:
Lambertian_mineral.db) or using the Marmit model  (here: soil moisture content (SMC) = 10 and 20).
- Lambertian "leaf" (Figure 40.b). It is defined by the PROSPECT/FLUSPECT model that gives table hc19497….
and fluorescence parameters.
- Mixed (Figure 40.c), Hapke model (Figure 40.d), RPV model (Figure 40.e), Phase extern (Figure 40.f).
- Specular (Figure 40.g): 3 types of media (smooth / rough "Interface", "Thin layer", glossy material over diffuse
base). The input parameters include the refractive indices of the "incident medium" ni and "transmitted medium"
nt, the roughness factor and optical depth ∆τ of the upper layer and the reflectance of the eventual base layer.
• Volume
- Vegetation (Figure 41): for leaves / twigs in turbid tree crowns and plots simulatd as turbid medium (i.e., infinite
number of infinitely small facets with a LAD : IV.12). The OP is isotropic (i.e., ρ, tdif, tdir = 0) per facet, from
38
lambertian*.db  or ProspectVegetation.db  simulated by the ProspectFluspect model. Specular reflectance
can be simulated with Tspe(Ωs,Ωr) at scattering order 1 and Tspe(Ωsector,Ωr) at higher orders, using roughness.db.
Thermal hot spot (THS): the THS factor α can mimic the foliar THS (Figure 42), but without any ground THS .
Indeed, if α ≠ 0, Tleaf locally varies as Tleaf(angle "leaf normal, sun direction", altitude in the canopy) (cf. DART
Handbook). However, for a statistical THS similar to SAIL and SCOPE models, we can use sunlit/shaded
temperatures defined per temperature property or SCOPE 1D temperature profiles of sunlit and shaded leaves
(Figure 45). Leaf clumping in turbid volumes is simulated with an analytical method .
 A turbid volume can be converted to facets with the same OP as "Turbid vegetation". It corresponds to a
"quasi turbid medium" if facets are very small, numerous and have the same LAD as the turbid medium.





Vegetation clumping for direction
(θn, φn) is simulated by weighting
Ωmax
LAI with
+Ωmin
1+exp[-a.(θn -b)]
Figure 43. Volume "Vegetation" optical property without (left) and with (right) Prospect / Fluspect model.
Figure 44. Thermal hot spot
with factor a=0, 0.4, 2.
Turbid plot. LAI=3. ρground=0.
Tground=0K. Tleaf∈[290, 310K]
α=0
α=0.4
- Fluids (air, water, soot)
Fluid property: cross section σ (m2), spherical albedo ω and Rayleigh or
double Henyey Greenstein phase function. Databases Fluids.db and
Fluid_gas_thermal.db (gases at different temperatures).
α=2
Cross section of
CO2 at 2600K from
Fluid_gas_thermal.db
Fluid volume: N types of particles with N specific densities and fluid OPs.
Figure 45. "Fluid" optical property.
Geisa database (www.pole-ether.fr/geisa) gives
absorbing gas cross sections. Example for σair(λ):
ftp://adk.asrc.cestm.albany.edu/pub/sergey/KiedSier/
Rayleigh-scattering.pdf.
39
Temperature properties
DART cannot simulate exactly the scene 3D temperature because it does not simulate the scene energy budget. It
can use several methods to assign a more or less accurate temperature locally or to scene elements (Figure 44):
- Illumination: the temperature of each scene element j is derived from its temperature property {Tmean,i,∆Ti} and
its short wave irradiance Ej that DART computes using the sun direction, a user defined short wave SKYL and
the parameter "Smaller mesh size D of BOA irradiance sources" to compute Ej ; smaller D lead to most accurate
Ej (i.e., temperature) and larger computer time. Conversely to DART-Lux (MC bi-directional mode), DART-FT
(forward mode) uses an histogram threshold on Ej values because its illumination is discrete.
- 3D matrix or 1D temperature vertical profile, possibly computed by an energy budget model. Their spatial
sampling is equal to the size of the DART cell (voxel) size.
- From extrapolated atmosphere profile.
b)
c)
a)
Figure 46. Methods to set the scene 3D temperature. a) Illumination. b) 3D and 1D temperature vertical profile.
d) From extrapolated atmosphere profile.
Figure 45 illustrates how to define a temperature property {Tmean,i, ∆Ti}, called "T_mineral". A property can override
an eventual 3D temperature matrix . The temperature of scene element j with temperature property {Tmean,i, ∆Ti}
T4
-T 4
4
4
Tmin,i
.Emax,i -Tmax,i
.Emin,i
is derived from its short wave irradiance Ej : Tj = 4�Ai .Ej +Bi with Ai =Emax,i-Emin,i , Bi =
max,i
min,i
∆T
Emax,i -Emin,i
∆Ti
. It ensures that
the most (least) irradiated elements with temperature property i get Tmean,i + 2 i (Tmean,i - 2 ). The temperature can be
the same on the 2 faces of the facet , which is useful for leaves, conversely to thick elements such as walls. The
temperature of the elements of type i, can be replaced by the values of a 3D temperature matrix , by specified
sunlit and shaded temperatures , or by values of 1D SCOPE temperature profiles .





Figure 47. Temperature property {Tmean,i, ∆Ti}. It can override an eventual 3D temperature matrix. with possible
III.4.10 The Earth scene
Ground surface
Three types of scenes with a top empty layer (Figure 46):
• Repetitive scene (default): the DEM last line and row are replaced by its 1st line and row. The repetition of a slope
is not a slope!
- DART-FT: infinite repetition of the Earth scene, including its DEM. A ray that exits a scene through a vertical
side re-renters it through its opposite vertical side.
- DART-Lux: rays propagate in a scene that is (2.Nscene repetition + 1) times the user-defined scene.
40
•
Infinite slope: repetitive + continuous DEM: the last n lines and rows are modified so that last line and row
altitudes are those of the scene 1st line and row to a vertical shift ∆hrow or ∆hline. The repetition of a slope is an
infinite slope: simple slopes are perfectly simulated.
- DART-FT: rays that the scene by a vertical side re-renter by its opposite vertical side with ∆hrow / ∆hline shift.
- DART-Lux: rays propagate in a scene that is (2.Nscene repetition + 1) times the user-defined scene.
•
Isolated scene: there is nothing around the scene. The DEM is not modified. Rays that exit the scene through a
vertical side do not re-renter it ( no surrounding elements to induce neighboring effects). In DART-Lux, it
corresponds to Nscene repetition = 0.
 The "Infinite slope" and "Repetitive scene" options lead to identical scenes if there is no topography.
Zones of illumination
Zones of
illumination:  
3D display is much
more complex
Zone of
illumination
Isolated scene
Infinite slope
2D display: 1 zone of illumination
zone ( ) per incident direction!
Repetitive scene
Figure 48. a) Repetitive scene. b) Isolated scene. c) Infinite slope.
The simulated "ground" scene (Figure 47) is also characterized by:
- Sub scene or scene : 3D zone where radiation is tracked. If a sub-scene is simulated, its coordinates are input.
- Scene horizontal dimension : ∆X, ∆Y.  DART-FT is voxelized with user-defined cell dimensions ∆x = ∆y, ∆z.
- Optical and Temperature properties .
- DEM (Digital Elevation Model) : imported 3D object or raster image (with scene dimensions). DART vectorizes
the DEM raster image with a few diagonal connection strategies ( "Lowest difference", "Random",…). The
DEMGenerator module () creates DEM raster images from the scene simulation menu () or menu.
- Coordinates : altitude, latitude, longitude; they are only to compute sun direction angles with the option "date".
a sub-zone is created
all the scene is created


y


x
Editor: 2D display


Figure 49. Earth scene creation. The Editor's 2D display, with its x and y axes, is shown.
41
Plots
Plots are surfaces or volumes with a quadrilateral (4 points) horizontal section. "Volume" plots have a height and a
bottom side altitude. There are 5 types of plots:
- Ground: a surface (optical properties 2D_...) replaces the local ground zone of the DART scene.
- Vegetation: volume optical property + plot LAI (m2 leaf / m2 plot) or leaf volume density uf (m2 leaf / m3 cell). It is a
turbid medium or set of triangles with optical properties automatically derived from the volume optical property.
- Ground + Vegetation: combination of the 2 above options.
- Fluid: volume with particle optical property (3D_Flu...) + particle density (/m3).
- Water: fluid + surface above it. Option not finalized. It can be created manually with Fluid option.
Option: "4 corner"
"Ground + Vegetation"plot
"Fluid" plot.
Option: "rectangle"
c)
b)
a)
d)
Figure 50. Plot creation: options "4 corners" (a) and "rectangle" (b). "Ground+ Vegetation" (c) and "Fluid" (d) plots.
Three methods to create plots:
- Input in the GUI of plot coordinates and properties (Figure 48): mouse right click on
,
- Import a CoverMap (VII.5):  raster image (pixel value = index of land/fluid unit) +  text file (Table 15, Figure
49) that gives properties (e.g., optical properties,…) per CoverMap unit. Plots are stored either in the plots.xml
file or in a plots.txt file , which is usually more convenient if there are many plots.
- Import a plots.txt file (, IV.17), Figure 49), that can have been created by the "CoverMapImportation" tool.
y

a)

x
x


c)
d)

e)
b)
Figure 51. Plots. a) DART editor: 2 vegetation plots. b) Menu for importing the CoverMap CoverMapExample.mp#
(c), stored in DART database (Table 15). d, e) Nadir and oblique view of the 3D scene.
42
LAI=3
b)
a)
View zenith angle
c)
Figure 52. Plot simulations with N layers (a: LAI =1, b: LAI=7) and 5 leaf dimensions (c). θs = 30°
Trees
A DART created tree is characterized by{Tree species, Trunk + Crown: turbid cells or isocele triangles}:
• Tree species: trees of species s∈[1 S] share properties (e.g., branches in DART created tree: Figure 52, optical
properties, C(s) crown layers (c∈[0 C-1]): Figure 51, leaf / twig area density ul (s), crown shape and dimensions).
• Trunk: 8 trapezoids (i.e., horizontal section = octagon), below and within the crown.
• Crown: volume (ellipsoid: 0, ellipsoid composed:1, truncated cone: 3, trapezoid: 4, conique composed: 5).
- Crown level c(s): relative height %h(c(s)) (level height = %h x crown height), relative ul (%ul (c(s)), relative
trunk diameter, leaf and trunk optical properties OP(c(s)), and horizontal profiles of clumping (hole volume
proportion h(%r)) and ul (%ul (c(s),%r)): ul (c(s),%r)=%ul (c(s),%r).ul ), with %r the relative distance "trunk crown local radius" (Figure 52) ⇒ LAI & clumping vertical/horizontal profiles can be simulated.
 The use of relative values is adapted to simulate trees of the same tree species with different dimensions.
- Turbid crown: turbid + empty / hole cells. A turbid cell is created only if leaves occupy > 50% cell volume. It can
contain several leaf / twig species with specific LAI / uf (m2 leaves / m3), TAI (Twig Area Index), LAD,... Then, the
leaf occupation of the cell cannot exceed 100%: leaf elements that exceed 100% are stored in other cells.
- Triangle crown: isosceles triangles (heigth = 2.base) that are defined by their area A or number. No twigs.
Crown
height
Crown
level 0
Height below
crown
%ul
Crown
level 0
Figure 53. Crown. Level 0 (bottom): height = 0.5 x Hcrown,
vertical relative ul = 0.33, trunk diameter = 0.75 x Diameter
of Trunk below crown, horizontal profile of holes and ul.
0α
β
γ
Trunk diameter
below crown
κ1
distance from the trunk
distance "Trunk - Crown periphery
% full cells
0 a
b 1
How to specify ul: www.fs.fed.us/psw/topics/urban_forestry/products/cufr_94_PP01_39.pdf. For example: ul≈0.5m-1 (no
dense tree) if tree DBH=0.4m, crown heigh = 8m, crown diameter ≈12m, leaf area ≈300m2.
Three methods allow one to specify the spatial distribution, dimensions and tree species of trees:
1) Exact location + Exact dimensions.
43
Text file (e.g., trees.txt in DART database) with labelled columns: Species_ID for tree species, POS_X & POS_Y for
location, lai for tree leaf area or leaf area density per tree, rotation per tree (Figure 53),… Option 2) can use it.
2) Exact location + Random dimensions.
Only labels "Species_ID, POS_X, POS_Y" of file 1) are used. The GUI sets other parameters (mean, σ: Figure 52).
3) Random location + Random dimensions.
Per species, trees are randomy set in disks (radius r), with probability of presence, centred on the nodes of a ∆x/∆y
grid over the scene (grid option), quadrilateral (zone option) or ellipse (fctdistribution option) (Figure 54).






Figure 54. Tree menu: mode. Tree
presence , Mode "Exact position +
Random dimensions"  with file that
stores tree location  and zone where
LAI is known , Tree crown content .
C_ROT_NUT
z
T_ROT_NUT
Figure 55. Tree trunk and crown rotations
(nutation, precession, intrinsic).
C_ROT_INT
C_ROT_PRE
x
y
T_ROT_PRE
Figure 56. Tree menu: option "Random
position + Random dimensions. Trees are
located inside disks (5m radius) centred at
the nodes of a grid defined by ∆x=∆y=5m.
Top length
or
a)
turbid
Triangles
area: 0.0025m2
Crown
height
d)
Base length
Top
width
Base
width
44
Crown
height
b)
c)
1st axis
2nd axis
TopIntermediate height
radius
Crown
height
e) Cylinder
height
Upper
radius
Lower
radius
Crown
heigth
Bottom
radius
f)
Figure 57. Tree crown shapes. a) Ellipsoidal. b) Ellipsoid composed. c)Truncated cone. d) Trapezoid. e) Conique
composed (cylinder + truncated cone). f) Tree crowns with 2 levels and LAI / hole vertical profiles.
Urban
Urban surfaces (roof,...) can be "Single face" or "Double faces" (surface = 2 triangles with opposite normal vectors
and specific optical properties). Houses in the same building can have the same properties (Figure 56).
Figure 58. Optical properties of a building with 1 house.
House = 4 walls (4 top corners (x, y, z); 2 corners can be identical) + 1 roof with 4 predefined types (Figure 57):
- "No": there is a roof with a null depth. It is defined by the wall top corners.
- "Plate": the roof is defined by 4 points at a height ∆z above the 4 wall top corners
- "Classic": the roof is defined by 2 points (x, y, z).
- "Complex": the roof is defined by 4 points (x, y, z).
Elements other than houses can be created: roads (Figure 58) and small walls.
45
b)
c)
A)
d)
e)
Figure 59. House geometric parameters. a) Walls: 4 points (x,y,z). b) Roof type. c) "No roof": roof with null thickness
(2 triangles). c) "Plate roof": roof with a depth. d) "Classic roof" (2 points): 2 slopes. e) "Complex roof" (4 points).
Figure 60.
Road: juxtaposition of
segments that are defined by
their width and extremities.
Water surfaces
Water volumes can be simulated (e.g., fluid plot + top specular/refractive surface). Water surfaces are opaque (Figure
59) with possible priority on trees and vegetation plots (e.g., mangrove forests).Their horizontal projection is:
- Lake: ellipse defined by its center and its two axes along the Ox and Oy axes.
- River: specific width + segments between successive points (x,y).
 To simulate within water RT, define water plots.
Figure 61. Water surfaces.
3D imported object
DART imports 3D objects (set of groups of triangles) in obj format; cf examples in DART database (Figure 60). It
cannot edit it, but can manage its geometry (location, scale, rotation) and OP per group of triangles. Blender can edit
them (export option for DART: Apply, modifiers, Write materials, Triangulate faces, Material groups, Z forward, Yup).
Figure 62. Examples
of 3D trees.
46
1) Example of importation: cherry tree (Merisier_adulte.obj; in DART database) (Figure 53)
A 3D object can be defined as a "DEM", "on top of a DEM" or "Independent of DEM", with options per group :
- Scene symmetry: a 3D object that exits partly the scene can appear on the scene opposite side ().
- Ignore/Hide the 3D object when creating the scene. Option available per group of 3D object ().
- Color of the disk that represents the 3D object in the editor ().
- Transformation of all triangles of the 3D object into turbid medium (); it can be performed per group. The
resulting LAI can be directly computed or specified by the user.
- Assign the same optical properties to all triangles of the 3D object ().
- "Mono face" or "Double face" (surface = 2 equal triangles with opposite normal, and possibly different OPs .
Figure 63. Import and
display of a 3D object.







2) Colors: they qare very useful for setting the material of facets in the same group of the 3D object (cf.
input/dart.typ), and also to get nice 3D views (e.g., color 'Bark' for group 'Trunk' in Figure 62)
Figure 64. Management of colors for displaying the 3D objects in the main GUI.
3) Geometry: 3D object position (x, y, z), scale factor (x, y, z) and rotation (3 angles) can be specified.
Figure 65. Management of
the geometry of 3D objects.
Rotations are relative to the
point (0,0,0). Hence, results
can differ a lot depending on
the 3D object coordinates.
The maket module must be
run after setting thegeometry
of 3D objects.
Intrinsic
Inclination
Precession
47
4) Group properties
Facet properties (e.g., facets with single or double face option) are identical for all groups of the 3D object or
defined per group of the object. The "display" option shows the 3D object. A click on the group (e.g., "Foliage "
and "Trunk" in Figure 64) displays only the triangles of that group. It allows one to verify that one treats the correct
group. The transformation "Triangles → Turbid medium" can be done for the whole 3D object or part of its groups.
a)
b)
Trunk
Foliage
Figure 66. Management of the geometry of 3D objects. a) Menu. b) Display per user selected group.
5) Transformation of triangles into turbid medium
It can be useful to convert a 3D object with many facets as a volume of cells filled with turbid medium, each with:
- Acell: automatically computed value per cell that is the area Af,cell of facets per cell with a multiplicative factor
(default value is 1), or a user-defined LAI value for the derived turbid vegetation, or a user-defined leaf area (m2).
- LADcell: LAD (e.g., spherical) for all cells or LAD per cell {N areas Ancell (SimulationProperties: ∑Nn=1 Ancell =Af,cell )
+ N elliptical LADs g n (θl )=
f(ε,ALAn )
�1-ε2 .cos(θl -ALAn )
, Average Leaf Angle ALAn≈
(2n-1).π
4.N
, eccentricity ϵn =1-e1-N }.
- Optical property (3D_Veg_...): it is user-specified as a volume optical property (i.e., turbid medium).
Figure 67. Transformation a group of triangles into turbid medium with 1m and 0.2m resolutions.
6) Fields of 3D objects
DART creates fields of 3D objects (Figure 66) using a text file that gives each object location (Table 19) and
possibly each object specific geometric transformation (Table 20).
Figure 68. Specification of a
field of 3D objects.
48
Figure 69. Example of
transformation
"Triangle to Turbid"
DAO
The document DAO_documentation.pdf (…\DART\bin\python_script\ DAO) presents the Python API that allows one
to modify or create from scratch a DART scene. In order to run it with DART, one is advised to create all other
information (i.e., discrete directions, optical properties, atmosphere) with DART.
III.4.11 Atmosphere
1) Atmosphere geometric and optical properties
The phase module computes gas, aerosol and cloud scattering transfer functions T({Ωi ,ΔΩi }→�Ωj ,ΔΩj �), as integrals
on ∆Ωi and ∆Ωj. The Earth scene can contain air as plots of fluid or extrapolation of all or part of atmosphere gases.
The atmosphere can be simulated without (Figure 68) or with (Figure 69) an atmosphere database.
• Atmosphere without database: single band
Parameters: gas/aerosol geometry (exponential scale height Hgas, Haerosol), OPs (optical depth, scattering phase function).
• Atmosphere with database (cf. IV.12):spectral
- Gases: spectral transmittance (TRANS) of absorbing and scattering gases and gas density profile (DENS).
6 models: 'Mid-latitude summer + winter', 'Sub-Arctic summer + winter', 'Tropical', 'US standard 1976'.
H2O transmittance TH2 O (table gas_model_gH2O): for N H2O contents (default value x 0.1 n; n ∈ [1 N]).
- Aerosols: extinction coefficient vertical profile (ECP), spectral optical depth ∆τ(λ) & single scattering albedo ω(λ)
(gas_model_AOD) and coefficients (g1, g2, a) of 2 Henyey Greenstein scattering phase functions (HG).
The term “gas_model” indicates 1 of the 6 gas models.
ECP: 8 aerosol models - 'Rural V=23km & V=5km', 'Maritime V=23km', 'Urban V=5km', 'Troposphere V=50km',
'Fog radiation V=0.5km', 'Fog advective V=0.2km', 'Desert V=76km'; V = visibility.
gas_model_AOD: 48 models (i.e., the above 8 aerosol models for each of the 6 gas models).
HG: 26 models - 'Rural', 'Maritime', 'Urban', 'Ocean' and 'Troposphere V=50km' for 4 relative humidities (RH: 0,
70, 80, 99%) + 6 models independent of humidity: 'Fog radiation V=0.5km', 'Fog advective V=0.2km',
'Desert V=76km', 'STRT H2SO4', "Aged Volcanic' and 'MET_Dust'.
There is also a "Cloud" model with spectrally constant ECP and scattering albedo.
Two approaches allow one to simulate actual atmosphere conditions, for any ∆λuser:
1) Import new data (Aeronet: aeronet.gsfc.nasa.gov/, ECMWF: www.ecmwf.int/,...) into atmosphere database.
2) Automatic weighting / interpolation of the atmosphere database, using options that directly modify:
- Gas (scattering, absorbing other than H2O / CO2) amount: multiplicative factor on default gas profile.
- H2O content, defined either as total amount, density or multiplicative factor on default H2O profile. Atmosphere
transmittance TH2 O ∀ ∆λuse is derived from interpolation on tables of gas_model_gH2O.
- CO2 concentration: mixing rate (ppm).
- Aerosol optical depth: factor Kaer ⇒ ∆τaer(λ) = Kaer.∆τaer,database(λ) (∆τrural,V10=0.301, ∆τrural,V23=0.554)
- Temperature profile up to 10km: one sets To for z' ⇒ Tatm(z) → Tatm(z) + (To - Tatm(z')) ∀z < 10km.
↑
Band model correction. Since Beer law is inaccurate in gas absorption bands ∆λ, we use Tatm (λ,∆λ)=
↓↑
↓
↓↑
Tatm (λ,∆λ)
↓
Tatm (λ,∆λ)
𝟐𝟐
modes R and R+T if λ<3µm. In mode T, and also in mode R+T if λ>3µm, Tatm (λ,∆λ)=[Tatm (λ,∆λ)] .
49
in
↓↑
Tatm (λ,∆λ) is corrected if water vapor load differs from its default value in the atmosphere database:
↑↓
↑↓
. 2
=Tgas,abs,database
Tgas,abs
T
2
TH2O
H2O,database
Figure 70.
The Atmosphere menu
"without
database";
only with user-defined
parameters.
and TH2O = linear interpolation on TH2O,database in database *_gH2O.
File of atmosphere temperatures
Used by mode "T" (thermal emission)
Atmosphere = plane or sphere
Scattering from cell centre or better point
Atmospheric gases
Henyey Greenstein
coefficients of the
phase function
Aerosols
Figure 71. The Atmosphere menu with the database.
50
j = pure atm.
j=d
j=h
j=t
a) Components of
DART products
Sun flux: scattered only by the
Earth or only by the atmosphere
Thermal flux: atmosphere or Earth
i=h
i=d
i=t
Earth / atmosphere interaction
b) Illumination
configurations
- downward: with (diffuse) wo (direct) atm. scattering
- upward: with (diffuse) wo (direct) atm. scattering
Total = Direct + Diffuse
c)
Threshold T: iterative computation of BOA diffuse irradiance & atmosphere transfer
functions is stopped if intercepted flux < T. Intercepted flux at 1st iteration.
Number of iterations for atmosphere RT
Figure 72. Selection of components of DART products (reflectance ρ, radiance L, irradiance E, exitance M, albedo
A images) at Sensor level for 3 illumination configurations.
↑
a) Upward products "j": None (LTOA
= 0), pure atmosphere, Direct (d), Diffuse (h), Total (t).
b) 3 illumination configurations: Direct (d), Diffuse (h) and Total (t).
c) Menu for selecting the different products and illumination configurations.
A
E
• Pre-computation of atmosphere optical properties
ρTOA(Ωv) and radiance LTOA(Ωv) of Earth surfaces depend on their reflectance ρBOA,Earth(Ωi,Ωj), with (Ωi ∈ 2π-, Ωj ∈ 2π+),
direct sun irradiance EBOA,sun(Ωs) and atmosphere directional radiance L↓atm (Ωi) that depend on wavelength and
Atmosphere irradiance
atmosphere conditions. L↓atm (Ωi) is often assumed to be isotropic and quantified by SKYL(λ) = Total irradiance .
Atmosphere RT is computer intensive, especially with many bands. Therefore, if many simulations are run with the
same atmosphere and sun direction, DART should pre-compute L↓BOA (Ωi) and transfer functions (TF) that represent
radiation transfer "BOA →MA" (i.e., TFBOA→XXX, TFMA→XXX) to a few levels xxx, in order to later simulate LTOA(Ωv) from
LBOA(Ωj), with Ωj ∈ 2π+. TFs depend only on {atmosphere, spectral bands}, and not on sun direction and Earth surface
properties, conversely to L↓BOA (Ωi) and La(Ωv). They must be computed for the scene dimensions, spectral bands and
discrete directions (within canopy cameras can be any) of the DART simulation of interest. Cell dimensions must be
identical if MA layers have several cells. TFs cannot be used by DART atmosphere Monte Carlo RT.
DART pre-computes L↓BOA (Ωi) and TFs with {atmosphere RT + options , , : Figure 71}. It stores them as 4 files:
- L↓BOA,after coupling(Ωi) : function of {atmosphere, Ωsun , Nbands }. It can be simulated with {1 ground cell scene, ρground
≈ <ρscene >xy} to reduce computer time. DART will use it to get BOA products without atmosphere RT simulation.
- L↓BOA,before coupling(Ωi) : function of {atmosphere, Ωsun , Nbands }. DART will use it with atmosphere RT simulation.
- TFs : 2 files (TFBOA→XX, TFMA→XX): they do not depend on sun direction. They can be simulated with {flat scene,
ρground = 0}. DART will use them with atmosphere RT.
Figure 73. Pre-computation of:
-  L↓BOA,after coupling (Ωi),
-  L↓BOA,before coupling (Ωi),

-  TFs


51
a) Use of the pre-computed atmosphere radiance 𝑳𝑳↓𝑩𝑩𝑩𝑩𝑩𝑩 (Ωi)= 𝑳𝑳↓𝑩𝑩𝑩𝑩𝑩𝑩,𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒂𝒂 𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄 (Ωi)
Step 1: Pre-compute M radiance files {L↓BOA (Ωi)}m for the M configurations {atmosphere, Ωsun, N bands} of interest.
Step 2: Run DART with {No atmosphere RT, L↓BOA (Ωi)}. Being a ratio, ρBOA(Ω)=
π.L↑BOA (Ω)
∫2π- L↓BOA (Ωi ).cosθi .dΩi
is more accurate than
L↑BOA (Ω) because L↓BOA,backscattered (Ω) can be inaccurate if L↓BOA (Ωi) is not pre-computed with the studied scene.
Figure 74. Use of L↓BOA,after coupling (Ωi).
TFMA→xx and TFBOA→xx are not used.
b) Use of the pre-computed atmosphere transfer functions and radiance 𝑳𝑳↓𝑩𝑩𝑩𝑩𝑩𝑩 (Ω)= 𝑳𝑳↓𝑩𝑩𝑩𝑩𝑩𝑩,𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃 𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄 (Ω)
Step 1: Pre-compute L↓BOA,before coupling (Ωi) and TFs (TFBOA→XXX, TFMA→XXX). A 1x1 scene can be used.
Step 2: Run DART with {atmosphere RT, pre-computed TFs and L↓BOA,before coupling (Ωi)} and any surface parameters.
Results are those of the DART simulation with full atmosphere RT, with much shorter computer time. Slight
differences can appear if mean reflectance values are computed after being weighted by sun irradiance.
Figure 75. Use of
L↓BOA,before coupling (Ωi)
TFMA→xx
and
TFBOA→xx.
The pre-computed atmosphere files can be used with DART simulation
without atmosphere RT
with atmosphere RT
L↓BOA,after coupling (Ωi)
L↓BOA,before coupling(Ωi)
Transfer functions TFs
Precomputed
terms
atmosphere_radiance_after_coupling atmosphere_radiance_before_coupling atmosphereTransferFunctions
Atmosphere, sun direction
Atmosphere
Dependance Atmosphere, Ωsun, a bit Earth scene
Earth scene ρmean scene. Possible size: 1 x 1
ρscene = 0. Possible size: 1 x 1
ρscene=0. Same scene size
Table 6. Step 1: pre-computation of atmosphere radiance L↓BOA (Ω) and transfer functions TFs.
• Atmosphere geometry
It has 3 levels: Earth scene (BOA), mid atmosphere MA (cell array with Nlayer,MA levels) ⊂ [BOA altitude hMA,HA] and
high atmosphere HA (Nlayer,HA layers) above MA. Its parameters Nlayer,MA, Nlayer,HA and hMA,HA are input or automatically
computed. They can greatly affect the accuracy of DART products at BOA, TOA and any sensor height hsensor.
- Automatic: hMA,HA ↔ Backscattered BOA irradiance = x% . Backscattered atmosphere irradiance. (Nlayer,HA,Nlayer,MA)
↔relative error on 1st order TOA upward and BOA downward irradiance < ε for the band with larger ∆τatm. One
sets: x, ε and MA cell size (∆x,∆y). On-going upgrade to consider temperature and extinction coefficient profiles.
- Fast: automatic mode with {x = 0.95, ε = 0.02, (∆x, ∆y) = scene dimensions}. Usually, it is faster.
- Manual: one sets hMA,HA, (∆x, ∆y, ∆z) in MA and ∆z in HA. In a sequence, manual mode is advised if atmosphere
geometry (e.g., number of atmosphere layers) must be constant.
52
.
Automatic atm. geometry creation:
minimal number of HA and MA layers
to get a user defined accuracy.
Sensor altitude
(not for Lidar)
MA horizontal
geometry
Figure 76. The atmosphere menu 'Geometry'
Sun TOA and BOA irradiance can be used to get band atmosphere transmittance and material optical properties:
- Direct transmittance of atmosphere component κ (e.g., O2, aerosol,…): Tκ,Δλ =
- Optical property X (ρleaf…): XΔλ =
∫Δλ EBOA (λ).X(λ).dλ
∫Δλ ETOA (λ).Tκ (λ).dλ
∫Δλ ETOA (λ).dλ
and EBOA,Δλ =∫Δλ EBOA (λ).dλ = ∫Δλ ETOA (λ). ∏κ Tλ .dλ
∫Δλ EBOA (λ).dλ
• Atmosphere unit conversion (Shunlin Liang, Quantitative Remote Sensing of Land Surfaces p. 225, etc):
 Gas cst R = 8.3144621 J/K/Mol, k =
Uncondensed gas: 1 atm cm ≡
R
NA
=1.38 10-23 J/K, Avogadro number NA= 6.022 1023 mol./Mole. STP (standard T: 0°C, P:1atm)
Molar mass M
VolumeMole : 22.4 103 cm3
g/cm2 ≡
NA
22.4 103 cm3
= 2.69 1019 mol./cm2.
Water vapor (MH2 O ≈ 18g): 1cm H2O precipitable = 1 g/cm2 liquid H2O =
At STP: 1 atm cm ≡
MH2 O
22.4 103 cm3
NA
MH2 O
mol/cm2 = 3.34 1022 mol/cm2.
≈ 0.804 g/cm2 ⇔ 1 g H2O /cm2 ≡ 1.244 103 atm cm
Ideal gas law ⇒ Vapor density:
RH
b.T
c.[ln(100)+ +T]
c
Pa. Relative humidity RH= ∗ ∈[0 1]. Tdew point =
RH
b.T , b=18.678, c=257.14 °C
PH2 O
b-[ln(100)+c+T]
PH2 O
PH2 O
216.67.PH2 O
3
PH2 O
17.62.⋅(T-273.15)
T-29.97
Psaturation PH*2 O ≈611.2⋅e
R⋅T
Mole/m3 =
k⋅T
mol/m3 =
T
g/m3. ∫∆z g/cm3  X g H2O /cm2 1.244 10 X atm cm
 Gas profile unit in DART file "atmosphere.nc": atm cm/km (N2: g/cm2 km).
III.4.12 Inversion (being removed)
It gets maps of DART parameters (ρground, LAI,…) from a set of remote sensing spectral images using pre- computer
LUT where M DART parameters vary (cf Module_User_Manual). These M parameters are set to:
- Fixed with the same value for all images: the parameter value is specified.
- Free: the inversion computes the parameter value.
- Not fixed - Spectral - 1, 2 or 3 parameters. It allows one to define a spectral quantity that is a linear combination
of 1, 2 or 3 spectra. For example, ground reflectance can be defined a linear combination of spectra ρi(λ) with
I free parameters aλ: ρground(l) = ∑Ii=1 aλ .ρi (λ) with I ∈ [1 3].
III.5 Run menu
Menu "Run" (Figure 6) runs / stops DART modules / sequences with three major options:
- "DART": it runs sequentially the 4 main modules 'Direction', 'Phase', 'Maket' and 'Dart'.
- "Terminate": it stops a DART simulation that is running.
- "Properties": it specifies the modules that "DART" will run sequentially.
- "LUT properties": it sets the results to store into the LUT (SQL database), in a single DART run
53
III.5.1 DART basic modules
• Direction. It subdivides 4π into N discrete directions (Ω, ∆Ω), adds directions, etc.
• Phase. It computes optical (scattering function,…) / geometrical (LAD: IV.2,…) terms.
• Maket. It creates the Earth ('maket.txt') and atmosphere ('atmosphereMaket.txt') scenes.
• Dart. It simulates radiative transfer in the "Earth - Atmosphere" system.
• Atmosphere creation. It creates the atmosphere scene without running "Maket" module.
• Vegetation (also run in DART GUI): land cover / fluid map import into Earth scene (cf. VII.5).
• Hapke. It fits ρ(Ωv,Ωv) (e.g., text file 'θs, θv, φs-φv, ρ(Ωv)', θs∈[90° 180°]) to Hapke model and stores coefficients in
External_Hapke_Parameters_0.txt. Its can decrease computer time for scenes as {trees + bushes}: 1) Simulate ρbush(Ω)
with resolution ∆r=0.1m. 2) Fit ρbush(Ω) with Hapke model ρb,H(Ω). 3) Simulate ρscene {∆r=1m, ρground(Ω) = ρb,H(Ω)}.
• Prospect (Jacquemoud, Baret, 1990) / Fluspect (Verhoef, Van der Tol, Vilfen,…); also run in DART GUI.
It stores leaf (ρf, τf) in tables in SQL databases ProspectVegetation.db (volume) and ProspectLambertian.db
(surface). Each table corresponds to specific leaf parameters {N, αChl , αCar , αbrown , αH2O , αdry matter ,
αcarbon dry matter , αnitrogen dry matter , αviolaxanthin , αzeaxanthin , αanthocyanin )} whose name is set using a "FileHash".
• DEMGenerator. Sequences and the GUI (Figure 75:
) can run it. As other DART raster images, a DEM
image is made of 2 files: a file (extension: mp#) that stores the altitudes, as double float numbers, and a header
file (extension: mpr) that stores the characteristics of the *.mp# file. This module has 5 options:
a) Importation of DEM that is a raw (no header) binary (double or float) raster map that stores pixel altitudes
(h00, h01, h02,…). Its numbers of lines and columns must be equal to those of the current DART scene.
b) DEM creation: (DX, DY, ∆x, ∆z) of the scene. The maket module can export it as a 3D object, using 2 triangles
per DART cell. 5 types of DEM: 0: Horizontal (1 param.: height). 1: Generalized valley (7 param.) to create
slopes, valleys,… (Figure 76). 2: Concave profile (no param.), 3: Gauss bell (5 param.). 4: Gauss bell + Concave
profile (1 param.: height) 5: Sinusoid along x axis (height + number of patterns).
c) DEM creation using points (x,y,z) within the scene and stored in a text file with spaces as separators,
d) DEM spatial resampling to current simulation resolution and dimensions. DEM pixel size is derived from its
spatial extent (i.e., CoordBounds=xmin ymin xmax ymax) and numbers of lines and rows (i.e., Size=Nlig Nrow).
e) Rotation of an existing DEM: 90°, 180°, 270°.
a)
b)
Figure 77. a) DEMGenerator: scaling, creation, ASCII conversion, rotation, raster importation. b) Gauss bell creation.
54
z
B'
C'
B
C
∆h1
A (0,0,0)
φn
Φn
∆h1
θ1
d1
d2
θ2
∆h2
Φn: [0 360°] ∆h1
0
5
θ1
d1
d2
θ2
45
8
4
45
∆h2
x
G
θ1
I'
G I
E'
∆h2
d1 D
E
d2
J'
θ2
F H
J
3D view
DART image (θv=θs=0°; 1st scat. order)
3
Scene: repetitive
0
5
30
8
4
45
3
Scene: infinite slope
0
3
30
8
4
45
3
45
10
20
27
x
x
x
20° slope and 45° azimuth angle
Figure 78. Generalized valley:Parameters and examples. Slope angles have priority over plateau heights.
55
III.5.2 The LUT
The LUT (i.e., SQL database) can store most non image 'radiometric products': scene BOA / TOA radiance Lscene(Ωv),
reflectance ρscene(Ωv) or brightness temperature TB,scene(Ωv), irradiance,… Data can be displayed (Figure 152) and
exported. The option "LUT creation" and the data to store are set in the menu "Run / LUT Properties" for a single
simulation and in the menu "Sequence Launcher / … / Preferences / LUT Generation" for a sequence of simulations.
(Figure 77, Figure 151). In these menus, if the the LUT's option "Store only for added directions" is unset, the
LUT stores {Lscene(Ωv), ρscene(Ωv) / TB,scene(Ωv)} for Ωv in ∆Ωv=90° x 360°. The option "Store only for the angular range"
sets bounds for Ωv. DART-FT always computes {Lscene(Ωv), ρscene(Ωv) / TB,scene(Ωv)} whatever LUT options, conversely
to DART-Lux that computes them if it is a selected DART-Lux product or if required in the LUT, presently with 1°
angular steps over 90°x360°. It can greatly increase DART-Lux computer time for scenes with very few pixels.

Figure 79. LUT: creation for a simulation (a)
and a sequence of simulations (b); data to store.

 To store or not the LUT
 To store radiance Lscene(Ωv), ρscene(Ωv) / TB,scene(Ωv).

 Selection of data to store
 To store products per type of scene element

 To store results only for added directions.
 To store Lscene(Ωv), ρscene(Ωv) / TB,scene(Ωv) only for ∆Ωv
 To store Earth scene parameters calculated by the
Maket module.


a)

b)
c)
III.5.3 Sequencer module
The Sequencer module creates, edits and runs a sequence of N simulations, each one being a copy of the root
simulation, where J parameters Mj , called "variable parameters", vary. A text file (e.g., seq_W.xml), stored at the
level of the "output" folder of the root simulation indicates the Mj,k values, with k ∈ [1 Kj ], of the J parameters Mj .
To save time (CT) and hard disk memory (SSHD), DART only copies into the N simulations the files that differ from
those in the root simulation (i.e., the unchanged files are read in the root simulation). WP1.B in section VII.1 illustrates
the Sequencer module for the case {M1 =λ�, M2 =∆λ}.
 A spectral sequence (i.e., variable parameter = spectral band) must only be run with a mono-band root simulation.
1) Create sequence (*.xml): each Mj is defined as "enumerate" (list: Mj,o , Mj,1 ,…) or "arithmetic" (Mj,o , step Mj,k+1 Mj,k ) that can be input as a csv file (1 line / Mj :
). All Mj can be in a same group (⇒ they vary together:
N = K) or several groups (⇒ they vary independently; if the J Mj are in J groups: N = ∏Jj=1 K j ).
Example: to study crop reflectance change with LAI and wavelength. One can set a group with Mo =LAI defined as
{LAIo, LAI1,…} or {LAIo, ∆LAI} and a group with M1 =λ� and M2 =∆λ that are enumerate or arithmetic.
Options (i.e., menu "Preferences"): 3 major options are possible when creating or editing a sequence:
- Processes and threads to run: to reduce computer time, do not run useless processes and run M simulations in
parallel, with M.Nthreads per simulation < number of available threads.
- Delete process file: to reduce SSHD, selected result files are automatically deleted, possibly only keeping the LUT.
- LUT: as for a single simulation, a LUT (SQL database) can be created with specific data.
2) Edit sequence: edits a sequence of simulations (e.g., add, edit or delete parameters that vary).
3) Prepare and run sequence:
- Creates launcher file (e.g., seq_W_Launcher.xml): N simulations with status "TO PROCESS" and specific parameters.
56
- Creates and runs sequentially the N simulations. The status of a successfull simulation becomes "PROCESSED".
The sequence starts at once if default option "Auto launch" is set.
4) Start/Continue sequence: starts the sequence with the launcher created by "Prepare sequence" or resumes the
sequence if it failed (i.e., status of the simulation ≠ "PROCESSED") or was stopped with the "Stop sequence" icon.
The status of the DART modules to run can be changed before continuing the sequence.
III.5.4 Python scripts to run DART modules
DART modules can be run from its GUI and with Linux and Windows command lines (e.g., Table 6). For example,
to run the Python script "prepareLaunchSequence.bat" with sequence "seq_name", use with the command line:
"prepareLaunchSequence.bat seq_name.xml seq_name_Launcher.xml".
Scripts have 1 argument (e.g., myTest/simu in DART_LOCAL/simulations/myTest/simu). Only "dart-sequence" script
has a 2nd one: sequence.xml file without full path. Script file extension: .sh for Linux and .bat for Windows.
• Linux: - Scripts must be run with a Bash (Bourne Again Shell) shell that is present in (all?) linux installation. To
check if you are using a Bash shell, just open a terminal window and type: echo $SHELL. You are
using bash you should get the following line output: /bin/bash.
- To run a script using bash type: bash <your_script_name> <arguments>
• Windows:- Scripts (cf. examples in Table 7) must be run from the Windows command line interpreter. They use
3 environment variables that are defined in the USERPROFILE\DART\dartrc.bat file that the installer
creates automatically, with USERPROFILE = C:\Users\<username> in recent Windows versions.
- To run a script: Open a command line interpreter (cmd.exe), go into DART HOME\tools\windows
folder and type the script with its argument(s) (e.g., dart-directions.bat myTest/test1)
_
Linux / Windows scripts
dart-full
dart-directions
dart-phase
dart-maket
dart-only
dart-sequence
dart-vegetation
Objective of the script
Run all modules: directions, phase, maket & dart
Run directions module
Run phase module
Run maket module
Run dart module only
Run a sequence
Run vegetation module
Arguments
myTest/simu
myTest/ simu
myTest/ simu
myTest/ simu
myTest/ simu
myTest/ simu sequence.xml
myTest/ simu
Table 7. Linux/Windows scripts to run DART modules and their arguments. They are in the "tools" folder.
III.5.5 Pytools4dart
In addition to the python scripts available in DART package (Annex 1: DART Python modules / scripts), including
the launcher of python scripts, the python package pytools4dart extends DART to complex and massive simulation
with the power of python for pre/post processing and analysis, by making possible the connection to any other python
packages (rasterio, laspy, scikitlearn,...). It also extends DART to computing on headless server, typically HPC
servers. With python scripting, it allows for easy lightweight version control, e.g. with git, to keep track of your
simulation history. It addresses fully scripted simulations, especially for simulations with dimensions, number of
parameters or complexity not manageable with DART graphical interface. For example: production of 3D mockups
with thousands of voxels, objects or optical properties (e.g. voxelised lidar data intersected with crown specific biochemical traits), and specification of hundreds of spectral bands to simulate a hyperspectral sensor. The python API
covers most of DART features and more:
• Configurable with any version of DART
• Create, load, compare DART simulations
• Full Parametrisation of any type of simulation
• Proxies & summaries of most used parameters: scene elements (sizes, objects, properties), bands, light source
• Run simulations step by step (direction, phase, ...) or fully, run/resume sequence processing, on remote server
• Sequence Generator
57
• Pre/Post-Processing tools: - hyperspectral tools (hstools): read ENVI .hdr files, extract wavelengths and
bandwidths, stack band images to ENVI file
- voxreader : load voxelisation file/data, intersect with polygons/raster to define
properties, export to simulation plots
- DART2LAS: lidar processing tools: 1) Extract returns with gaussian
decomposition of lidar waveforms (accelerated with C++ backend). 2) Convert
lidar simulation results to LAS files (full-waveform and/or extracted returns)
- Prospect: generate thousands of optical properties from bio-chemical traits
Several documented use cases to facilitate the development of your own simulations. Check the documentation.
III.6 View menu
III.6.1 View scene 3D and 2D
The 3D and 2D scene viewers (Figure 78) display the scene. The 2D scene viewer is only for DART-FT. It has options:
- Display scene sections xy, yz and xz, with show (cell right click) of cell coordinates, LAI, cell name (e.g. crown),
triangle indices, phase function name and 3D data (e.g., temperature, radiation budget terms fscat, fup,…) if a
3D_Radiative_Budget file is set with "Add" button (), with possibility to save 2D displays views.
- Create and backup masks. It allows one to compute statistical results on part of the scene.
Select pixels
Unselect
Reset
Open mask
Save mask
Figure 80. Scene 3D and 2D views.

Statistiques
Color of
selected pixels
III.6.2 View Image
This menu displays images (ILWIS format: {binary file *.mp# + image information (number of rows,…) in text
file *.mpr}, either in current simulation () or anywhere else (). It has 4 panels (Figure 79):
a) Spectral bands: the spectral bands that are defined in the current simulation.
b) Simulation type: radiance and/or reflectance (mode R) or brightness temperature TB (mode T or R+T), possibly at
3 altitudes: TOA, Sensor and BOA. BRF stands for BOA reflectance and Tapp for BOA brightness temperature.
c) Iterations: the iterations of the DART simulation:
- "Order1": images that correspond to exact order 1 scattering
- "Iter1" to Iter ": iterations of the DART simulation
- "IterX": extrapolated DART iteration, before the Earth - Atmosphere radiative coupling.
- "Coupl": images after the Earth - Atmosphere radiative coupling; only if atmosphere R.T. is simulated.
d) Images: remote sensing images onto sensor plane. They can be orthorectified and/or projected in the horizontal
plane. Image names give the view zenith (VZ) and azimuth (VA) angles. Albedo / Exitance images can be created.
58
ρmaximum
y
x

Mask
Select pixels (mask):
- any shape
- rectangle
Erase pixels of a mask
Shadow
ρminimum
Import a mask
Sunlit roof
a)
b)
Mask
"shadow"
Save a mask
Mask statistics
Bare ground
Figure 81. a) Image menu. b) Nadir image. ρground=ρroof=0.5. Masks 'sunlit roof' and 'shadow'.
: images in other folders.
III.6.3 3D object viewer
It allows one to get 3D displays of 3D objects.
III.6.4 Directions 3D view
DART directions are shown on the 4π sphere to check their distribution (e.g., hot spot). Lscene(Ω), ρscene(Ω), TB,scene(Ω)
and scattering functions SFs can be overlaid and exported as text files. For SFs, the spectral band and incident
direction (DART direction, sun direction) can be selected. In the atmosphere SF plot, one can select "gas" or "aerosol".
Figure 82. 3D display of scattering functions.
a) Vegetation. b) Gas (θin=0°). c) Gas
(θin=41°). d) Aerosol (θin=41°). Displayed
values are for discrete directions (Ω, ∆Ω).
III.6.5 Directional reflectance /Temperature 1D & 2D: L(Ωv), ρ(Ωv), TB(Ωv)
image
DART has N = Nauto + Nadded upward directions: Nauto automatic upward directions, including Nauto directions with
image
no image
image simulation, and Nadded upward directions (Nadded directions with image simulation, Nadded directions without
image simulation). The brf / Tapp / radiance file stores the reflectance / brightness temperature / radiance of all upward
directions, possibly identical (only one is arbitrarily used) or very close (e.g., automatic and added directions).
- DART-FT brf: mean reflectance of the images of the N upward directions, even if the images are not stored. N is
usually ≈ 100 because computation time (CT) greatly increases if N increases.
image
image
- DART-Lux brf: mean reflectance of the Nauto + Nadded images, and, if the option "BRF computation" is set, ρscene
no image
no image
for the Nauto + Nadded directions, interpolated on a BRF map (Figure 25: 90x360 pixels; 1° step); a pixel
no image
no image
(VZ,VA) corresponds to the viewing direction (VZ,VA). brf has no BRF map-derived data if Nauto + Nadded = 0.
• Graph 1D: L(θv, φv=cst), ρ(θv, φv=cst), T(θv, φv=cst).
Figure 83. 1D graph of ρscene. It can show several
curves (option "Add curve"), interpolated or not.
• 2D polar plots ρ(θ,φ), T(θ,φ) and L(θ,φ): kind of bi-cubic interpolation on the brf file; possibly weird if directions
are very close. Graphs can be saved in png, jpg and txt (interpolated data file). Cross = DART direction. Options:
zoom, contrast enhancement, display of sun angles, 3D view,… Right click on 2D plot ⇒ (θv,φv) and L, ρ and TB.
59
z
Figure 84. Reflectance polar plot and 3D view.
Distance from plot center = VZ angle θ (circles
at 30°, 60°, 90°). Anti clockwise angle relative
to the horizontal axis = azimuth angle φ.
θ
Φ
Ω
θ
x
dΩ
y
φ
ρscene(θ,φ) and TB,scene(θ,φ) can also be extracted from the LUT and displayed (Figure 83).
Figure 85.
Tool
"View/Directional
Reflectance,Temperature /
Extract 2D … from LUT".
60
III.6.6 LiDAR
a) Mono pulse
The menu (view → lidar → mono pulse) (Figure 84) plots the waveform, and also 3D plots, and their histogram,
of the LiDAR pulse with options "Per scatterer" and "Per volume" if the product "photon information" is created:
- Per scattering: plots per actual and per perceived location of the last scatterer. The histogram horizontal axis
shows the energy per scattering event in terms of actual photons. Its height is the number of scattering events
in the simulation. The cursor allows one to hide least energetic scattering events in the 3D displays.
- Per volume (i.e., cell): plots per actual and per perceived cell location. Histogram: horizontal axis = number
of photons scattered per cell, Vertical axis = number of cells that scatter a given number of photons per cell.
a)
b)
c)
e)
d)
Figure 86. Mono-pulse. a) 3D view of a "flying" plot. b) Convolved waveform: 1 peak for the ground and plot.
Photon numbers are those at the entry of the lidar and not those launched by DART. c) 3D plot “Per
scatterer” option. d) “Per volume” option. e) Waveform with solar noise. It is constant.
b) Multi pulse
The menu (view → lidar → multi pulse) (Figure 85) displays the multi-pulse waveform based on the LiDAR
binary and panel products. The "waveform" plot in Figure 85.b corresponds to the pulse selected in Figure 85.a.
Figure 85.c displays the 3D convolved waveforms colored by the energy level.
Figure 87. LiDAR
Multi-pulse. a) List of
pulses. b) 3D plot of
multi-pulse waveforms.
c) Plot of the waveform
selected in a).
b)
a)
c)
61
III.6.7 Surface radiative budget (RB)
It plots the band RB of facets (Figure 86) and volumes (simulate ground with facets to get an accurate ground RB).
Figure 88. a) Radiative
budget of a 3D object
(cherry tree). b) Nadir
and oblique views.
Oblique view
Nadir view
III.6.8 LUT
Option "View / LUT" is to plot and export (csv format) data from a multi-band simulation or a sequence of
simulations with any variable input parameter(s). Y  axis is for radiance,… X axis  is the band for a multi-band
simulation. For a sequence, X is any variable parameter (λ, LAI, sun  / view  angles, altitude , band , ρground
,...) or parameter (date, tree cover) derived from DART input parameters: (θsun, φsun) for 'date', (crown dimensions,
density) for 'tree cover', if
is set in the sequencer LUT menu.

Figure 89. LUT plot. ρturbid layer(LAI). Sequence: 2
ρground (0: a, 1: b), 18 LAI ([0 8.5], ∆ = 0.5), 3
bands (0.65, 0.9, 1.7µm). User setting:
sequence , Ox  / Oy  axes, sun  / view
 angles, altitude,.. , band , ρground .







III.6.9 Report / data files
Display of text / binary files: - dart.txt: major simulation results (spectral irradiance, albedo, computer time,…)
- simulation.properties.txt (Table 33): display of input / output data per DART module.
- directions.txt: {zenith, azimuth, solid angle, angular sector} per DART discrete direction.
- 'triangles' file: all triangles (ground, DART simulated houses, imported object, etc.)
- 'scattering functions' file: for the scene and atmosphere elements.
- atmosphere.txt: atmosphere data computed by phase module; maket & dart modules use it.
- 'Atmosphere products': atmosphere BOA radiance,...
III.7 Tools menu: run DART tools
III.7.1 SAIL model (CF. MODULES_USER_MANUAL.PDF)
This module calculates scene reflectance values with the well known SAIL model of Verhoef (1984). It works
with the directions.txt file of DART. It is run with a simple command line.
62
III.7.2 Leaf spectra inversion
Inversion (jb.feret@gmail.com) of {ρleaf(λ), τleaf(λ); missing value = -1} in terms of PROSPECT/ Fluspect parameters.
Input file (no header): 1 line per spectral band
Output file:
- Col. 1: Central wavelength (µm)
- Col. 2: Directional-hemispherical Reflectance ([0 100])
- Col. 3 (e.g., direct transmittance) not read by the inversion method
- Col. 4: Directional-hemispherical Transmittance ([0 100])
- Total leaf Chlorophyll content (micrograms / cm2)
- Total leaf Carotenoids content (micrograms / cm2)
- Equivalent Water Thickness (cm)
- Leaf Mass per Area (grams / cm2)
- Leaf Structure index (no unit)
III.7.3 Computation of parametric model coefficients
Python script DisplayLutAndInversion\src\GenerateCoefficientsForOneSimulation.py fits a mono-band reflectance file
(brf) to a parametric model (Hapke, RPV 3-5 parameters, MRPV 4-5 parameters, Esteve) with Niter iterative calls to
the iterative scipy function fmin_bfgs.py to get a relative error < εmax for directions with maximal zenith angle θmax.
RMSE=0.003
(mostly due
to hot spot)
a)
b)
d)
c)
Figure 90. BRF inversion. a) GUI. b) BRFDART. c) BRFfitted Hapke. d) BRFdifference. ρground=0.05, LAI=2, θs=40°. ρleaf deciduous.550nm.
A text file (e.g., coefficients_Hapke) stores coefficients and RMSE. Increasing Niter does not always improve RMSE.
ω
1
- Hapke (w, c1, c2, h1, h2): R(Ωs,Ωv) = .
4 cosθs +cosθv
1+2.x
1
B(Ψsv) ≈ h1.[1+ .tan( Ψ2sv )]-1 H(ω,x) =
h2
. {[1+B(Ωs,Ωv)].P(Ωs,Ωv) + H(ω,µs).H(ω,µv) - 1}
1+2.x.√1-ω
θs, θv ∈ [0° 90°] P(Ωs,Ωv) = 1 + c1.cosγ1 + c2.
3.cos2 γ1 -1
2
for spheres with single scattering albedo ω (ω=1 if one gets ω> 1) and scattering phase function P(Ωs ,Ωv ).
Here (Jacquemoud et al., 1992): P(Ωs,Ωv) = 1 + c1.cosγ1 + c2.
3.cos2 γ1 -1
2
+ c3.cosγ2 + c4.
3.cos2 γ2 -1
2
cosγ1 =Ωs.Ωv = cos(Ψsv) = cosθs.cosθv + sinθs.sinθv.cosΦsv, cosγ2 = cosθs.cosθv - sinθs.sinθv.cosΦsv, Φsv=φv-φs
- RPV (ρo, k, g, h: https://rami-benchmark.jrc.ec.europa.eu/ www/definition.php#def rpv): R(Ωs,Ωv) = ρo.M(θs,θv,k).F(Ψsv,g).H(h,Ωs,Ωv)
_
M(θs,θv,k) = {cosθs.cosθv.[cosθs + cosθv]}
Hot spot H = 1 +
1-h
_
k-1
, Henyey Greenstein function F(Ψsv,g) =
1- g 2
[1+2.g.cosΨsv +g 2 ]3/2
� s .Ω
� v ) ( DART RPV3: ρo,k,h)
, G = �tanθs2 +tanθv 2 -2.tanθs.tanθv .cos(φs-φv ), Ψsv =acos(Ω
1+G
h
1
- MRPV (ρo, k, c, h1, h2: RPV with new F and H terms): R(Ωs,Ωv) = ρo.M(θs,θv,k).e-c.cosΨsv.[1 +
]
1+h2 .tan(Ψsv /2)
1
Ψsv
2
2
- Estève (c1,…, c6): R(Ωs,Ωv) = {1 + c5.[1+c .tan(A 2E A)]-1}.{c1 + c2.θv.cos(Φsv) + c3.θv.cos2(Φsv) + c4.θv.sin2(Φsv)}
6
A
A
E
A
A
AE
A
EA
E
III.7.4 Creation of 3D objects
It creates two types of 3D objects (*.obj), compatible with DART (Figure 79). The 3D object can be:
1) Set of N identical 3D objects. They are randomly or uniformly distributed in a volume V (i.e., box, sphere,
cylinder, ellipsoid, cone) with given angular distribution of normals (e.g., spherical) and scale factors (x,y,z).
2) Juxtaposition of two 3D objects, possibly with some translation.
63




Figure 91. Creation of a cone filled with disks. b) Juxtaposition of a cone and a sphere.
III.7.5 LUT tools: BRF model inversion and noised LUT
Generate inversion coefficients: a LUT of DART reflectance
{ρ(Ωs,Ωv,LAI,…)} is transformed into a LUT of coefficients
{ai(LAI,…)} of a parametric reflectance model M(Ωs,Ωv,a1,a2,…)
that can be used for the inversion of remote sensing images (cf.
"inversion procedure" in "Modules_User_Manual.pdf") in terms of
DART input (LAI,…) and/or derived (%C) parameters.
Generate noised LUT: noise (gaussian, multiplicative, additional)
is added to reflectance values {ρ(Ωs,Ωv,LAI,…)} of a DART LUT.
Figure 92. BRF model inversion.
III.7.6 Topography tools
a) DEM convert raster map → 3D object
It creates a 3D object from a raster image.
Figure 93. Creation of a 3D DEM
object from a raster image.
b) Creation of water DEM
It creates a 3D object "water DSM" (juxtaposition of hexagons) due to a given windspeed (m/s).
Facet dimension
9 rings
Figure 94. Creation of a 3D object "Water DEM".
64
c) Topography correction
Due to 3D effects (topography,…), the observed reflectance ρsat and actual reflectance ρloc of a surface (A) differ:
• Slope of (A) influences its local irradiance: Eloc(x,y) = Esun(x,y) + Esky(x,y) + Eenv(x,y) ∀ (x,y), with direct sun Esun,
direct sky Esky and environment Eenv irradiance. Eloc differs from the scene irradiance Escene(x,y).
• Surfaces around (A) tend to increase its Eenv, and to decrease its direct sun Esun and atmosphere Esky.
This DART tool derives ρloc(x,y) from an atmospherically corrected satellite image ρsat(x,y). ρsat , ρloc , Escene and Eloc
E (x,y)
E
E
=ρsat (x,y,Ωv ). scene ⇒ ρloc (x,y,Ωv )=ρsat (x,y,Ωv ). scene
are linked to satellite radiance: Lsat =ρloc (x,y,Ωv ). loc
π
π
Eloc (x,y)
Eloc(x,y) is needed for deriving ρloc(x,y) from ρsat(x,y,Ωv). Its usual estimation with analytic methods and local
i
topography tends to be inaccurate. The DART tool computes iteratively Eloc
(x,y) and then derives ρi+1
loc (x,y) from
ρsat(x,y,Ωv). Conversely to Esun(x,y) and Esky(x,y), Eenv(x,y) varies with iteration i becaue it depends on ρloc(x,y).
Steps to derive ρloc (x,y,Ωv ) from an atmospherically corrected and ortho-image ρsat(x,y,Ωv)
1) Set options {'OrthoImages (energy conservation)', 'Additional direction Ωv'} and run DART to create the mono
band ortho-image ρsat (x,y,Ωv ) that you copy from folder "IMAGE_PROJETEE" to folder "input\Corrected".
2) Run the "Topographic correction" tool (Figure 93; cf. WP7E, F) after setting its parameters: "File image of
ρsat(x,y,Ωv)", "Folder" (here: "Corrected") to store image results (i.e., 'user_selected_name_iteri' ρiloc (x,y) and
'Rho_dart_iteri' ρDART (x,y|ρiloc (x,y), Ωv ) per iteration i, initial 'Rho_satellite' ρsat(x,y,Ωv)), "Maximal number of
iterations (here: 10)" and "Threshold" on
Mean[ρDART (x,y|ρiloc (x,y),Ωv ) - ρsat (x,y,Ωv )]
Mean ρsat (x,y,Ωv )
(here: 10-5) to stop DART tool".
If N directions are added, the DART tool uses the 1st one (i.e., Ωv). For i=0: ρ0loc (x,y) = ρ�sat (Ωv) = ρ�sat (x,y,Ωv).
At iteration i, DART radiance along (Ωv ) is: Li (x,y,Ωv ) = ρDART (x,y|ρiloc (x,y),Ωv ).
Using Li (x,y,Ωv ) = ρiloc (x,y).
i
Eloc
(x,y)
π
, we get:
⇒ Local reflectance ρi+1
loc (x,y)=ρsat (x,y,Ωv ).
ρiloc (x,y)
=
i
ρDART (x,y|ρiloc (x,y),Ωv )
Eloc (x,y)
Escene
ρiloc (x,y)
ρDART (x,y|ρiloc (x,y),Ωv )
Escene
π
(ρ1loc (x,y)=ρsat (x,y,Ωv ).
ρ0loc
ρDART (x,y|ρ0loc ,Ωv )
)
Note: the DART tool is not adapted to landscapes that contain turbid / triangle vegetation.
Figure 95. DART tool
"Topography correction".
III.7.7 CoverMap importation
It creates ground / vegetation (turbid / facets) and fluid plots using a CoverMap (i.e., raster image), where a pixel
value Pi indicates the category of plot pli (cf. Figure 49, VII.5), and a text file that stores the parameters of pli. The
tool stores plots either in the plots.xml file or in a text file plots.txt that is more convenient if there are many plots.
III.7.8 Band calculation tools
They process the 𝐼𝐼λ (i, j) images (i.e., BOA/Sensor/TOA radiance 𝐿𝐿λ (i, j), exitance 𝑀𝑀λ (i, j), irradiance 𝐸𝐸λ (i, j)) of a
scene or sub-scene, using a mask, of a multi-band simulation or spectral sequence of mono-band simulations.
Broadband handles DART-FT RBΔλ and can run per simulation of a non-spectral sequence of multi-band simulations.
• Spectra: scene or sub-scene BOA / TOA / spectra in SceneSpectra folder. Note: DART LUT only gives scene spectra.
• Broadband: scene / sub-scene XΔλ =
∫Δλ sλ .Xλ .dλ
∫Δλ sλ .dλ
(Broadband folder) with rectangle + trapezoid methods, Xλ = image
Iλ (x,y) or 1D / 2D / 3D RBλ and sensor spectral sensitivity s(λ) (default: s(λ)=1). With N bands over [λo,min λN-1,max ]:
65
- Mode R, unit %: XΔλ =
2. ∑oN-1 s̅ λi .X λi �
EBOA,λi .∆λi + ∑oN-1�sλi ,max .X λi .EBOA,λi,max + sλi+1 ,min .X λi+1 .EBOA,,λi+1,min �.(λi+1,min - λi,max )
�BOA,λ .∆λi + ∑oN-1�sλ ,max .EBOA,λ
2. ∑oN-1 s̅ λi .E
+ sλi+1 ,min .EBOA,,λi+1,min �.(λi+1,min - λi,max )
i
i
i,max
- Mode R or T, unit W/m2/µm: X λ,Δλ =
2. ∑oN-1 s̅ λi .X λi .∆λi + ∑oN-1�sλi ,max .X λi + sλi+1 ,min .X λi+1 �.(λi+1,min - λi,max )
2. ∑oN-1 s̅ λi .∆λi + ∑oN-1�sλi ,max + sλi+1 ,min �.(λi+1,min - λi,max )
X λo
𝐬𝐬(λ)
Figure 96. Broadband tool.
"Rectangle" integral for DART
λ
bands, and "Trapezoid" for non o,min λo λo,max
simulated bands. a) Case of 5
non adjacent bands. b) Menu.
λ1,min
Xλ1
λ1 λ1,max
Xλ2
λ2
Xλ3
Xλ4
λ4,min λ- 4 λ4,max
λ3
• Band math: basic image operations with arithmetic and logical operators (+, -, *, /, >,...). A operators are pre-defined
for classical band ratio indices (NDVI,…). Example of operation:
Image = if(Image1>5, Image1, Image2) ⇔ Image = (Image1>5)*Image1 + (Image1<=5)*Image2
• Export: a single DART image or all images of a simulation are exported into ENVI and GeoTiff format.
Table 8. Band calculation tools
and their application to images,
sub-images and radative budget.
Scene Spectra
BroadBand
Math tool
Export
Images




Sub-images


-
Radiative budget

-
III.7.9 Color composite
This tool creates RGB color composites of DART radiance, reflectance and temperature images (Figure 95).
Figure 97. RGB color
composite of 3 DART images.
a) TOA. b) BOA. 3D cherry tree
(AMAP: amap.cirad.fr).
a)
b)
66
III.7.10 3D Radiative budget extractor
Using a 3D cell RBΔλ () or an addition / subtraction of two 3D cell RBΔλ ( + ) (Figure 96), this tool gives:
- 2D RBΔλ ∀x, y or z plane: text files or images (ILWIS format) that the menu "Search image" can display.
- Energy budget 1D profiles for any (x, y), (x, z) or (y, z).
There are several 3D cell RB (i.e., cell interception / absorption / emission / scattering, cell face irradiance / exitance):
for direct sun irradiance "ILLUDIR", direct and diffuse irradiance "ILLUDIFF", before ("IterX") and after ("Coupl")
the atmosphere radiative coupling, if atmosphere RT is simulated, and also RB per iteration if set by the user.

exitance of the top face of scene top cell xy (W/𝒎𝒎𝟐𝟐 /µm)
irradiance of the top face of scene top cell xy (W/𝒎𝒎𝟐𝟐 /µm)
= exitance of the top face of scene top cell xy (%) = scene albedo ARB2
xy .
Figure 98.
3D RB extractor tool.
Here, it extracts 1D RB
profile (green) and 2D RB
images (blue) from the 3D
RB of an infinite slope
with grass (Table 94).

Reminder of scene characteristics

III.7.11 DART database manager
It creates / manages 2 types of DART input SQL databases:
- atmosphere. Example: dart_atmosphere.db
- optical property (III.4.9, IV.13)). Examples: fluid.db,
lambertian_mineral.db, lambertian_vegetation.db,…
It deletes tables, called models, in databases, exports them as
text files (default folder: DART\user\database), imports them.
Easy way to import: export a table of a DART database,
modify its values (ascii format) and name, then import it.
Note: tables of atmosphere database have a suffix per type of
atmosphere table (e.g., _H2O for water vapor) that must be
used when importing them.
input databases can be managed by DART Python
scripts & freewares (Firefox add-on SqLite manager:
DART
addons.mozilla.org/fr/firefox/addon/sqlite-manager;
SqliteBrowser: sqlitebrowser.org) manage DART input databases.
 Imported text files: keep \n (LF), remove command \r (CR)
Figure 99. Tool "database manager".
.
67
IV. Format of DART files
DART stores input data as xml files (Figure 88, Table 8) in the "input" folder of the current simulation and results
(e.g., reflectance files,…) in text and binary files in the "output" folder.
Earth Landscape (city, forest,…)
• Location (Lat, Lon) & Spectra (SQL database)
• DART simulated: geometry 3D (tree, house,…)
• Imported: - Topography & Land cover (raster)
- 3D objects (*.obj)
Phase module
Direction module
N discrete directions over 4π
Maket module
Earth-Atmosphere creation
• Satellite / plane: - location (Lat, Lon)
- view direction
• Date or sun direction,
• Sensor characteristics,…
Atmosphere SQL database
Transfer functions T(Ωs, Ωv)
τaer, ωaer, τgas,scat, τgas,abs, Tgas,abs
(1cm-1), DHG, Tatm(z),…
Dart module
BOA↔TOA transfer functions
Radiative transfer simulation
Sequencer: run of multiple simulations
GUI
• Images (L, ρ, TB)
TOA/BOA
• Lidar waveform
• 3D radiative budget
• SQL data base (mean values)
• BOA ↔ TOA TFs
code: C++ - GUI: Java & XML files - Python scripts: create / run DART simulation sequences,…
Figure 100. General architecture of DART.
IV.1 ALL DART MODES
Directions.txt & Directions.xml
The module Directions (Section III.4.8) uses directions.xml (input parameters) to create DART discrete directions
(directions.txt). Here (Table 9), it creates ≈1000 directions in 10 sectors, θsun=50°, φsun=225°, no added direction.
Sector
θ
Φ
∆Ω
0
0
0.095455703
0
0
0
0.001
0
20.299770
0.033969142
0
………… 49.629182
…
…………….
…
Sector
θ
Φ
∆Ω
157.595094 270 0.126280196
9
157.595094 330 0.126280196
9
180
180 0.095455703
9
Table 9: Files direction.xml (top) and directions.txt (bottom), and 3D display of directions.
.
LAD (Leaf Angle Distribution) derived files
The Phase module computes the fraction of leaf area Af over [θf θf+∆θf]. Two files are created:
- LAD *.txt (text file) with *= SPHERIC, etc.: {θf, normalized g(θf).sinθf; ∆θf=0.5°=8.73 10-3rd} created in the user database, if
_
not yet present, for all LADs except the ellipsoidal / elliptical and "user defined" LADs (i.e., LADs derived from DeWit/Bunnik
(http://rami-benchmark.jrc.ec.europa.eu/html/definitions/definitions.php). Only the phase module uses it.
- leafAngleDistributionFunctionVector[i].txt: (text file); i=turbid index: {LADindex, θf, normalized
g(θf).sinθf.∆θf; ∆θf=user defined≥1°} in 'output/lib_phase' if required or if maket module transforms turbid
medium as triangles. LADindex=0: uniform, 1: spheric, 2: erectophile, 3: planophile, 4: extremophile, 5:
plagiophile, 6: horizontal, 7: vertical, 8: ellipsoidal, 9: elliptical,10: user defined (text file), 11: de Wit. 12:
uniform bounded. Note that 6 / 7 are exactly vertical / horizontal only for triangles.
The Phase module also computes binary files designed to manage scattering and interception (transmittance) events:
j.Name_ScatteringFunction (Table 9): {Tdiff(Ωsun,Ωi), Tdiff(Ωsector,k,Ωi), TGdiff(Ωi)} of all bands, with j the leaf species
index, k ∈ [1 K=Number_of_sectors] and i ∈ [1 I=Number_of_directions].
68
⌠
⌡
gf(j,Ωf)
.|Ωs.Ωf|.f(j,Ωf,Ωs→Ωv).dΩf
2π
T(j,Ωs,Ωv) =
T(j,Ωsect,Ωv) =
2π
.∆Ωv
G(j,Ωs)
Σs,no virtual T(j,Ωs,Ωv).∆Ωs
, Σ ∆Ωs,no virtual = ∆Ωsect
Σs ∆Ωs
θs:30° φs:225° Dir. 1
0.0089
T(Ωsun,Ωv)
0.0076
T(Ωsect1,Ωv)
T(Ωsect2,Ωv)
0.0060
……..
……….
Dir. 2
0.0099
0.0097
0.0083
……..
Dir. 3
0.0103
0.0097
0.0088
……..
0.0067
0.0094
0.0420
0.0081
0.0120
0.0562
0.0090
0.0120
0.0562
T(Ωsect9,Ωv)
T(Ωsect10,Ωv)
TG(∆Ωv) = Σs,no virtual T(j,Ωs,Ωv).G(Ωs).∆Ωs
TG(Ω)
...
...
...
...
...
...
...
Dir. 98
0.0085
0.0120
0.0107
……..
0.0079
0.0097
0.0562
Dir. 99 Dir. 100 Not used
0.0095 0.0072
0.0120 0.0094
0.0
0.0098
0.0069
0.0
…….. …….. ……..
0.0086 0.0059
0.0
0.0097 0.0076
0.0
0.0562 0.0420
Table 10: File *_diff: T(Ωs,Ωi), T(Ωsector,k,Ωi), TG(Ωi) with k∈[1 10], i∈[1 100]. DART option 'Specular' ⇒ no line TG(Ω). ρf:0.5. τf:0.4. LAD spherical.
j3D_...txt.spec: created per leaf species j if there is leaf specular scattering (⇒ possible polarization). For all spectral
bands, each file stores: {Tspec(j,Ωsun,ΩV)v=1..N, TPolarization(j,Ωsun,ΩV)v=1..N, Tspec(j,ΩI,ΩV)I=1..S,v=1..N, TG(j,ΩV)v=1..N,
TGspec(j,ΩV)v=1..N, S1(j,Ωsun,ΩV)v=1..N, S1,moy(j,ΩV)v=1..N, SM(j,ΩV)v=1..N, p1(j,ΩV)v=1..N}; S = Number of angular sectors.
Dir. 1
Dir
1
xxxxx
…….
Dir N xxxxx
……..
(θs, φs) xxxxx
j.Name_ScatteringFunction_mc and
j.Name_SpecularFunction_mc: for DART-RC
and DART-Lux (Table 11).
...
...
...
...
Dir. N Not used
xxxxx
0
……..
xxxxx
0
……..
xxxxx
0
Table 11: File *_Scat…._mc:
T(Ωn,Ωi), with n ∈ [1 N+1] and i
∈ [1 N]. Sun direction is n=N+1.
j3D...transm file (Table 11): G(Ωi) for "all directions of directions.txt + sun direction with null solid angle".
Dir. 1
0.5
Dir. 2
0.5
Dir. 3
0.5
Dir. 4
0.5
….
….
Dir. 99
0.5
Dir. 100
0.5
Dir. 101 (sun: Ωs, ∆Ωs = 0)
0.5
Table 12: File j3D_...txt_transm (G(Ω) for 100 directions + sun direction (101). Spherical LAD.
Optical properties SQL databases (Lambertian_mineral.db,…)
The "Database Manager" (III.7.11) manages DART SQL databases (Table 13) that store in tables optical properties
from users or databases (e.g., speclib.jpl.nasa.gov, icess.eri.ucsb.edu/modis/EMIS/html/em.html, usgs.gov/labs/spec-lab).
Default databases
Use
Description
Lambertian_mineral.db Surface/Turbid wavelength; reflectance; direct_transmittance; diffuse_transmittance
Lambertian_vegetation.db
volume
0.302;
2.9582;
0.0;
2.6215
λ; n_down; intensity_factor_up_to_down; angular_divergence_up_to down; k_power_up_to_down;
Specular.db
Surface
n_up; intensity_factor_down_to up; angular_divergence_down_to_up; k_power_down_to_up :
(to be replacd by
0.3; 1.33; 1.0; 0.55; 115.33; 1.0; 1.0; 0.55; 115.33
Refractiveindex.db)
λ bottom top bottom_index top_index bottom_refraction_index top_refraction_index
Roughness.db
Volume
_
_
0.3
Refractiveindex.db
Surface
RPV.db
Surface
Hapke.db
Surface
Phase_extern.db
Fluid.db
Fluid_gas_thermal.db
Eq_gas_sigma.db
0.9
0.9
λ n k
wavelength;
0.2
0.2
1.4
reflectance;
k;
g;
h
5.0;
0.8;
-0.1;
0.05
0.1;
wavelength;
w;
c1;
c2;
c3;
1.4
c4;
h1;
h2
0.538;
0.317;
1.549;
0.878;
0.163; 0.047; 1.0; 0.101
WAVELEN THETA_INCID PHI_INCID THETA_VIEW PHI_VIEW REFLECT
Surface
0.68
30
225
0
0
0.051725602
Fluid
wavelength; sigma; albedo; a;
c
wavelength; sigma; albedo; a; g1; g2
CO2, CO, H2O:
0.3;
1.0;
1.0;
1.0; 1.0; 1.0
0.4
0.0;
0.0; 0.719; 0.04127
T∈ [200 2800K]
Equivalent cross section of (CH4, CO2, H2O, N2O, O3) at z ∈ [0 100km]
Fluid
Table 13. Parameters (cf. III.4.9) of DART default databases with header and 1st line of one of their models.
Surface: ρspecular =A. ρFresnel (refraction index n): cst, Gaussian or parabolic in a cone (angular_divergence) around specular direction.
Turbid:for each surface element ρleaf,specular,turbid medium = Kfj(Ψfs).ρFresnel (ninf or nsup), with Kfj(Ψfs)=Kfjo.exp[-kfj.tan(Ψfs)].
Units: µm for wavelength, 1 = 100% for reflectance / transmittance, no unit for albedo, ° for angle, and m2 for cross section (sigma).
The optical depth of a gas/aerosol layer (volume density N, depth ∆l) is: N.Sigma.∆l.
Fluids. Two types of scattering phase functions
- Rayleigh (gas,…):
P(ψsv )
4π
1
P(ψsv )
4π
2
. Their selection is automatic: it depends on their number of parameters.
= .[a.(1 +cos ψsv ) + c]; ψsv = phase angle. adart=0.7190443, cdart=0.0412742.
4π
with Ψsv = phase angle (forward scattering ⇒ Ψsv = 0), cosΨsv = [cosθv.cosθs + sinθv.sinθs.cos(Φv-Φs)]
𝟑𝟑 1-δ
3δ
Parameters for gases: a= .
with δ = polarization ratio (δ=0.0279 at 0.65µm), c=
𝟐𝟐 2+δ
3 1-δ 1+δ
Actual Rayleigh function: P(ψsv ) ≈ .
.[
2 2+δ 1-δ
P(ψsv )
- Double Henyey-Greenstein (aerosol,…):
4π
+ cos 2 ψsv ] ≈ 0.7603 + 0.719.cos 2 ψsv
=
1
.[
a.(1-g 21 )
4π [1+g 21 -2g 1 .cosψsv ]1.5
+
(1-a.)(1-g 22 )
2+δ
[1+g 22 -2g 2 .cosψsv ]1.5
] (c≡g 1 )
with: g=0 ⇒ isotropic (forward scattering = backward scattering). g=1 ⇒ Dirac (forward scattering)
69
3D factor matrix text file
It stores multiplicative factors of an optical property per cell, ordered from bottom to top scene (Table 14), as in the
2D scene display of the simulation editor: origin = top left corner, then columns (y), then lines (x), then altitudes (z).
Field separators are semi-column, space, or tab. If the option “Duplicate first voxel layer” is set, the input file is a 2D
array that DART duplicates as a 3D array (⇒ constant optical property along the z-axis). If the simulated scene is a
sub zone (Figure 47), the first line of the file must contain the word: sub-zone.
No sub-zone
No Duplicate 1st voxel layer
(x1,y1,z1); (x1,y2,z1); (x1,y3,z1);
(x2,y1,z1); (x2,y2,z1); (x2,y3,z1);
(x3,y1,z1); (x3,y2,z1); (x3,y3,z1);
(x4,y1,z1); (x4,y2,z1); (x4,y3,z1);
(x1,y1,z2); (x1,y2,z2); (x1,y3,z2);
(x2,y1,z2); (x2,y2,z2); (x2,y3,z2);
(x3,y1,z2); (x3,y2,z2); (x3,y3,z2);
(x4,y1,z2); (x4,y2,z2); (x4,y3,z2);
Table 14. 3D
factor matrix
text file for a
scene with
x=4, y=3, z=2.
Sub-zone,
Sub-zone,
No Duplicate 1st voxel layer Duplicate 1st voxel layer
subzone
subzone
(x1,y1,z1); (x1,y2,z1); (x1,y3,z1); (x1,y1); (x1,y2); (x1,y3);
(x2,y1,z1); (x2,y2,z1); (x2,y3,z1);
(x3,y1,z1); (x3,y2,z1); (x3,y3,z1); (x2,y1); (x2,y2); (x2,y3);
(x4,y1,z1); (x4,y2,z1); (x4,y3,z1); (x3,y1); (x3,y2); (x3,y3);
(x1,y1,z2); (x1,y2,z2); (x1,y3,z2); (x4,y1); (x4,y2); (x4,y3);
(x2,y1,z2); (x2,y2,z2); (x2,y3,z2);
(x3,y1,z2); (x3,y2,z2); (x3,y3,z2);
(x4,y1,z2); (x4,y2,z2); (x4,y3,z2);
No sub-zone,
Duplicate 1st voxel layer
(x1,y1); (x1,y2); (x1,y3);
(x2,y1); (x2,y2); (x2,y3);
(x3,y1); (x3,y2); (x3,y3);
(x4,y1); (x4,y2); (x4,y3);
Temperature: temperatures.txt and temperaturesPerTrianglePerCell.txt
- temperatures.txt: 3D mean thermodynamic temperature per voxel (for all elements), from bottom to top.
- temperaturesPerTrianglePerCell.txt: thermodynamic temperatures of face 1 (T1) and face 2 (T2) of each triangle t
per cell (i,j,k). Per line: i.j.k.t:T1;T2;A, with triangle area A.
Triangles area per voxel, dart.typ,…
- triAreaPerCell.txt text files (folder "triAreaPerCell"): area of all triangles and triangles of type X, per cell.
- dart.typ (text file in input folder): list of present materials (i.e., colors defined in "3D imported object").
Plots: Plots.txt and information file CoverMapExample.txt
Plots (ground, vegetation, fluid) can be created in DART GUI (stored in plots.xml file) and/or added using either:
- plots.txt file. An example is in DART database; the file header gives the format. Very useful if there are many plots.
- CoverMap image and a text file (CoverMap.txt) that links pixel values Pi and plot parameters (type,…). Examples are
in DART database: CoverMapExample.mp# (Figure 215: Pi = 1, 3, 5 and 7) and CoverMapExample.txt (Table 15).
a)
Class
Use Plot Soil
Ind
name
[Y/N] type phase
Ground Ground 1
Vegetation Corn 3
Ground + Wheat 5
Vegetation Barley 7
b) Air Fluid 10
String
1
1
1
1
1
0
1
2
2
3
Integer
0
0
0
0
0
ρveg(λ)
or ωair(λ)
ρground(λ)
LambM.db loam...
0
0
0 LambV.db
LambM.db loam... LambV.db
LambM.db loam... LambV.db
0
0 Fluid.db
String
Clumping
ALA or Eccen- Leaf
LAI
or N Hbase H σH Tmean ∆T Ωmin Ωmax a b LAD Thetam tricity size
0
0
grass 3
grass 6
grass 4
ray.. 3
0
0
0
0
0.25
0
1
2
3
4
0
0
0
0
0
330
310
305
320
300
Double
5
5
0
5
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
Integer
0
0
0
0
0
0
0.01
0.01
0.05
0
Double
Table 15. Format of the information file of CoverMap.This example (CoverMapExample.txt) is in DART database.
Each line the field values of a plot, separated by blank characters or tabulation. Useless fields have any value (e.g., 0):
• Class name. It must not contain any blank character! • Tmean, ∆T: Mean temperature and temperature range (K)
• Class index. It is the pixel value in the raster map.
• Name of the spectral database.
• Use of plot: 1 if the plot is used, 0 if it is not used.
• Type of plot: Ground: 0, Vegetation: 1, Ground + Vegetation: 2, Air: 3
• H: Average height of the vegetation plot or fluid plot • σH: Standard deviation of vegetation or fluid's height.
• Leaf size (m): for simulating hot spot in short waves. • Vegetation plot's LAI or fluid plot's particle volume density.
• Type of soil phase function: Lambertian: 0, Lambertian + specular: 1, or Hapke: 2
• HBase: Height of the base of the vegetation plot or fluid plot above the ground
• Ωmin, Ωmax, a, b: Angular weights of vegetation function G(Ω) (default values (1,0, 0, 0).
0: Uniform 2: Erectophile 4: Extremophile 6: Horizontal 8: Ellipsoidal
• LAD: Leaf Angle Distribution
1: Spherical 3: Planophile 5: Plagiophile 7: Vertical 9: Elliptical
• After 'LAD column': ellipsoidal LAD ⇒{ALA,0}, elliptical LAD ⇒ {Thetam, Eccentricity}, other LAD ⇒ {0,0}
70
Turbid trees: Tree.txt and Branch.txt
Tree.txt: a line per tree. It stores tree parameters in labelled columns (Table 21):
- SPECIES_ID: species, POS_X: X, POS_Y: Y, T_HEI_BELOW: Trunk height below crown,
- T_HEI_WITHIN (Trunk height within crown), T_DIA_BELOW (Trunk diameter below crown),
- T_ROT_NUT / T_ROT_PRE (°): Trunk nutation / precession rotation (°),
- C_TYPE: Crown type (0 = ellipsoid, 1=ellipsoid composed, 2=cone, 3=trapezoid, 4=cone composed),
- C_HEI: Crown height,
- C_ROT_INT / C_ROT_NUT / C_ROT_PRE (°): Crown intrinsic / nutation / precession rotation,
- C_GEO_1: Crown geometry. If crown type = ellipsoid or ellipsoid composed, C_GEO_1 = 1st axis,
if crown type = cone or cone composed, C_GEO_1 = bottom radius,
if crown type = trapezoid, C_GEO_1 = bottom length.
- C_GEO_2: Crown geometry. If crown type = ellipsoid or ellipsoid composed, C_GEO_2 = 2nd axis,
if crown type = cone or cone composed, C_GEO_2 = top radius,
if crown type = trapezoid, C_GEO_2 = bottom width.
- C_GEO_3: Crown geometry. If crown type = ellipsoid composed, C_GEO_3 = half heigth of lower ellipsoid
if crown type = cone composed, C_GEO_3 = cylinder height,
if crown type = trapezoid, C_GEO_3 = top length,
if other crown type, C_GEO_3 = undefined.
- C_GEO_4: Crown geometry parameters. If crown type = trapezoid, C_GEO_4 = top width,
if other crown type, C_GEO_4 = undefined.
- LAI (optional): tree leaf area if LAI > 0 or leaf volume density if LAI < 0. If present, it replaces the LAI set in the GUI
Table 16. Case "Exact position + Exact dimensions": tree file in DART database. Trees 1, 2: ellipsoid, tree 3: cone.
Branch.txt (schematic geometry): Nbranches followed by 1 branch / line: relativeHeight θ φ relativeRadius relativeLength Nfacets
- relativeHeight ([0 1]): relative height of branch origin on trunk; % of "trunk + crown" height.
- θ (°), φ (°): zenith and azimuth angles of the branch direction.
- relativeRadius ([0 1]): branch base relative radius; % of trunk radius at branch base level.
- relativeLength ([0 1]): branch relative length. For branches below the tree crown: % of mean crown radius.
For branches in the tree crown: % of the length "branch base - point of intersection "branch - tree crown".
- Nfacets: number of facets (triangles) used to build the branch, in addition of the triangles of the branch base.
3D object: *.obj and *.mtl files, and object field
• obj & mtl text files (web.cse.ohio-state.edu/~shen.94/581/Site/Lab3_files/Labhelp_Obj_parser.htm, en.wikipedia.org/wiki/Wavefront_.obj_file)
Data needed by DART is in bold. Obj file: it stores a 3D geometric model (vertex coordinates, faces, normals, textures, group
names,…); each line starts from a special 1st character or word; indices start from 1. The mtl file stores color per group.
1st character / word
Obj file
#
Comment line
v
List of vertex coordinates (y, z, x [,w]). w is optional (default: 1)
vt
List of vertex texture coordinates (u [, v, w]).
vn
List of vertex normals (not necessarily unit vectors)
o
Object name
g
Group name
mtllib
Import of .mtl file: materials that define the faces visual aspect
usemtl
Defines the material (defined in .mtl file) to use, until another usemtl line
f
Face (polygon): vertex indices (vi[/vt/vn],vj[/vt/vn],vk[/vt/vn]). The order (vi,vj,vk) sets the face normal
s
Smooth shading across polygons
Table 17. T.obj and T.mtl
of centred triangle ABC.
AB=∆x=2m in T.obj and
DART. Note that DART
only affects the display
and not the values of
Mxyz, Ωsun and Ωview.
A
x
B
Position
X
[m]
Y
[m]
Elevation [m]
C
y DART editor
2D view
A
C
y
Position
X
[m]
Y
[m]
Elevation [m]
B
x
DART view
of 3D object
A
C
C
A
B
B
A DART view
of 3D scene
B
71
C
Table 18. obj
and mtl files, and
1st character / word
newmtl
Ka
Kd
Ks
Ns
d or Tr
Ni
map_x
illum
Mtl file
Start a definition of a new material
Material: ambient color (R, G, B); values ∈ [0 1]
Material: diffuse color (R, G, B)
Material: specular color (R, G, B)
Material: shininess
Material: transparency (d: opaque; Tr: transparent)
Material refraction index (≥1; 1: no bending; 1.45: refraction)
x=Ka, Kd,… File that stores a texture map (ASCII dump of RGB values); options are possible
Illumination models (0: color on, ambient off; 1: color & ambient on, etc.)
• Object field: ASCII file with values in full (no scientific notation), separated by spaces or tabulations, with 1
line per description of object. Accepted comments: /* …. */ and // …. [end of line]'. There are 2 formats:
"exact location + random characteristics" and "Exact location + Exact characteristics"
a) Exact location + Random characteristics. Per line: Object_Model_Index Xpos Ypos
Object_Model_Index: Index of the model of the 3D object. Index 0 is for the 1st model to be input,...
Xpos, Ypos: X and Y Positions (float number in meters)
If location (Xpos, Ypos) is outside the scene, the object will not be created.
Table 19. Field file for case "exact location + random characteristics".
The index informs on the object type. Here, index "0" informs that
the 1st object is "Wild cherry tree".
/* Parc des hérauts */
0 1.5 2.0 // Wild cherry tree
0 3.3 2.5 // Wild cherry tree
1 6.5 9.3 // Lemon tree
0 7.3 1.6 // Wild cherry tree
b) Exact location + Exact characteristics
- Header: complete transformation
- Per line: Object_Model_Index Xpos Ypos Zpos Xscale Yscale Zscale Zrot Yrot Zrot
Object_Model_Index: Index of the 3D object. Index 0 is for the 1st model to be input in DART, etc.
Xpos, Ypos, Zpos: X, Y and Z Positions (float number in meters). By default: Zpos = 0.
If location (Xpos, Ypos, Zpos) is outside the scene, the object will not be built.
Xscale, Yscale and Zscale: X, Y and Z scale factors (float number; 1 by default)
Zrot, Yrot and Zrot: Oz (intrinsic), Oy (nutation) and Oz (precession) rotations (float number; 0 by default)
Table 20. Field file: case
"exact location + exact
characteristics". There are
two 3D objects: indices 0, 1.
/* Parc des hérauts */
complete transformation
0 1.5 2.0 0. 1. 1. 1. 0. 0. 26.33 // Species 0. Not scaled. Rotation: 0°, 0°, 26.33°
0 3.3 2.5 0 1.2 1.313 1.13 0. 0. 96.1 // Species 0. Scale factor: 15. Rotation: 96.1°
1 6.5 9.3 0 1. 1. 1. 0. 0. 33.78 // Species 1. Not scaled. Rotation: 33.78°
0 7.3 1.6 0 0.85 0.86 0.84 0. 0. 15. // Species 0. Scale factor: 0.85. rotation: 15°
Solar constant.db and BandIrradianceFile.txt
Solar_constant.db: 10 spectral solar constant spectra {ETOA(λ): W/m2/µm; specific spectral resolution} stored in tables:
CebChKur, ChKur, Kurucz97 (default in Modtran): [0.2 - 200µm]; FonTenla, Kurucz95, Kurucz2005: [0.2 - 104µm];
ThKur  (Thuillier + corrected Kurucz): [0.05 - 103µm]; TSIS2019_0025nm / TSIS2019_01nm / TSIS2019_1nm: [0.2µm 2.73µm] (https://lasp.colorado.edu/lisird/data/tsis1 hsrs) extended to 105µm with Kurucz2005. Other tables can be added.
_
 DART corrects ETOA(λ) of Earth-Sun distance d(J) with an equation ETOA≡1/d(J)2 similar to ESA
(https://sentinel.esa.int/web/sentinel/technical-guides/sentinel-2-msi/level-1c/algorithm).
BandIrradianceFile.txt: it stores EBOA(λ) (i.e., irradiance or solar constant depending on DART
option) and SKYL(λ). Options "No Atmosphere" and "Spectral radiation text file" can use it.
Lambda
0.4
0.401
0.402
……
EBOA SKYL
1211.45 0
1134.31 0
1225.49 0
……… ……
Atmosphere SQL input databases (atmosphere.db, H2Oground.db)
• Atmosphere.db
User data can be input. Henyey Greenstein parameters result from the fit of Lowtran scattering phase functions.
All other spectral data must have the same resolution ∆ν. Atmosphere.db data are derived from the Modtran model
(∆ν=1cm-1, 36 layers): 6 gas (USSTD76, SUBARCWIN,…) and 7 aerosol (RuralV5,…) models.

www.researchgate.net/profile/Didier_Gillotay/publication/226667402_The_Solar_Spectral_Irradiance_from_200_to_2400_nm_as_Measured_by_the_SOLS
PEC_Spectrometer_from_the_Atlas_and_Eureca_Missions/links/004635155b63cea072000000.pdf
72
a) Gas (index g): gscat, H2O, O3, N2, CO2, CO, CH4, N2O, O2, NH3, NO, NO2, SO2, HNO3, gother
- *_gECP: gas density (atm cm/km, except N2: g/cm2 km) at 36 layers, per gas model (*).
line-by-line
- *_gH2O: spectral transmittance TH2 O (THcontinuum
. TH2 O
) for N H2O content (default value x
2O
0.1 n), with n ∈ [1 N] the index of the N tables (21 for USSTD, 16 for Sub Artic winter,…)
- *gTEMP: gas temperature & pressure (atm-cm/km; for N2 and gas_scat: relative density to air at STP) at 36 altitudes.
↑↓
(t_total_ud_abs), and spectral
- *gTRANS: total up and down spectral transmittance of absorbing gases Tgas,abs
transmittance of all scattering gases Tgas,scat (t_mol_scat) and per absorbing gas Tgas,abs. TH2 O = THcontinuum
.THline
.
2O
2O
2
- *g_pH2O: H2O content (atm.cm, g/cm + atm.cm/km at 0 & 1km), temperature (K) at 0 & 1km altitude.
b) Aerosol tables (index a)
- *gas_model_*_aAOD: spectral Aerosol Optical Depth (AOD) per gas model *.
- *aECP: normalized Extinction Coefficient vertical Profile at 36 altitudes.
- *aHG: Henyey Greenstein (HG) coefficients (a, g1, g2) at 27 wavelengths.
- *_RH00_aHG, *_RH80_aHG, *_RH99_aHG: HG coefficients per aerosol model that
depends on humidity, for 0%, 80% and 99% relative humidity (RH). *aHG is for
RH=70%. From the fit of Lowtran scattering phase functions.
- *_AGED_VOLC_aHG, *_FRESH_VOLC_aHG, *_STRT_H2SO4_aHG, *_MET_DUST_aHG: HG
coefficients for aerosols that do not depend on humidity.
↓↑
Note: Modtran simulations without aerosol are used to compute the absorption gas "Direct - Direct" transmittance Tgas
and
↑
↓
scattering gas direct transmittance Tgas,scat (Tgas,scat
= Tgas,scat
); for the latter one, ρground = 1 in DART simulations.
E A
A
E
A
A
E
A
2
↓↑
Band ∆λ without gas absorption: Tgas
≈ Tgas,abs
, with Tgas,abs = TCO2,abs.TCO,abs.TCH4,abs….TO3,abs.
A
E A
A
EA
↓↑
↓
Band ∆λ with gas absorption: Beer law becomes inaccurate ⇒ Tgas,abs
≠ (Tgas,abs
)2. DART uses downward transmittance
T ↓↑
.↓
↑
= Tgas,abs = TCO2,abs.TCO,abs...TO3,abs and upward transmittance is Tgas,abs
= .↓ gas2
Tgas,abs
A
E
A
A
E
A
Tgas,abs .Tgas,scat
a)
Table 21: a) Tables of
atmosphere database. b)
ETOA. c) HG coefficients.
b)
Modtran 𝚫𝚫𝝉𝝉aerosol(550nm) PH2O
Modtran value (g/cm2)
DART factors (step = 0.1)
Desert V76
Fog (advective, V=0.2km)
Fog (radiative, V=0.5km)
Maritime (V=23km)
Rural (V=23km)
Rural (V=5km)
Urban (V=5km)
Tropo (V=50km)
c)
USSTD76 Mid_Lat_Sum Mid_Lat_Wint Sub_Arc_Sum Sub_Arc_Wint Tropical
1.4166
2.9228
0.8518
2.0816
0.4162
4.1154
0.1 → 2.1 0.1 → 1.9
0.1 → 1.7
0.1 → 1.6
0.1 → 1.6 0.1 → 1.7
0.1349
0.1349
0.1138
0.1349
0.1138
0.1349
∞ - 1020
∞ - 1020
∞ - 1020
∞ - 1020
∞ - 1020
∞ - 1020
9.2103
9.2103
9.2103
9.2103
9.2103
9.2103
0.3248
0.3248
0.2956
0.3248
0.2954
0.3248
0.3246
0.3246
0.2954
0.3246
0.2954
0.3246
1.1702
1.1702
1.1410
1.1702
1.1410
1.1702
1.1702
1.1702
1.1410
1.1702
1.1410
1.1702
0.1598
0.1598
0.1372
0.1598
1.1372
0.1598
Table 22: DART database. a) Modtran PHMod
per gas model and Tatm,H2 O (ν; ∆ν=1cm-1) for n.PHMod
with n ∈ [1
2O
2O
N]. N is gas dependant (21 for USSTD76,…). For any PH2 O , DART interpolates on the n Tatm,H2 O . b)
Mod
ΔτMod
a (550nm) for 8 aerosol types, per gas model; inaccurate for fog because Tfog is with 4 digits.
73
• H2Oground.db
Modtran-derived H2O cross section at 71 bands ([7µm 14µm], ∆λ=0.1µm), 8 distances (1m, 10m, 50m, 100m, 150m,
250m, 500m, 1km), 8 pressures (880Pa, 920Pa, 950Pa, 980Pa, 1kPa, 1013.15Pa, 1025Pa, 1050Pa), 36 relative
humidities ([0.3 1], ∆rh=0.02), and 29 temperatures ([259K 315K], ∆T=2K). Maket Atmosphere can use it with a
mean distance value for scenes with "air", to compute extinction coefficients that replace those of the atmosphere
extrapolated into the scene. It can greatly improve the simulation of TIR camera in the scene.
_
Atmosphere output files
• Atmosphere.nc
The phase module creates it using the atmosphere.xml file and atmosphere database. For each DART band, it
stores: the 1D profiles (36 levels) of temperature, pressure, and gas and aerosol density, and also the transmittance
for scattering gasses, the transmittance for absorption of most gases, the total up-and-down transmittance for gas
absorption, the aerosol optical depth, single scattering albedo and Henyey Greenstein parameters, and the
equivalent absorption cross section (z from 0 to 100km, ∆l=7km) of 5 gases (CO2, H2O, O3, CH4, N2O). These
quantities are used to simulate atmosphere RT and to derive EBOA from ETOA (analytic model).
• AtmosphereMaket.nc
The maket module creates it if there is "Atmosphere RT". It stores the atmosphere geometry (number of layers for
each MA and HA atmosphere, etc.), and information per layer n: temperature, transmittance for gas scattering and
gas absorption, up-and-down transmittance for gas absorption, Henyey Greenstein coefficients of aerosols, gas and
aerosol mean gas and aerosol extinction coefficients and scattering albedo (αe,gas,n, ωgas,n, αe,aerosol,n, ωaerosol,n), and
coefficients {An,Bn,Cn,Dn} used to compute αe,gas(z), ωgas(z), αe,aerosol(z), ωaerosol(z) With t the relative altitude
(t(z=zn)=0, t(zn+∆zn)=∆zn): optical depth δτn(t) = An.t3 + Bn.t2 + Cn.t+Dn, extinction coefficient αe,n(t)=-3An.t2-2Bn.tCn. We have: δτn(0)=∆τn, δτn(∆zn)=0, αe,n(0)=αe(zn), αe,n(∆zn)=αe(zn+∆zn).
• Atmosphere radiance: 4 products stored in the folder "output", if required in the "Atmosphere" menu.
- atmosphere_radiance_before_coupling.binary (Table 28).
↓
↓
{Direction index [Io IN], cosθi.∆Ωi, NMA horizontal cells, Xi} with X = Latm,
BOA (i=IN: Ldirect sun,BOA with cosθsun.∆Ωsun=0.1
IN -1 ↓
↓
↑
↓
↓
⇒ Edirect,sun,BOA=0.1 Ldirect
sun,BOA. Ediffuse,BOA=∑i=Io L atm,BOA (Ωi ).cosθi .ΔΩi ), Latm,sensor, Latm,sensor (i=IN: Ldirect sun,sensor),
L↑atm,TOA ∀Ω, and TOA irradiance↓, absorbed energy (WHA,abs, WMA,abs) before Earth-Atmosphere coupling for
(λ1,λ2,…)}. DART simulations, possibly with a different number of spectral bands can use it. Data "… shifts…."
is for the option "scene with infinite slope". Option "View" can export/import this binary file: binary ↔ csv.
- atmosphere_radiance_after_coupling_BOA_total.binary (Table 29):
It has the same format as 'atmosphere_radiance_before_coupling', for BOA level only.
A
A
A
A
E
A
A
E
A
A
A
E
E
A
E
A
A
E
A
A
E
A
,
EA
- AtmosphereOrder1Radiance (radiance\TOA folder): {θ,φ, Latm,↑TOA,order1,λ(θ,φ)}. No ground interaction.
A
- AtmosphereRadiance (radiance\TOA folder):
EA
{θ,φ, Latm,↑ TOA,total,λ(θ,φ)}.
A
EA
No ground interaction.
• Atmosphere scattering function: binary file AtmospherePhaseFunction 𝑻𝑻(𝛀𝛀𝒔𝒔 , 𝛀𝛀𝒗𝒗 ) for gas and aerosol.
The menu "View / Report - Data files / Scattering functions" exports this file as a
Atmosphere phase
function overlaid on on 3D
text file. The menu "View / Directions 3D" displays all T(Ω's ,Ωv ) for incident
view of directions: option
'
'
'
Ωs (option "Incident"), and all T(Ωs ,Ωv ) for scattered Ωv (option "scattered").
'incident' + nadir direction
• Atmosphere spectral transfer functions TF.
DART computes them if the option
is set in the "Atmosphere" menu. Later simulations can
use them for fast derivation of TOA and Sensor products from BOA products without simulating atmosphere RT.
- atmosphere_transfer_function_from_MA.binary (Table 29): it is created if one asks for "Atmosphere radiance
scat
scat
scat
(Ω↑ ,Ω↑ ), TFMA-BA
(∆i,∆j,Ω↑ ,Ω↓ ), TFMA-Sensor
(∆i,∆j,Ω↑ ,Ω↑ or ↓ )
before coupling": TFMA-HA
scat
(∆i,∆j,Ω↑ , Ω↓ )
- atmosphereTransferFunctions.binary (Table 30): transfer functions (BOA→BOA,Sensor,TOA): TFBA-BA
scat
scat
scat
scat
TFBA-HA
(∆i,∆j,Ω↑ ,Ω↑ ), TFBA-Sensor
(∆i,∆j,Ω↑ ,Ω↑ ) and TFBA-Sensor
(∆i,∆j,Ω↑ ,Ω↓ ), from TFBA-BA
(Ω↑ ,Ω↓ ), etc. (Table 30)
74
Direction
index
cosθ.∆Ω
Radiance values
Band 1 Band
2
a)
Table 23. Atmosphere radiance before / after coupling.
a) Atmosphere_radiance_before_coupl.binary. Here: 2
bands in mode R, 10 x 10 scene, atmosphere = HA +
MA layers with 1 horizontal cell. No pixel / distance
shift with "repetitive" scenes. 101 direction indices
(sun direction index = 100; cosθsun.∆Ωsun = 0.1 ⇒
Esun=0.1xLsun). Rows: 'cosθ.∆Ω', 'BOA / Sensor / TOA
spectral radiance: W/m2/sr/µm'.
b) Atmosphere_radiance_after_coupl.binary.
b)
Table 24: atmosphere_transfer_function_from_MA.binary. Here, same options as for Table 25.
75
scat
scat
Table 25: atmosphere_transfer_function_from_MA.binary. Transfer functions: TFBA-HA
(Ω↑ ,Ω↑ ), TFBA-Sensor
(Ω↑ ,Ω↓ ),
scat
scat
dir
dir
↑ ↑
↑ ↓
↑ ↑
↑ ↓
TFBA-Sensor (Ω ,Ω ), TFBA-BA (Ω ,Ω ), TFBA-HA (Ω ,Ω ) + offset, TFBA-Sensor (Ω ,Ω ) + offset. Options in Table 25.
• AtmosphereReport.txt (folder BANDn of each band n).
It is created by dart module (Table 31). It stores:
- energy intercepted, absorbed, incident on TOA & BOA (total sum must be a constant) during sun illumination
(W/µm) and "BOA → TOA" transfer (no unit: initial energy per direction = 2048) per iteration of atmosphere R.T.
The number of iterations is lmited by its maximal value and a threshold set in the "Atmosphere" menu.
- BOA SKYL and irradiance (Edir: direct sun, Ediff: atmosphere, Ecoupl: "Atmosphere - Earth" coupling, Etotal: total;
2 units: W/m2/µm and %), with no, unique and infinite atmosphere backscattering
* ATMOSPHERE IRRADIANCE
*
- Total incident energy : 1593.82 [W/µm] ; total surface [m2] : 1
- IterationIntercepted (to be scattered)
Absorbed Energy onto TOA, BOA Total absorbed in previous iterations
01070.4
156.6
0
366.815
0
1593.82
1637.147
76.5281
217.218
506.323
156.6
1593.82
-----------------------------------------------------------------------------------… …
…
…
… …
…
240.007016440.000810372
486.125
758.865
348.818
1593.82
* ATMOSPHERE TRANSFER FUNCTIONS
*
- Total incident energy per direction (default value; no unit) : 2048
- Average energy directly reached TOA per direction: 301.186
- Average energy remains for diffusion and absorption: 1746.81
* Diffusion Process *
- IterationIntercepted (to be scattered)
0 1581.74
165.079
1 946.691
101.147
… …
…
180.207611 0.0239782
Sum of all [W/µm]
Absorbed Energy onto TOA, BOA Total absorbed in previous iterations Σ (mean: ↑ directions) [no unit]
0
0
0
1746.81
167.631
366.266 165.079
1746.81
…
…
…
…
500.39
814.001 432.192
1746.81
* ATMOSPHERE IRRADIANCE INFORMATION *
- Before atmopheric backscattering :
SKYL = 51.6629%
Edir: 366.815 ; Ediff: 392.053 ; Ecoupl: 0.000000% ; Etotal: 758.868 [W/m2/µm]
Edir: 48.3371% ; Ediff: 51.6629% ; Ecoupl: 0.00% ;
- After a single atmosphere backscattering
SKYL = 53.4785%
Edir: 366.815 ; Ediff: 392.053 ; Ecoupl: 29.618 ; Etotal: 788.486 [W/m2/µm]
Edir: 46.5215% ; Ediff: 49.7222% ; Ecoupl: 3.75631%
76
Earth hemispheric albedo (q): 0.1
Atmospherical albedo (s): 0.616661
- After an infinite atmosphere backscattering : Extrapolation ratio: 0.00405262
SKYL = 53.4856%
Edir: 366.815 ; Ediff: 392.053 ; Ecoupl: 29.738 ; Etotal: 788.607 [W/m2/µm]
Edir: 46.5144% ; Ediff: 49.7147% ; Ecoupl: 3.77096%
Earth hemispheric albedo (q): 0.1
Atmospherical albedo (s): 0.616661
Table 26: Example of AtmosphereReport.txt file.
Sensor spectral sensitivity
- Sensor spectral sensitivity s(λ): - 1st line: λmin -ε (λmin : 1st wavelength with non zero gain)
- 2nd line: λmin xxx
Per line: λ gain
- …..
Menu: Band calculation tools
- before last line: λmax xxx wavelength slightly smaller than.
In database/SensorSpectralFunction - Last line: λ +ε 0.00 (λ : last wavelength with non zero gain.
max
max
- Sensors.txt (menu 'Sensor / Frame Camera'): multi- C1_x C1_y C1_z C1_intrinsic rotation C1_θ C1_φ Dx1 Dy1
frame-camera C. 1 line per C: C position C rotation
C2_intrinsic rotation C2_θ C2_φ Dx2 Dy2
(°) C ground area (projected zone on the ground C2_x C2_y C2_z……………………………
(m). Separator: space, tabulation.
φ1,1 φ1,2 …. φ1,n
θ1,1 θ1,2 …. θ1,n ……………..
- theta.txt, phi.txt (menu 'Sensor / Pushbroom'): θ, φ (°) for pixels of pushbroom ……………..
image at ground level (scene minimal altitude). Separator: space, tabulation. θm,1 θ1,2 …. θm,n φm,1 θ1,2 …. φm,n
Band directional reflectance, temperature and radiance: brf.nc
(θ, φ, Xi(θ,φ)) with X = ρ, T or L, i = spectral band and u = BOA, sensor or TOA, possibly per iteration and scene element.
θ1
θ2
θ2
φ1
φ2,1
φ2,2
Xo(θ1,φ1) Xo(θ2,φ2,1) Xo(θ2,φ2,2)
X1(θ1,φ1) X1(θ2,φ2,1) X1(θ2,φ2,2)
...
...
...
….
….
….
Table 27. Data stored in brf.nc.
Simulation.properties.txt and dart.txt
• Simulation.properties.txt: DART modules input / output data. Keys indicate which module creates and/or uses it.
direction.additionalSpot0.directionIndex:1
direction.additionalSpot0.generateImage:0
direction.dayOfTheYear:-1
direction.deltaThetaApp:0.349065850398866
direction.direction0.angularSector:0
--------------------------------------
Table 28: Simulation.properties file (left) and its viewer in the "View" menu (right).
• dart.txt: a few DART input data and results (i.e., ETOA, EBOA, ABOA, MBOA,... per band) that can be used to check the
simulation. Scene albedo ABOA / Brightness temperature TBOA and also exitance MBOA are per DART iteration and
for an infinite extrapolation. They result of angular integrals of scene directional radiance. Note that the albedo
image is the integral over the only stored DART ortho images. The extrapolated "A /T" allows one to determine
the smaller number of iterations necessary to get an accurate "A /T. See Figure 128 for an example.
Raster files (DART images, DEM,...)
Their format is that of ILWIS binary file (name.mp# + header file name.mpr) (Table 29). It is becoming GeoTIFF.
[Ilwis]
Description=Raster Map ima01_VZ=0.0_VA=0.0
Time=0
Type=BaseMap
[BaseMap]
CoordSystem=unknown.csy
CoordBounds=0 -9 9 0
Domain=value.dom
Raster name
No coordinate system
Type=Map
MinMax= 0.136069: 0.981733
[Map]
GeoRef=ima01_VZ=0.0_VA=0.0.grd
Size=9 9
Type=MapStore
[MapStore]
Data=ima01_VZ=0.0_VA=0.0.mp#
Min / Max of
raster file
Georeference system name:
link between image row /
lines & metric coordinates.
77
Raster name
DomainInfo=value.dom;Long;value;0;-9999999.9:9999999.9:0.1:offset=0; Type=Real
Structure=Line
Range=-1e+300:1e+300:0.000000:offset=0
StartOffset=0
Range of data coding (here: "double" of "C" language)
RowLength=9
Table 29. Example of ILWIS header file. "CoordBounds" and "Size"are the only fields that DART needs.
Radiative budget (RB) of voxels and triangles
* Intercepted Scattered Emitted Absorbed Intercepted (back) Scattered (back) Emitted (back) Absorbed (back) surface area[m2] *
0.602
0.229
0
0.373
0
0
0
0
0.5
0.607
0.231
0
0.377
0
0
0
0
0.5
0.936
0.375
0
14.946
5.983
0
8.974
5.00E-05
0.562
a) ….
….
….
….
….
….
….
….
….
* Height Intercepted Scattered Emitted Absorbed -ZFaceExit -ZFaceEntry +ZFaceExit +ZFaceEntry +XFaceExit TotalExit TotalEntry *
1.5
0
0
0
0
1.000
0.186
0.186
1.000
0.159
1.518
1.518
1.25
0.199
0.080
0
0.120
0.883
0.188
0.186
1.000
0.148
1.385
1.504
1
0.192
0.077
0
0.115
0.775
0.196
0.188
0.883
0.131
1.243
1.358
0.75
0.177
0.071
0
0.106
0.683
0.209
0.196
0.775
0.127
1.152
1.258
0.5
0.164
0.066
0
0.098
0.605
0.230
0.209
0.683
0.108
1.074
1.173
b) 0.25
0.605
0.230
0
0.375
0
0
0.230
0.605
0.106
0.478
0.853
* Intercepted *
* Intercepted *
Table 30. RB files of Figure 16. See Radiative budget
.....
.....
* Scattered *
* Scattered *
(RB) for units and definitions.
.....
.....
* Emitted *
*
c) * Emitted
a) RadiativeBudgetFigures (Table 68): per facet.
......
......
* Absorbed *
*
Absorbed
*
......
b) RadiativeBudget_profile. c) RadiativeBudget_3D. d)
......
* +ZFaceExit *
d) RadiativeBudget_3D_ground, 3D_typeNum=u.
* Type Intercepted Scattered
Emitted Ab
.....
2
0.605
0.230
0
0 * +ZFaceEntry *
.....
e) RadiativeBudget_Triangles: per type of element.
5
0.726
0.290
0
0 * -ZFace…….*
e)
BroadBand files
Broad band products can be computed using spectral weights (e.g., sensor spectral sensitivity: IV.14)
• BroadBand_data.txt: it has 6 columns and a number of lines equal to the number of spectral bands:
Equivalent wavelength Central wavelength
Narrow
Interpolated
BOA spectral
BOA spectral
of narrow band (µm) of narrow band (µm) bandwidth (µm) gain (no unit) irradiance (W/m2/µm) exitance (W/m2/µm)
………
………
………
………
………
………
• Exitance.txt: broadband exitance in W/m2 and W/m2/µm.
• Irradiance.txt: broadband irradiance in W/m2 and W/m2/µm.
• RadiativeBudget_3D & RadiativeBudget_profile: 3D (cell) & 1D (scene layer) broadband radiative fluxes:
- downward flux through each cell / scene layer top face,
- absorbed flux by each cell / scene layer,
- upward flux through each cell / scene layer cell top face,
- scattered flux by each cell / scene layer
- intercepted flux by each cell / scene layer,
• RadiativeBudget_per_element: broadband irradiance (W/m2) and for each scene element the downward
(incident), upward, intercepted, absorbed and scattered fluxes.
Fluorescence: input and output files
fluorescence_x_y.txt (lib_phase folder): the Phase module creates it; x=type of turbid material (cf. 4)), y=index of
Vegetation optical property (y=0 for the 1st element). It stores the 4 Fluspect matrices, after their spectral
resampling to DART bands, in the following order: backward PSI, backward PSII, forward PSI, forward PSII.
In the case of N bands, each matrix is:
band 1 → band 1 … band 1 → band N
…
…
…
band N → band 1 … band N → band N
y.Leaf_fluorescence (lib_phase folder): TSIF(Ωin,Ωout) function created by Phase module, similarly to {Tdiff(Ωsun,Ωi),
Tdiff(Ωsector,k,Ωi), TGdiff(Ωi)}in section 2). y=index of Vegetation optical property; y=0 for the 1st element.
yieldsPerTriangle.txt: PSIfluorescence yield and PSIIfluorescence yield per triangle (1 line / triangle). PS yields are the same
for all triangles if the file stores 2 values only.
78
profileEta.bin or profileEta.txt: same format for etau and etah: "line 1: Nlayer (number of
layers) Nθ (number of θ values) Nφ (number of φ values)", "line 2: values of θ", "line 3:
values of φ", "lines 4 to Nlayer +3: eta values". Nθ =Nφ =1 for etah . SCOPE default
values: Nlayer =60, Nθ =13 (θ∈[5:10:75 ;81:2:89]) and Nφ =36 (φ∈[5:10:355]).
IV.2 DART-FT
Maket.txt
The Earth scene mock-up (i.e., 3D cell matrix) can be stored with DAO associated format or as a text file (Maket.txt:
Table 35). Cells have the same format: index of the cell content (e.g., 4 for roads: Table 36), number Nfig of facets,
index of each facet, number Nturbid of turbid media, and for each one the LAI and leaf phase function.
Index
Nb Facets
N° Facet 1, Facet 2,…
Nb Turbids
LAI 1 N° leaf phase function1 LAI 2
….
(0: empty cell,…) (long unsigned int)
(unsigned int)
(long unsigned int) (float)
(unsigned int)
(float)
Volume density N1
N° particle phase function1 (type 0 or 1)
Nb particles
N° Temperature 1
….
αe,1 = N1.σe,1
Type 0: {σe(λ), ω(λ), a(λ), c(λ), δ(λ)},
(gas, aerosol,..)
(unsigned int)
(float)
Type 1: {σe(λ), ω(λ), a(λ), g1(λ), g2(λ)} (unsigned int)
Table 31: Format of each DART cell in maket.txt. Terms {σe(λ),…} are in the simulation.properties.txt file. Dart
module uses them. They can be user defined or derived from the Atmosphere database.
3.0 3.0 3.0 - scene dimensions
1.0 1.0 1.0 - cells dimensions
- number of cells in a scene layer
9
2 1 0 0 0 2 1 0 1 1.36 0 0 2 1 0 1 1.36 0 0
2 1 0 0 0 2 9 0 1 2 3 4 5 6 7 8 1 1.36 0 0 2 1 0 1 1.36 0 0
2 1 0 0 0 2 1 0 1 1.36 0 0 2 1 0 1 1.36 0 0
000
0 11 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 0 0
0 0 0 Lower scene layer 1.3 = LAIplot because plot height =1
000
2
0 6 0 1 36.0 0 0 0 36 = 3 .LAItree, because
Number of crown cells = 1
000
N_T T (turbid) Opaque_nT
Opaque
Opaque_DEM
Opaque_plat
000
000
000
Table 32: Example of maket.txt file.
∆X=∆Y=3m. ∆x=∆y=∆z=1m. Trapezoid
tree
{Htrunk=1.99m,
crown=1cell,
LAItree=4}. Bottom cells (index 2): Ground
+ Vegetation plot {(0,1) - (3,3),
LAIplot=1.36}.
DART empty layer at the
top of the Earth scene
Air
1
Ground
Water
Road
Plot_Opaque
Ground_DEM
Water_DEM
Road_DEM
Plot_DEM
Wall
Roof
Trunk
Branch
2
3
4
13
Mode (R)
Scattering from 2 barycenters. Within cell
interception is scattered at next iteration.
Mode (T)
3D emission from cell faces, using
pre-computed values.
2D scattering from cell face center
2D emission from cell face center
2D scattering from the emission point
that is closest to energy barycentre on
the DEM (MNT) triangle and above it
2D emission from the emission point
that is closest to energy barycentre on
the DEM (MNT) triangle and above it
7 (≡ 2)
8 (≡ 3)
9 (≡ 4)
14
10
12
11
18
Opaque_nT
16
Plot
Crown
Twig
N_T
(N_turbid)
5
6
15
17
2D scattering from the emission point
2D scattering from the emission point
that is closer to triangle energy
that is closer to triangle energy
barycentre (above the triangle for
barycentre and "above" it
reflectance; below it for transmittance)
Same as urban + N_turbid
2D scattering from the emission point 2D emission from the emission point
closer to triangle energy barycentre
closer to triangle energy barycentre
3D scattering from cell energy barycentre
3D emission from an emission point
(1 / cell face / incident angular sector).
on cell face (1 / cell face / direction).
Ray path from closer emission point
Several turbid species ( LAD, optical properties):
same as Turbid with an emission point per turbid species
79
Object 3D ≥100 and
2D scattering / emission,
imported 'user defined' or 3D scattering / emission if triangles were transformed into turbid medium
Table 33: Indices of scene elements in the maket.txt file. DEM: digital elevation model (MNT in French)
Triangles files: triangles.txt, %cover
- Triangle.txt binary file (Table 37). In DART-FT, all triangles of the mock-up (e.g., walls) are in the same order
as triangle radiative budget files. This order varies per "Maket" run, because "Maket" is multithreaded.
1 0 0 0 40.000000 0 0 40.000000 40.000000 0 0 0 0 0 0 0 0 2
1 10.000000
10.000000 0.000000 15.000000 10.000000 0.000000 15.000000 10.000000 2.500000 0 0 0 1 0 0 0 10
...........................................................................................................................................
Table 34: Triangle.txt file. Per line: triangle (0) or parallelogram (1) - (x,y,z) coordinates of the 3 triangle
corners - Type of scatterer (i.e., lambertian,..) - Scatterer property index - Temperature property index
- Simple (0) or double (1) face - Type of scatterer (i.e., lambertian,..) - Scatterer property index Temperature property index - Type of surface (ground: 2, wall: 10,…; Table 18).
- coverRate images (folder coverRate): images that indicate the cover rate of all elements and per element.
IV.3 DART-RC
Input files
The folder “…/DART/database/Lidar_files” provides the examples of three input files.
- Impulse_time.txt (Figure 99.a): 1D temporal distribution of emitted laser pulse.
- Impulse_spatial.txt (Figure 99.b): 2D spatial distribution of emitted laser pulse (N(x1,y1), N(x2,y1),.... Map
spatial separation and x / y offsets from the map center to the pulse center must be set.
- Swath_ALS.txt (Figure 99.c): x,y,z,q,f,h per line (pulse). Any point (x,y,z: in meter) along each pulse path,
viewing zenith θ ([0°(nadir) 90°]) and azimuth φ ([0°(south) 360°], counterclockwise direction) angles from
target to Lidar, Lidar height h (in meter). For "Multiple pulse / ALS".
c)
a)
b)
Figure 101. Menu of LiDAR input files.
Output files: Single pulse
- pulse.txt: time variation of the emitted laser pulse. Used to convolve raw DART lidar signal (LIDAR_DART_wave.txt).
1ns sample rate.
Table 35: Pulse.txt example:
bin, time, normalized energy.
3ns sample rate.
- LIDAR_DART_wave.txt (LIDAR_DART_wave_1stOrder.txt): raw DART waveform (i.e., photons emitted at same time).
0
1
2
3
4
-2.00e+001
-1.90e+001
-1.80e+001
-1.70e+001
-1.60e+001
-5.996e+000
-5.696e+000
-5.396e+000
-5.097e+000
-4.797e+000
--------------------------------19 -1.00e+000
-3.00e-001
20 0.00e+000
0.00e+000
21 1.00e+000
3.00e-001
22 2.00e+000
5.996e-001
---------------------------------
0.00e+000
0.00e+000
0.00e+000
2.64e+006
0.00e+000
0.00e+000
4.72e+006
1.905e+003
2.132e+003
Table 36: LIDAR_DART_wave.txt example: bin, time (ns), path length (m), number of photons. Ground bin is 20 here.
- LIDAR_CONVOLVED_wave.txt (LIDAR_CONVOLVED_wave_1stOrder.txt): raw waveform convolved with emitted pulse
-45 0.611617
-44 2.90936
-43 9.78587
-42 23.2748
-41
-40
-39
-38
39.1435
46.5497
39.1435
23.2748
-37
-36
-35
0
9.78587
2.90936
0.611617
0
0 0
0 0
-----0 0
0 0
-5 1.1213
-4 5.33382
-3 17.9408
-2 42.6706
-1 71.763
0 85.3411
1 71.763
2
3
4
5
42.6706
17.9408
5.33382
1.1213
80
Table 37. LIDAR_CONVOLVED_wave.txt example: time relative to the ground, number of photons.
- photonInformations.binary (only in DART-RC): Lidar 3D view uses it. Possibly very large.
19994.910
19994.910
19994.910
20000.002
20000.002
20000.002
1
1
1
1
1
1
9.80E-11
9.80E-11
9.80E-11
3.95E-10
3.95E-10
3.95E-10
3
3
3
20
20
20
12
12
12
2
2
2
0
0
0
1
1
1
1.89E+01
1.89E+01
1.90E+01
2.41E+01
2.40E+01
2.40E+01
1.00E+01
1.00E+01
1.00E+01
2.15E+01
2.15E+01
2.14E+01
2.55E+00
2.55E+00
2.55E+00
0.00E+00
0.00E+00
0.00E+00
1.89E+01
1.89E+01
1.90E+01
2.41E+01
2.40E+01
2.40E+01
1.00E+01
1.00E+01
1.00E+01
2.15E+01
2.15E+01
2.14E+01
2.55E+00
2.55E+00
2.55E+00
-1.40E-07
-1.36E-07
-1.37E-07
Table 38. Example of photonInformations file: Photon total path (m), Number of scattering events,
Photon weight, Bin index, Type of last scatterer, Boolean (0/1) that indicates if the photon
interacted with the ground, Coordinates (x,y,z) of the last scattering point, 3D (x,y,z) waveform.
- statIllumination_MC0.txt (only DART-RC)
Statistical results about lidar photons.
Sum of photons: numbers of photons
that are launched, that escaped the
scene, that were absorbed, that
reached the ground (index 1), that
were lost,…
Order 1 sum of photons: numbers of
1st-order photons that are scattered
and absorbed, etc.
Table 39: Example of file
stat_illumination_MC0.txt
- LiDAR images (DART-RC): LidarBOA.mp#, LidarBOAMaketFrame.mp#, LidarBOAReflectance.mp#,
LidarPulse.mp#, PhotonReachedGround(MaketFrame).mp#, PhotonReachedMaket(MaketFrame).mp#
- LiDAR images (DART-Lux LiDAR mode):
ima_camera_lidar_i_j.mp#: number of returned photons projected at lidar location; i = grid line (i.e., azimuth) and j
= column (i.e., range) of lidar pulses. i = j = 0 for single pulse. It is the sum of all "ima_camera_lidar_i_j_bin=k.mp#".
ima_camera_lidar_i_j_bin=k.mp#: returned laser power image at k bin. In Figure 100, “bin=133” corresponds to
the ground elevation (Figure 100.c). If bin number >133, the returned photons are from the multiple scattering, the
image records the apparent location of scatterers (Figure 100.e).
Ima_camera_lidar_0
_0.mp#
Ima_camera_lidar_0
_0_bin=133.mp#
Ima_camera_lidar_0
_0_bin=99.mp#
Ima_camera_lidar_0
_0_bin=144.mp#
Figure 102. Example of LiDAR image products in DART-Lux LiDAR.
Output files: Multi pulse
- LIDAR_IMAGE_FILE.binary (Yin et al., PhD, CESBIO, 2015) (Table 43): It stores NAcq lidar waveforms
acquisitions. It has 4 parts: i) Bytes [1 50]: Product name and version number N.NN (e.g., 1.00, 1.01, ..., 1.10, ..., 2.00); ii)
Bytes [51 62]: Format description record; iii) Bytes [63 90]: Global parameters record; iv) Bytes [91 …]: Data record.
Type
Product name (1-50)
Byte
1 - 50
Format
char
Description
LIDAR_MULTIPLE_XY_ACQUISITIONS_VERSION_N.NN
81
Format description
record (51-62)
Global parameters
Record (63-90)
Parameter
record
CW
1st CW
NCW
1st NCW
Data
record of
Nb_Acq
pulses
(91-…)
Statistics
record (it
exists only
if "
ifStatinfo
= true")
1-4
5-8
9
10
11
12
1-8
9 - 16
17 - 20
21 - 24
25 - 28
1-8
9 - 24
25 - 48
49 - 72
73 - 80
81 - 88
89 - 92
1 - Nb_Bin_CW
* N_byte
1 - Nb_Bin_CW
* N_byte
1 - Nb_Bin_NCW
* N_byte
1 - Nb_Bin_NCW
* N_byte
unsigned int
unsigned int
boolean
boolean
boolean
boolean
double
double
unsigned int
unsigned int
unsigned int
double
double * 2
double * 3
double * 3
double
double
unsigned int
w_format *
Nb_Bin_CW
w_format *
Nb_Bin_CW
w_format *
Nb_Bin_NCW
w_format *
Nb_Bin_NCW
Data type: 0 (lidar waveform: default).
Scanning type: 0 (not applicable). 1: spinning polygon (default). 2: sawtooth. 3: sinusoid. 4: ellipsoid
w_format N_byte (Data format): true (float: 4 bytes), false (double: 8 bytes)
ifNonConv: True (non convolution is stored), false (otherwise)
if1order: True (1st order is stored), false (otherwise)
ifStatinfo: True (statistical information is stored), false (otherwise)
Time duration of each bin
Distance step of each bin
Nb_Bin_CW: Number of bins for each convolved waveform
Nb_Bin_NCW: Number of bins for each non convolved waveform
Nb_Acq: Total number of acquisitions
Look angle (in rad) (from -pi/2 (left) to pi/2 (right))
Incident angles: theta, phi (in rad)
Incident unit distance: x, y, z (in meter)
Platform position: x, y, z (in meter)
Beginning time of the convolved waveform
Beginning time of the non-convolved waveform
Number of bins from sensor to center of FOV
Lidar convolved waveform
Lidar 1st order convolved waveform
(it exists only if "if1order = true")
Lidar non convolved waveform
(it exists only if "ifNonConv = true")
Lidar 1st order non convolved waveform
(it exists only if "ifNonConv = true" and "if1order = true")
1-4
unsigned int Maximum number of scatteringr
number of scattering within a cell
5-8
unsigned int Maximum
Total weights of launched dart photons
w_format
9-(9+41*N_byte
Total launched actual LIDAR photons
(per
Sum of photons (absorbed, scattered)
– 1)
information) Sum of photons (absorbed)
…..
Sum of photons (scattered)
…..
Sum of photons scattered towards lidar
Sum of photons measured
1st order sum of photons (absorbed, scattered)
1st order sum of photons (absorbed)
1st order sum of photons (scattered)
1st order sum of photons scattered towards lidar
1st order sum of photons measured
↓ Atmosphere Tracking (DAT) Sum of photons (absorbed, scattered)
DAT sum of photons (absorbed)
DAT sum of photons (scattered)
DAT sum of photons scattered towards lidar
DAT sum of photons measured
1st order DAT sum of photons (absorbed, scattered)
1st order DAT sum of photons (absorbed)
1st order DAT sum of photons (scattered)
1st order DAT sum of photons scattered towards lidar
1st order DAT sum of photons measured
Incident number of photons on the earth scene (EC)
Direction incident number of photons on the EC
Number of photons reached the ground
Number of photons goes under ground (should be 0)
EC sum of photons (absorbed, scattered)
EC sum of photons (absorbed)
EC sum of photons (scattered)
EC sum of photons scattered towards lidar
EC sum of photons measured
1st order EC sum of photons (absorbed, scattered)
1st order EC sum of photons (absorbed)
1st order EC sum of photons (scattered)
1st order EC sum of photons scattered towards lidar
1st order EC sum of photons measured
↑ Atmosphere tracking (UAT) Sum of photons (absorbed, scattered)
UAT sum of photons (absorbed, scattered)
UAT sum of photons (absorbed)
UAT sum of photons (scattered)
UAT sum of photons scattered towards lidar
UAT sum of photons measured……..
Table 40. Format of LIDAR_IMAGE_FILE.binary file.
- LIDAR_IMAGE_panel.txt: {i (grid line), j (grid column), look angle (>0 for Lidar right view, <0 for Lidar left view),
viewing zenith (>0) and azimuth angles, illuminated and viewed disks radii at ground level in Lidar reference,
footprint centers and Lidar sensor locations (x,y,z) in the Earth scene reference} per node of the swath grid.
82
Table 41. Example of LIDAR_IMAGE_panel.txt.
- LIDAR_IMAGE_STATUS.txt
It informs on simulation advance through a simultaneous
update with the LIDAR_IMAGE_FILE.binary file.
Table 42. Example of LIDAR_IMAGE_status.txt.
- Images 'LiDAR': they show all pulses, except the LidarBOA, LidarBOAReflectance and LidarPulse images.
- DetectedPoints.txt in multi-pulse discrete return mode: Coordinates (x,y,z) of point cloud in Earth scene reference,
Index of pulse, Number of returns, Index of returns, Intensity information related to “output intensity value type”.
Table 43. Example of Discrete return DetectedPoints.txt (option "Gaussian Decomp. All").
- DetectedPoints.txt in multi-pulse photon counting mode: Coordinates (x,y,z) of photon cloud in the Earth scene
reference, Index of pulse.
Table 44. Example of Photon counting
DetectedPoints.txt.
• Output files: Solar noise
- Solar images (DART-RC): ima_camera_lidar_SN_i_j_VZ=***_*_VA=***_*.mp#
- Solar images (DART-Lux LiDAR mode): ima_camera_SN_i_j.mp#,
- Solar_noise.txt (Table 48): {i (grid line), j (grid column), average sun radiance (W/m2/sr/µm), Solar power
received by LiDAR (W), Solar energy per bin (J), Number of sun photons per bin}.
- rad0.txt (Table 49): a i*j array, average solar radiances of all nodes.
Table 45. Example of Solar_noise.txt.
Table 46. Example of rad0.txt.
83
IV.4 DART-LUX
The scene elements and their properties (i.e., scene objects, materials, textures,...) are defined using the Scene
Description Language (SDL: wiki.luxcorerender.org/LuxCore SDL Reference Manual v2.6).
_
_
_
_
Files phase.scn, maket.scn and atmos.scn
- phase.scn (from Phase module): data (for a lambertian surface: emission gain ε = 1-(r+t), kd=r, kt=t/(1-r)) per band
per optical property material, data per temperature property and filenames of volume scattering transfer functions.
- maket.scn (from Maket module): geometric transformation (location, scaling, rotation) of each object, including
the scene repetitions. It can be huge for scenes with many objects (e.g., turbid volumes) and large Nscene repetition.
- atmos.scn (from Atmosphere module): data for the "Monte Carlo" atmosphere radiative transfer mode.
- scene.cfg: number of spectral bands and reference of a scene (i.e., scene.scn) to be used if no scene is defined.
Figure 103. Simulation LuxFileFormat. a) 1 x 1m ground (ρlambertian0) + field
of 2 squares: (∆l= z=0.5m; scale 0.4; no rotation), (∆l=0.6m, z=1m; scale 0.3;
rotation 0°/-30°/0°)}. Square: 2 triangles, 2 groups (leaf: ρlambertian1, color leaf:
index 102; stem: ρlambertian2, color trunk: index 103) ⇒ 5 objects. T: 300K;
∆T: 20K. b) λ�: 0.56µm; ∆λ: 0.02µm, mode R. c) λ�: 10µm; ∆λ: 0µm, mode T.
ρscene(0.56µm)
3D scene
Phase.scn
Material 1 Material 0
scene.lights.sky.color=395.644 14.8433
scene.lights.sky.generator=phase
scene.lights.sky.isotropic=1
scene.lights.sky.type=sky_DART
scene.lights.sunlight.color=1097.98 0
scene.lights.sunlight.direction=0.353553 0.353553 -0.866025
scene.lights.sunlight.generator=phase
scene.lights.sunlight.id=1
scene.lights.sunlight.type=sharpdistant
scene.materials.lambertian0_0.emission.gain=0.933344167344512 0.97485822657664
scene.materials.lambertian0_0.kd=0.0666558326554879 0.02514177342336
scene.materials.lambertian0_0.temperatureIndex=0
scene.materials.lambertian0_0.type=matte
scene.materials.lambertian1_0.emission.gain=0.824063582752241 0.965550232761553
scene.materials.lambertian1_0.kr=0.101101971016492 0.0197988280284627
scene.materials.lambertian1_0.kt=0.0832513186349858 0.0149468697129955
scene.materials.lambertian1_0.temperatureIndex=0
scene.materials.lambertian1_0.type=mattetranslucent
….. Material 2: lambertian2 …..
ΤB(10µm)
Comments
Band irradiance computed by the Phase module
Atmosphere radiation is isotropic
Direct sun irradiance in the 2 bands
Sun direction (unit vector)
Sunlight is mono directional
Lambertian0 (ρground): - Emissivity (bands 1 & 2)
- Reflectance (bands 1 & 2)
Index of temperature = 0
Lambertian0 is only lambertian
Lambertian1 (ρleaf): - Emissivity (bands 1 & 2)
- Reflectance (bands 1 & 2)
- Transmittance (bands 1 & 2)
Index of temperature = 0
Lambertian1 is lambertian and translucent
….. Material 2: lambertian2 …..
Maket.scn
Comments
Diverse data
scene.objects.object0_-1_-1.id=103
scene.objects.object0_-1_-1.material=_MKT0_
scene.objects.object0_-1_-1.material=lambertian2_0
scene.objects.object0_-1_-1.ori=plys/triangle1.ori
scene.objects.object0_-1_-1.ply=plys/triangle1.ply
scene.objects.object0_-1_-1.transformation=0.400 0 0 0 0 0.400 0 0 0 0 0.400 0 -0.5 -0.5 0.5 1
….
scene.objects.object0_-1_0.id=103
scene.objects.object0_1_1.material=_MKT0_
scene.objects.object0_-1_0.ori=plys/triangle1.ori
scene.objects.object0_-1_0.ply=plys/triangle1.ply
scene.objects.object0_1_1.transformation=0.400 0 0 0 0 0.400 0 0 0 0 0.400 0 -0.5 0.5 0.5 1
Object 0 copied at (-1,-1): - index 103 (trunk)
- Lambertian2
0.4 0 0 -0.5
- from triangle1.ply
� 0 0.4 0 -0.5�
0 0 0.4 0.5
- geometric 4 x 4 matrix
0
0
0
1
….
Object 0 copied at (-1,0): - index 103 (trunk)
- Lambertian2
0.4 0 0 -0.5
- from triangle1.ply
� 0 0.4 0 0.5 �
0 0 0.4 0.5
- geometric 4 x 4 matrix
0
0
0
1
Table 47. Files phase.scn and maket.scn of simulation LuxFileFormat (Figure 101): 5 objects located in 3 *.ply files.
File *.ply and *.ori
DART-Lux transforms any .obj file with N groups into triangles that are stored in N .ply files
(https://en.wikipedia.org/wiki/PLY_(file_format) with properties: color and transparency, surface normals, texture
coordinates,... Properties of front and back faces can differ. The example in Table 47 has 3 .ply files: triangle0.ply
(1 triangle), triangle1.ply (1 triangle) and _FlatGroundDEM_.ply (2 triangles). The menu "View / …" can convert any
.ply file to a txt file. The .ori binary file stores for each triangle the index (i.e., line number in the .obj file) of its
corresponding surface in the .obj file. The index of triangles with no corresponding surfaces in the .obj file is -1.
84
ply
format ascii 1.0
element vertex 3
property float x
property float y
property float z
element face 1
property list uchar uint vertex_indices
end_header
0.5 0.5 0
3 vertices
-0.5 0.5 0
-0.5 -0.5 0
the facet has 3 vertices
3012
Table 48. Triangle1.ply of simulation LuxFileFormat: 3 vertices, 1 face.
File RadiativeBudgetFigures.txt
* TriangleIndex
Intercepted Scattered Emitted Absorbed Interceptedback Scatteredback Emittedback
ObjectName: object0_0_0 Object 0 located at (0,0)
0
0.98538 0.20119
0
0.784197 0.0485168 0.00990595
0
ObjectName: object1_0_0
0
0.90207 0.060128 0
0.841944
0
0
0
1
0.69204 0.046129 0
0.645918
0
0
0
ObjectName: object2_0_0
0
0.9834 0.173026 0
0.810434 0.0490672 0.00863271
0
ObjectName: object3_0_0
0
1.0295 0.181141 0
0.848441 0.0606856 0.0106768
0
ObjectName: object4_0_0
0
1.0306 0.210428 0
0.820194 0.0641971 0.0131075
0
Absorbedback Area[m2] *
DART-FT
0.0386109
0.08
Intercepted
0.976
0
0
0.5
0.5
0.88
0.66
0.0404345
0.08
0.975
0.050008
0.045
1.032
0.0510896 0.045
1.033
Table 49. RadiativeBudgetFigures.txt (band 0 of simulation LuxFileFormat). Values depend on input parameters.
File cellVolumes.txt
It is used only for the computation of radiative budget of volumes. It stores for each cell containing a
volume: the x, y, z indices of the cell, type of the volume, volume index and volume density.
85
V. General advices
Computer time (CT) and memory (RAM) increase with the size and complexity of the simulated landscape, number of
products and spatial resolution. Default DART input parameters are for a good "Accuracy ⇔ CT, RAM" trade-off; ⇒
modify them with care. Files are first searched in the input folder, then in the user database, then in the DART database.
With Windows systems, use ANSI coding for the format of text files. CT can be significantly reduced if you:
- Deactive the antivirus for the DART folder (only this one!) that contains the DART code and simulations.
- Deactivate the file indexation (
) on the disk partition used by DART, at least for SSD disks.
- Deactivate the "Windows search service" (
) in "Services".
Java memory may need to be increased to manage large images: DART_JAVA_MAX_MEMORY=16g (file dartrc.bat)
1) Optical and temperature properties
Any number of optical and temperature properties can be used. Because computer time increases with the number
of defined volume properties to compute, one is advised to define only the properties that are actually used.
- Leaf biochemistry (Cab,…), optical properties and BRF: databases: http://opticleaf.ipgp.fr (Lopex,…).
- Plant architecture at different growth stages: https://ojs.openagrar.de/index.php/BBCH/article/viewFile/1841/2181.
Ca
(µg/cm²)
Green
53.7
49.4
49.2
17.4
17.2
15.2
1.8
1.7
0.6
0
0
0
Dead
0
Leaf
Table 50:
Wheat biochemistry at different growth
stages.
http://link.springer.com/chapter/10.1007/97894-009-2823-7_43
Cb
(µg/cm²)
16.3
16.9
14.7
6.7
6.7
5.6
1.4
0.9
0.2
0
0
0
0
Car
Thickness
Water
Specific area
(µg/cm²)
(mm)
content %
(cm²/mg)
16.1
0.205
67.6
0.163
14.1
0.178
67.7
0.214
14.6
0.216
67.1
0.177
5.7
0.182
61.7
0.257
6.4
0.279
75.4
0.273
5.5
0.181
66.6
0.27
3.7
0.232
60.6
0.211
4.6
0.217
64.7
0.197
2.5
0.206
69.9
0
0.229
9.8
0.288
0
0.247
6.9
0.27
0
0.219
6.9
0.303
0
0.26
5.6
0.303
2) Simulation of the Earth scene
Earth scene dimensions (Dx = Dy): it must include all the studied landscape of interest or its repetitive pattern.
Topography is perfectly handled if the landscape right (bottom) / left (top) sides have equal altitudes to a shift.
Spatial resolution ∆r of simulated images: ∆r is independent of the DART-Lux scene simulation and is equal to the
DART-FT cell horizontal dimension (∆x,∆y=∆x). A DART-FT sequence with varying ∆x can give the optimal ∆x for
which Lscene (∆x) / RBscene (∆x) converges. The tool 'ImageResampling.py' can resample images. DART-FT CT increases
if ∆x decreases for scenes made of turbid cells, and mostly depends on the number of facets for scenes made of facets.
Horizontal ground: it should be a 3D object to get an accurate RBground, to work with variable spatial resolution,…
Horizontally homogeneous scene: simulate the scene as a single cell (Dx = Dy = ∆x) to reduce CT, with LAIcell < 0.3.
To simulate simple turbid homogeneous scenes with 3D models is usually more challenging than to simulate complex
scenes because scene voxelization and Monte Carlo methods give rise to discretization effects conversely to analytical
models. However, these effects are usually neglible compared to the effects of the 3D structure of actual landscapes.
Slope + Vegetation simulated as turbid medium (left) and triangles (right). LAI=1.
3) Simulation of the Atmosphere
Layered atmosphere: - mid-atmosphere (MA): NMA,x.NMA,y cells (∆xMA, ∆zMA) per layer, up to height hMA.
86
- high atmosphere (HA): height hHA with layers of width ∆zHA, and 1 cell per layer.
The atmosphere "grid" (hMA, hHA,…) is user defined with "Manual" option, and automatically defined with the "Fast"
and "Automatic" options. The automatic "grid" is simulation specific. Hence, for a spectral sequence of simulations,
option "Manual" is advised to have the same atmosphere grid for all simulations.
Atmosphere radiative transfer computation time increases with smaller ∆xMA, ∆zMA and ∆zHA values
4) 'Forward' mode (DART-FT)
• Threshold T1: to stop low energy rays W
- Stop of unscattered sun rays Wsun if Wsun < T1.EBOA,dir.∆x.∆y, with BOA direct sun irradiance EBOA,dir.
EBOA .Δx.Δy.ΔΩ
- Stop of unscattered atmosphere ray and scattered rays W if W < .T1.
�scene ).Δx.Δy.ΔΩ
LB (T
- Stop of unscattered thermal rays if W < T1.
π
π
, with BOA irradiance EBOA.
�scene .
, with Earth scene mean temperature T
• Threshold T2: to stop a simulation if scene exitance is nearly constant between 2 successive iterations.
DART is stopped if
Σi Wk+1 (Ωi )- Σi Wk (Ωi )
Σi Wk (Ωi )
< T2, with Σi Wk (Ωi ) = total exitance at iteration k.
• Illumination grid D (default: 0.1m; scattering, 3D temperature) & Sub-division S (default: 0.01m2; thermal emission):
Dx.Dy
A
adapt them to scene Dx, voxel ∆x and scene ∆r dimensions. Nsun rays ≈ 2 . N facets of area A ⇒ N. thermal rays.
D
• Number of iterations Niter: computation time increases with N (default: 5).
• Store all iterations: use it only if necessary because it increases CT and computer memory.
S
• LUT: for saving CT and computer memory, store only the LUT and no other DART product if it is possible.
• Juxtaposition of DART images: objects (tree,…) on a side of a repetitive scene can cast shadows on the opposite
scene side, which complexifies their interpretation. The juxtaposition of images simplifies this interpretation.
• Oversampling DART images: it can improve the visual aspect of DART images.
• Sequence computer time: run only useful processes and use the multithread method.
• Spectra simulation {λi ; j∈[1 J]}: with large J and scene size, the needed RAM can be too large. A solution is to
compute spectra as N sub-spectra {λi,n ; n∈[1 N]} with same atmosphere discretization, enough BOA illuminating
rays to get a quasi exact ratio
Direct sun irradiance
Atmosphere irradiance
, and the same λ1,n ∀n to get identical centroids in turbid cells.
• How to avoid the creation of 1 folder per spectral band: unset the option "BRF/BTF mono-band" in "Product menu.
87
VI. Physical bases
Solid angle dΩ (sr) along direction Ω(θ,φ): angle in 3D space dΩ = sinθ.dθ.dφ (Figure 102)
Radiance: power along (Ω) per sr and apparent m2 of emitter/receiver surface Σ: Lλ(Ω): W/m2/sr/µm; LΣ,∆λ(Ω): W/m2/sr
Exitance: power (W) that exits a surface Σ (Figure 103) per m2 of Σ:
2
MΣ,λ = ⌠
⌡LΣ,λ(Ω).cosθ.dΩ W/m /µm
2
MΣ,∆λ = ⌠
⌡LΣ,∆λ(Ω).cosθ.dΩ W/m
EA
A
2π+
EA
2π+
2
Irradiance: power (W) that is incident on a surface Σ (Figure 103) per m of Σ:
2
EΣ,λ = ⌠
⌡LΣ,λ(Ω).|cosθ|.dΩ W/m /µm
A
2
EΣ,∆λ = ⌠
⌡LΣ,∆λ(Ω).|cosθ|.dΩ: W/m
EA
2π-
A
EA
2π-
740
 Luminance (cd/m2) = 683.∫380 V(λ).L(λ).dλ. Normalized luminous efficiency V(λ) in www.cvrl.org/lumindex.htm
π. LΣ,λ(Ω)
Reflectance factor of a surface Σ: ρΣ,λ(Ω) =
(Figure 104).
EΣ,λ
A
A
E
E
Lambertian surface: isotropic radiance Lλ(Ω) = cst ⇒ isotropic reflectance ρλ(Ω) = cst (Figure 105).
z
r.s i n θ.d φ Ω(θ, φ) Symbolic calculus: http://wims.unice.fr/wims/en_tool~analysis~function.en.html
Example (http://turrier.fr/maths-physique/angle-solide/surfaces-angles-solides.html): ΔΩ
r. d θ
dA
• Cone of half angle α: ∆Ω=2π.(1 - cosα)
θ dΩ
a
a
b
• Rectangle (a x b) at distance h on central axis (tanα= 2h , tanβ= 2h ):
a/2
r
top view
y
Σ
b/2 dx.dy.cosθ
∆Ω=4 ∫x=0 ∫y=0
(x2 +y2 +h2 )
2π
- a=b=2h ⇒ ΔΩ=
3/2
a.b
=4 asin(
�a2 +4h2 .�b 2 +4h2
3
)=4asin(
- a=∝: 2 planes with angle 2β: ∆Ωplanes = 4.asin(
φ
1+cosθp
• ∫ΔΩ↑ cosθv .dΩv=π.
x
2
θp
ΔΩ =2π-θp
ΔΩ↑
↑
b
tanα . tanβ
�1+tan2 α.�1+tan2 β
b
)
2
�b2 +4h
2β
Figure 104. Solid angle dΩ centred on direction Ω(θ,φ) from a surface Σ..
Eλ
)
h
Mλ
Lλ(Ω)
Lλ(Ω)
Figure 105: Surface irradiance Eλ (left) and exitance Mλ (right).
Different reflectance factors are used for taking into account the fact that radiation can be:
- along a unique direction (i.e., dΩ=0). This is called "direct". Below, its index is "d".
- within a cone (Ω, dΩ≠0). This is called "conical". Below, its index is "c".
- along an hemisphere (i.e., dΩ=2π). This is called "hemispherical". Below, its index is "h".
ρdd
ρcd
ρhd
ρdc
ρcc
ρhcc
ρdh
ρch
ρhh
Figure 106. Different types of reflectance (direct d, hemispherical h, conical c)
88
h
b
Illumination
direction Ωs
θs
Nadir Ωn
ρdd(θs,θv)
θv
Figure 107. ρdd(Ω) in the solar plane
Variable scattering direction for a given illumination
direction and 2 types of surfaces:
Specular
direction
- lambertian surface: ρdd(Ω) = cst. White surface
(ρdd = 1) and grey (ρdd = cst < 1).
Hot spot
direction
1
0.5
- natural surface: ρdd(Ω) changes. Often maximal for
the specular direction and local maximum for the
illumination direction.
1
0.5
- Bi-directional Reflectance Factor (BRF): ρdd(Ωs,Ωv,λ) =
- Reflectance Factor direct-hemispherical: ρdh(Ωv,λ) =
- Reflectance Factor hemispherical-direct: ρhd(Ωv,λ) =
- Reflectance Factor bi-hemispherical: ρhh(λ) =
SKYL: A
"Sky (atmosphere) irradiance"
A
Mλ
Eλ
A
=
Eλ,s
=
π.Lλ,v
Eλ,s
A
∫2π+ Lλ (Ωv ).cosθv .ΔΩv
=
Lλ (Ωs ).cosθs .ΔΩs
π.Lλ (Ωv )
∫2π- Lλ (Ωs ).cosθs .ΔΩs
∫2π+ Lλ (Ωv ).cosθv .ΔΩv
exitance h
(irradiance d)
A
E
π.radiance d
( irradiance h )
A
A
E
exitance h
(irradiance h)
A
∫2π- Lλ (Ωs ).cosθs .ΔΩs
A
E
. It belongs to [0 1].
"Total (direct sun + atmosphere) irradiance"
Albedo: Adh(∆Ωi=0, ∆λ) =
A
Mλ
π.Lλ (Ωv ).cosθv .ΔΩv π.Lλ (Ωv )
=
Eλ (Ωs ).cosθv .ΔΩv
Eλ (Ωs )
Exitance (h) over Δλ
Irradiance (d) over Δλ along Ωs
A
Ahh(2π-, ∆λ) =
A
Exitance (h) over Δλ
Irradiance (h) over Δλ along 2π-
It is the integral of reflectance ρ(λ,Ωv ), weighted by spectral irradiance (i.e., Eλ(Ωi).µi for Adh and
∫2π- Lλ (Ωs ).μs dΩs .dλ for Ahh), over the spectral band ∆λ (i.e., all or part of the spectrum) and over all
A
directions of the upper hemisphere (2π+). It depends a lot on the Earth surface (Table 46).
𝟏𝟏 ∫ ∫2π ρdd (Ωs ,Ωv ,λ).μv .Eλ (Ωs ).μs .dΩv .dλ
For plane Earth: Adh(Ωs, ∆λ) = . Δλ
𝝅𝝅
∫Δλ Eλ (Ωs ).μs .dλ
𝟏𝟏
with ∆λ ≈ [0.2 4 µm].
If Eλ ≈ cst over ∆λ: Adh(Ωs, ∆λ) ≈ .∫Δλ ∫2π ρdd (Ωs ,Ωv ,λ).μv .dΩv .dλ ≈
𝝅𝝅
1
Δλ
. ∫Δλ ρdh (Ωs ,λ).dλ ≈ ρdh,Δλ (Ωs )
-
Δτ
Optical depth ∆τ: the direct transmittance along Ωv of a medium with an optical depth ∆τ is e μv with µv = cosθv.
A
DART 'Forward' mode: a ray along direction (Ω,ΔΩ) carries the power W(Ω,ΔΩ). A ray that exits the scene at pixel (Δx,Δy)
gives rise to local radiance Lxy (Ω,ΔΩ)=
W(Ω,ΔΩ) (W)
Δx.Δy. ∫ΔΩ cosθ.dΩ (m2 .sr)
- Surface of area A: it gives rise to Wscat (Ω,ΔΩ)=
ρ(Ω)
π
(ΔΩ= ∫Δθ ∫Δφ sinθ.dθ.dφ )
.A. ∫ΔΩ cosθ.dΩ, Wthermal (Ω,ΔΩ)=ϵ(Ω).A.LB (T). ∫ΔΩ cosθ.dΩ
- Turbid media: it gives rise to Wscat (Ω,ΔΩ) & Wthermal (Ω,ΔΩ) ≡
Material
Planet Earth
Cloud (stratus): depth < 200 m / depth [200 1000 m]
Snow: fresh and dry / old
Ground : - white sand
- dark moist /dry
Vegetation: green crop / forest
Water: sun zenith 0°/30°/60°/70°/80°/85°/>87°
∫ΔΩ cosθ.dΩ
cosθ
. Fluids (spherical particules): Wthermal (Ω,ΔΩ) ≡ ΔΩ
Albedo (%)
≈ 33 (≈ 36 for Visible domain)
5-65 / 30-85
75 - 90 / 45 - 70
35 - 40; increases from blue to red
5 - 6 / 5 - 15; increases from blue to red
5 – 15 / 10 ; maximum in the green
2/ 2,2 / 6 / 13,4 / 35,8 / ≈60 / >90
Table 51: Albedo of Earth material.
89
• Thermal emission
Planck law: Lλ(T) =
2.h.c2
λ
5
h.c
.(eλ.k.T -1)
(W.m-2.sr-1.m-1) where h = 6.63 10-34 J.s and k = 1.3807 10-23 J.K-1
a
Wien law: M(λ) is maximal for λm = T (a=2899 µmK)
A
A
E
Stephan-Boltzmann law: M = σ.T4, where σ = 5.6704 10-8 W.m-2.K-4
Brightness temperature TB of a scene: temperature of the blackbody that emits the same radiance as the scene.
h.c
1
k.λ ln(1+ 2.h.c 2 )
5
For a measured radiance Lmes,λ (Ω): Lm,λ (Ω)=LB,λ (TB ) ⇒ TB =LB-1,λ (Lmes,λ (Ω))=f(λ,T,Ω)= .
Emissivity ε: efficiency of thermal emission relative to blackbody. εblackbody = 1 ∀λ.
λ .Lm,λ (Ω)
For a fluid (e.g., atmosphere): ε(Ω,λ) = 1 - ρdh(Ω,λ) - t(Ω,λ) ∀λ. For an opaque surface: ε(Ω,λ) = 1 - ρdh(Ω,λ) ∀λ
• TOA / satellite radiance LTOA(Ωv)
TOA: Top of the Atmosphere
3 radiation sources arise at TOA level:
Δτ
μv
Atmosphere
BOA: Bottom of the Atmosphere
-
-
Δτ
Atmosphere: direct transmittance e , diffuse transmittance tatm, total transmittance Tatm =e μv +tatm.
Sun scattered radiation:
-∆τatm
ρscene
(Ωs, Ωv).e µ¯¯v
π
-∆τatm
µs .
- Scene scattering with direct atmosphere transmission ↓↑: Esun.e ¯¯
A
E
A
A
A
A
E
E
- Scene scattering with diffuse atmosphere transmission: Esun.tatm(Ωs,2π-).ρscene(2π-,2π+).Tatm(2π+,Ωv)
ρatm
- Atmosphere scattering, without interaction with the scene: Esun.
(Ωs, Ωv)
π
ρscene(2π-,2π+)
- Scene scattering with Earth-Atmosphere coupling: Esun.Tatm(Ωs,2π-). 1 - s
.Tatm(2π+,Ωv)
atm
A
A
E
A
A
E
b) Scene thermal emission with atmosphere direct / diffuse transmission: Lscene.Tatm(2π+,Ωv)
c) Atmosphere thermal emission direct and scene scattered: Latm(Ωv) + ρscene(2π-,2π+).Latm(Ωv)
90
VII. Work packages (WPs)
WPs introduce the 2 DART light modes: DART-Lux (i.e., bi-directional Monte Carlo method: MC) and DART-FT
(discrete ordinate method: DOM, voxelized landscape). These modes store their landscape representations (i.e., scenes)
in different formats. One can easily switch between modes. In any created scene, element types (e.g., trees, buildings)
can be ignored, resulting in a new, simpler scenes that can be brought back to the original if needed later. In addition,
DART-Lux can ignore element types when simulating the RB, in order to save computation time. Except for RB, DARTLux is increasingly replacing DART-FT, as it is much faster and uses much less RAM for complex scenes. Note that
DART-Lux simulates the atmosphere radiative transfer (RT) either with the MC method or the DOM method.
WP0 is a fast overview of DART, with limited practice. Other WPs introduce DART functionalities step by step. The
advice is to start with WP1 (reflectance) and WP2 (thermal emission), then 'thematic' WPs: WP3: buildings, atmosphere;
WP4: RB and SIF; WP5: fluids and cover map importation; WP6: trees; WP7: topography; WP8: LiDAR; WP9: sensors, etc.
 - Answer questions asked in the WPs (sign ) before going to the next step in the WPs.
- Close computer applications (e.g., internet,…) to reduce the computation time (CT) of simulations.
- "install.bat" installs DART in a user-selected folder Y. It creates "Y\DART\user_data\simulations". Y must not have
accents and spaces. For Windows OS (operating system) should not be in folders (e.g., 'Users') created by it.
- Download a WPx (dart.omp.eu/Public/documentation/contenu/exercices/WPx.zip) in "DART\user_data\simulations\
WP\WPx", unzip it to get all its WPx-Lux (DART-Lux) and WPx-FT (DART-FT) simulations. Any simulation has 2
sub-folders: "input" (i.e., input parameters) and "output" (i.e., simulation products).
VII.1 DART OVERVIEW: WP0
WP0A introduces basic DART functionalities with a 3D scene. To save time, you do not need to run it if its output
folder is available. Other functionalities / products (e.g., LiDAR and time series) are introduced with WP0B, WP0C,...
simulations created as copies of WP0A using the option "save as", and ignoring some scene elements to reduce
computer time (CT) of simulations. The CTs indicated for each WP are for a laptop with 8 cores.
1) Overview: WP0A-FT (CT: 6'40"), WP0A-Lux (CT: 2'1": Nsample/pixel =30 (3 for Sensor), Nsample/direction=30)
Objective: overview (products, functionalities,…) of DART mode "Passive RS & RB". Table 52 lists the parameters
to set: blue color for bi-directional mode (i.e., DART-Lux), and green color for forward mode (i.e., DART-FT).
Scene (Figure 108): DEM (Digital Elevation Model), imported tree and DART created elements (1 tree filled with facets,
1 house with 2 skylights, 2 plots filled with facets and turbid medium). MC method to simulate atmosphere RT.
 The accuracy of results and CT depend on DART input parameters (e.g., number of samples per pixel Nsample/pixel
for DART-Lux images, number of samples per direction Nsample/direction for DART-Lux BRF maps).
Products: top of atmosphere (TOA) and bottom of atmosphere (BOA) orthographic images, projective sensor images,
LUT (i.e., SQL database) and 3D radiative budget.
z
Skylight
Imported
tree
x
DART created
tree (facets)
Ground
y
Turbid plot
Triangle plot
Figure 108. 3D scene / mock-up displayed with "View / Scene 3D".
91
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Bi-directional (Forward)
Transition: TOA ↔ BOA: Atmosphere radiative transfer ( best, but slowest mode)
Number of threads in DART tracking: Nb cores of your computer
Smaller mesh size D of BOA irradiance (m): 0.005 ( "good" illumination)
Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
"Passive RS & RB"
DART-FT parameters
Passive RS & RB parameters
Mode R: λmean=0.4µm, 0.55µm, 0.68µm, 0.9µm. ∆λ=0µm
Mode T: λmean=10µm. ∆λ=0µm
Maximal scattering order: 5
Max. scattering order: 80 Target pixel size: 0.125m Nscene repetitions: 1 No periodic save
Sample density (images): 30, Max. rendering time / image: 0 (⇔ no time limit)
Number of incident directions: 5, Ray density per direction: 4
Spectral intervals/Spectral band
Forward parameters
Bi-directional parameters
Unit of images: Reflectance / Temperature Maximal zenith angle of images: 25° 1°
OrthoImages & Irr.: Industry std ⇒ Exitance, Albedo images  Sample (BRF): 80
Product per type of Earth scene element (ground, roof, etc.): 
INTR, ABSR, SCAR per individual triangle:  ( unset all other RB products)
BRF/BTF
Products
RB
'Sensors'
Fish eye
Pinhole
Nsample/pîxel=3
Position: focal point (15, 15, 20). θ,φ: 180,0. θrange: [0 90]. Rsphere: 0.1m. Npixel/axis: 103
Position: focal point (35, 35, 40). θ,φ: 150,225.Sensor: 0.064, 0.036. Pixels: 1280, 720
Sun zenith angle (θs): 30°, Sun azimuth angle (φs): 225°
Upward sun direction (hot spot): . Downward sun direction: 
"Directions"
 Specular directions for ground (30°,45°) and a skylight / window (25.2°,326.1°)
Name: glass_spe. Air→Glass, Kroughness=0.1, ∆τabs=0.3, Glossy + diffuse base: window
Specular
Name: ground_spe. Air→Water, Kroughness=0.07, ∆τabs=0, Glossy + diffuse base: ground
Name: ground. Model: loam_san... + Specular x (1, 1, 1, 0.02)
Surface
Name: wall. Model: brick... Name: roof. Model: roof_tile... Database:
"Optical &
Name: window. Model: glass_win… + Specular x(1,1,1,0.02) Lambertian_mineral.db
Lambertian
Temp.
Name: roof. Model: roof tile_cement_red_new
properties"
Name: trunk. Model: bark_deci. Name: leaf. Model: grass_rye Database:
Volume Vegetation (turbid) Name: turbid_leaf. Model: leaf_deciduous. LAD: spherical Lambertian_vegetation.db
'Add single direction'
Name: T_mineral, Tmean: 310K, ∆T: 20K. Name: T_leaf, Tmean: 300K, ∆T: 5K
Name: T_window, Tmean: 305K, ∆T: 5K. Name: T_trunk, Tmean: 300K, ∆T: 5K
Temperature
Use a random seed for random operations:  (⇒ successive scenes are identical)
Cell: ∆x =∆y =0.125m. ∆z = 0.5m (used by Bi-Dir only for 3D RB) Scene: ∆X = ∆Y =30m
Phase function name: ground Location (Valencia, Spain): 39.47N, 0.38E, z = 0m
"Earth scene"
Type of plot: turbid-vegetation
LAI: 1. OP: turbid_leaf. T: T300
Type of plot: facet-vegetation (facet area: 0.003 m2)
'Earth scene: plots' / 'Add' ( right)
(plot = right prism)
1 tree: ellipsoid crown filled with 0.1m2 facets. OP: trunk, leaf. T: T_leaf, T_trunk
Tree: Merisier_adulte.obj (cherry tree) OP: trunk, leaf T: T_leaf, T_trunk
Roof window: Square.obj. Two windows OP: glass_spe / window
DEM (Digital Elevation Model): horizontal OP: ground_spe / ground
USSTD76 gas model + Rural-23km aerosol model
"Earth scene: trees"
"Eath scene: 3D imported object"
Atmosphere
Bi-directional: set option "Ignore for radiative budget" for the trees, ground and plots, to reduce simulation time
Table 52. Parameters of the Forward and Bi-directional light modes. OP: optical property. T: temperature.
Table 53. Computation time (CT): proportional to Nsamples.
3
CTtotal(3,30,40)=2'25". CTtotal(6,60,80)=4'1".
Orthographic image (e.g., ima001 VZ=0 VA=0):
CT≅Npixels.Nsample/pixel
Sensor image (e.g., camera_IS001_VZ=0_VA=0):
17"
BFF map (e.g., BRFmap): CT≅Nsample/direction (independent of Npixels)
_
_
Nsample/pixel
6
30
19"
34"
-
Nsample/direction
60
40
80
38"
10" 20"
92
• The simulation editor: "Parameters / Editor" (Figure 109)
The simulation editor sets the type and values of the simulation parameters.
- "Passive RS & RB" (Figure 109): TOA→BOA transfer (here: Atmosphere radiative transfer),
No atmosphere RT (BOA = TOA)
Analytic model
Radiative transfer simulation
a)
No atmosphere RT (BOA = TOA)
Analytic model
Radiative transfer simulation
D
b)
Figure 109. Passive RS & RB menu. a) DART-Lux. b) DART-FT (illumination mesh D=0.005m,…). Parameter types
(left panel) and values (right panel). Central panel: scene 2D view. 8 threads. Earth-Atmosphere radiative coupling.
- "Passive RS & RB parameters": scene irradiance E (Figure 110) and spectral bands (Figure 111). E can be set as
TOA or BOA irradiance or as BOA radiance. Here, E is set at TOA with a sun irradiance database. A band consists
in {Mean wavelength, Bandwidth, Mode (R: reflectance, T: pure thermal emission, R+T)}.
Right click
to zoom
Figure 110. Scene irradiance.
plots the irradiance table 'TOASolar_THKUR' of Solar_constant.db database.
93
- "Spectral intervals" (Figure 111): each spectral band is defined by its mode (R, R+T or T), mean wavelength
λmean , and bandwidth Δλ.
Mode T+R
Mode T
Figure 111. Spectral band. Properties of band 1: mode R, λmean =0.4µm, Δλ=0.
- "Products" (Figure 112): they are very similar for DART-Lux and DART-FT.
a) Radiative products 
BRF/BTF : radiance Lxy(Ω), reflectance ρxy(Ω) and brightness temperature Txy(Ω) images. Projection is
orthographic for images in discrete directions and any for sensor images (e.g., fish eye, pushbroom). Images
can be orthorectified (default method: "Industry standard"). Their format is that of ILWIS (*.mp# and *.mpr);
GeoTiff format is being implemented. To save CT and RAM, images can be stored only for directions with
zenith angle less than a threshold (default: 25° for DART-FT; 1° for DART-Lux). brf.nc (NetCdf format) stores
mean values of images in discrete directions, including added directions.
DART also simulates "images by type of scene element" (i.e., last element to scatter / emit measured radiation)
"fluid transmittance images", and "pixel view angle images".
 Temperature per triangle face per cell (modes T and T+R), with triangle index and area. 1 line per element.
 Fraction of sunlit area per triangle per cell (mode R), with triangle index and area. 1 line per element.
 Fraction of sunlit per cell.

b) General products 
 Radiative budget (RB) products: 3D/2D/1D absorbed, emitted,... power per cell (x,y,z) and/or facet, stored in
binary or text files, with different units (% of BOA irradiance, W/m2/µm, W/m2). They can be computationally
expensive, especially for DART-Lux (it is being accelerated), which here simulates only RBfacet.
 Polarization products: images.
 Per light source products: roof as a thermal emitter, the sun, etc.
c) Earth scene products :
 Triangle area products: area of facets, as 1D or 3D arrays, and possibly per type of scene material (i.e., color).
 Turbid LAI products: 3D, 2D and 1D LAI of turbid volumes,
 3D object": 3D object that consists of all facets of the scene,
 DSM image: Digital Surface Model of the scene, stored as a raster image (only for DART-FT).
 Triangle ground cover: ground cover per type of scene element such as vegetation (only for DART-FT).
Two major differences in DART-Lux and DART-FT products must be noted:
* Iterations: DART-FT is iterative and can give results per iteration. DART-Lux is not iterative. Then, the DARTLux term "iteration" refers to a step of data storage per time period or number of samples per pixel.
* CT and image simulation: a single DART-FT simulation can simulate images for many viewing directions Ωv,
including exitance and albedo images, without increasing CT. For DART-Lux, simulating N images increases
CT by a factor of N. It explains that DART-Lux does not simulate exitance and albedo images, conversely to
DART-FT. However, it simulates BRF / BTF maps (i.e., L(Ωv), ρ(Ωv) and T(Ωv) ∀ Ωv for any zenith / azimuth
step (e.g., 1°), whose integral gives the exitance and albedo for all or part of the scene.
94
Bi-directional light mode
(DART-Lux)




Forward light mode (DART-FT)



Figure 112. Menu "Products" of DART-Lux (top) and DART-FT (bottom).
95
- "Sensor" (Figure 113): in-situ / airborne cameras and pushbroom, defined by their location, field of view (FOV),...
Here, 2 airborne cameras are set: fisheye (x=y=15m, 20m) and oblique pinhole camera (x=y=35m, z=40m) with
Nsample/pixel=3. Their automatic 3D representation (i.e., delineation of their ground FOV,…) is being implemented.
Figure 113. Menu "Sensor". Two downward viewing cameras (fisheye and oblique pinhole) are defined.
- "Direction input parameters" (Figure 38, Figure 114): any direction can be added to the 100 default discrete
directions. Here, 13 directions are added: 2 specular, 1 upward sun direction (hot spot) and 10 around sun direction.
Figure 114. Menu "Direction input parameters". Here, the viewing direction (θ=30°, φ=45°) is defined.
- "Optical and temperatures properties" (Figure 115): optical properties of surfaces  and volumes  (i.e., turbid
vegetation or fluids), and temperature properties . There are several surface optical properties (Figure 42):
lambertian, RPV, Hapke and specular  models, and Phase extern (import of spectral directional
reflectance/transmittance). These optical properties can be combined using the "Mixed model" option. The
lambertian property is defined by "Lambertian reflectance + Lambertian transmittance + Direct transmittance".
The lambertian reflectance is from a spectral database, leaf Prospect/Fluspect model, or soil MARMIT-2 model
ρsoil = f(soil moisture content) for soils. The volume optical property  is for a volume filled with fluids or
96
turbid medium (i.e., infinite number of of infinitely small plane elements randomly distributed and defined by
a Leaf Angle Distribution (LAD), a lambertian transmittance and a lambertian reflectance, possibly with
specular behavior, for adaxial (top) and abaxial (bottom) leaf faces). The temperature property  is defined by
a mean temperature, a temperature range and the possibility to have equal or not temperatures on both sides
of a surface. The optical and temperature properties can be weighted by spectral coefficients. For example,
the multiplication ofv the model "Reflectance = 1" by a number a gives the optical property ρ = a. In addition,
the optical and temperature properties can be weighted by 3D matrices in order to get 3D variable properties.





Figure 115. Menu "Optical and Temperature properties". The property 'ground' is set with the "loam_sandy…"
model of the Lambertian_mineral database. Two
properties are set.
module (not used here) derives leaf optical and fluorescence properties from leaf biochemistry.
- "Scene" (Figure 118): scene xy dimensions and cell xyz dimensions , raster DEM (Digital Elevation Model) 
and scene location . DART-FT uses cells to voxelize the scene and set the resolution of the simulated images.
DART-Lux uses cells only for 3D RB simulation. Schematic DEMs can be created . Successive DART scenes
defined with random settings (e.g., random distribution of facets) differ if option "Use a random… " is set. Note
for DART-Lux, the ground surface, as other scene elements, can be ignored in RB simulation to save CT.
97






Figure 116. Menu "Scene". Numbers (e.g., scene, cell dimensions) are exactly coded only if equal to m.2-n,
with m and n integer numbers. It is better to use exactly coded numbers, whenever possible.
- "Plot" menu: plots (Figure 119): to create plots (i.e., surface or right prisms) filled with turbid medium, facets or fluids,
with a possible underlying surface. They can be at any altitude above the ground surface.
xy coordinates of the
4 corners of the plot
Figure 117. Menu "Plot". As the option "Vegetation" is set, the plot is a right prism characterized by
LAI, LAD, ρf, τf. Because the option "Plot as triangle cloud" is set, the volume medium is made
of facets, and not turbid medium. Here, facets are defined by their area, and not their number.
- "Tree" (Figure 120): DART created trees with schematic shapes (cone,...) filled with turbid medium or facets. Tree
positions and dimensions are random or exact (i.e., option
). Here, the text file
stores
each tree trype, location and dimensions, but only the tree type and location are used by the option 'Exact location
+ random dimensions' as tree dimensions are set in the GUI. Note that all the tree information of
would
be used with the option 'Exact location + Exact dimensions'. Note also, that trees can be ignored in the creation of
the mock-up. This is useful for reversible modifications of the mock-up in the same simulation. In DART-Lux,
trees can be ignored when simulating the RB, in order to save computation time.
 To edit the file trees_WP0.txt, use a text editor (e.g., NotePad++) that does not add hidden characters….
98
Figure 118. Menu "Turbid trees" with option "Exact location + random dimensions". Option "Crowns as
triangle clouds " implies that tree crowns are filled with 0.1 m2 triangles.
- "Urban elements" (Figure 58): DART-created buildings (i.e., houses) with different schematic shapes.
- "3D imported object" (Figure 119): to import 3D objects (e.g., tree, forest, urban geometric database) and set their
geometry (i.e., location, xyz scale factors, xyz rotations). It also sets optical properties and type of material (i.e.,
color), per group (i.e., set of triangles) or for the whole object. A 3D object or groups of it can be converted to
turbid medium, which can be useful if the 3D object has a huge number of facets. The "Field" option is for creating
a spatial distribution of 3D objects: a file stores the location, scale factors and rotations of clones of 3D objects.
 The DART default horizontal ground surface is made of 2 triangles. It must contain many small facets to simulate
a spatially accurate RBground. The solution here is to replace it by a fine resolution vector or raster "plane" DEM.
Figure 119. Menu "3D object". Object optical and temperature properties (top), and geometry (bottom).
99
- "Atmosphere" menu (Figure 71): gas / aerosol geometry and optical properties (i.e., spectral single scattering
albedo, transmittance for absorption and scattering,...), either imported or derived from the standard gas / aerosol
models in DART atmosphere database. Aerosol optical depth and water vapor content can be easily varied.
Atmospheric backscatter is only simulated if the atmospheric RT is simulated. Then, results can be for before and
after atmospheric backscatter. DART-Lux images are only final images ρscene (x,y,Ω) (i.e., "after atmospheric
backscatter" images if there is atmosphere RT), and/or the BRFmap (i.e., ρ�scene (Ω) ∀Ω ∈2π+ ) before and after
atmospheric backscatter. DART-FT images can be before and after atmospheric backscatter, with no BRFmap.
DART-Lux simulates the atmospheric RT using either an Hybrid method (i.e., discrete ordinate method of DARTFT) or a pure Monte Carlo method. The default method is "hybrid".
• 3D view of the scene: "View / Scene 3D" (Figure 108).
• 2D view of the scene (only DART-FT): "View / Scene 2D / maket.txt" (Figure 120).


Layer navigator : to set the xy, xz and
yz section and level.
Zoom : zoom of the scene.
Mouse right click: cell coordinates, type
of element, data from text files (1 value /
DART cell; here: output / temperatures.txt
file) with option
, indices of local
triangles.

Dimensions

LAI
3 sub-menus : scene information (LAI
of turbid vegetation, scene size, etc.
Cell count
Figure 120. Scene 2D view in DART-FT.
• View of DART directions of rays: "View / Directions 3D View"
2 added virtual
Discrete directions (central direction Ωi(θi,φi), solid angle ∆Ωi) sub-divide the 4π sphere
directions
with equal ∆Ωi, except the 2 smaller vertical directions (Figure 109). Discrete and
virtual directions can also be added in regions (∆Ωhot spot, ∆Ωspecular,...), with an automatic
reshape of the 4π sphere. Products can be for all upward discrete directions and also
virtual directions added as single directions, and / or in planes and regions.
DART-FT: it simulates RT only with the upward and downward discrete directions.
DART-Lux: upward directions are only to set the viewing directions of the simulated
Figure 121. DART directions:
images and data of the brf.nc file derived from the 90°x360° BRF/BTF map (i.e.,
102 "discrete" and 2 "virtual".
distribution of directional reflectance / radiance / brightness temperature).
• View DART simulated images: "View / Image"
The "View image" menu (Figure 122) allows you to display the DART simulated images:
- Col. 1 "Spectral bands": the spectral band of the image to display.
- Col. 2 "Simulation type": reflectance, brightness temperature or radiance at 3 sensor altitudes (BOA, SENSOR,
TOA). Note that BRF stands for BOA reflectance and Tapp stands for BOA brightness temperature.
100
- Col. 3 "Iterations": (1) DART-Lux: an iteration is a step of data storage per number of seconds or samples per
pixel. IterX is the final product. It stands for "after the atmospheric backscattering stage" if there is atmosphere
RT. (2) DART-FT: an iteration is a real iteration, and IterX is the extrapolation of last iterations. If there is
atmosphere RT, IterX is "before atmospheric backscattering", and COUPL is "after atmosphere backscattering.
- Col. 4 "Images": directional image imaxx_VZ=yy_VA=zz.mp#, with xx the image index, VZ the view zenith
angle and VA the view azimuth angle. The BRFmap image exists only for DART-Lux. It represents ρ�scene (Ω)
∀Ω ∈2π+ . The Albedo, Exitance and Irradiance images exist only for DART-FT.
- Col. 5 "Projected Images": it exists if the product "Orthorectified" is a product that is requested.
Figure 122. "Image display" menu of WP0A-Lux_NoRB (bottom) and WP0A-FT (bottom).
Figure 123 shows DART-Lux inadir image (Nsample/pixel =20 and 103) and BRF-map (Nsample/direction =20 and 90) at 0.4µm.
Larger Nsample/pixel and Nsample/direction improve accuracy but increase CT. Pure Monte Carlo is the most accurate method.
Hybrid method
Nsample/pixel = 103
Hybrid method
Nsample/pixel = 20
57600 pixels
Avg: 7.025034E-2
Min: 1.978432E-4
Max: 1.433140E-1
SD: 3.334301E-2
57600 pixels
Avg: 7.023181E-2
Min: 1.978432E-3
Max: 1.218585E-1
SD: 3.28390E-2
Figure 123. DART-Lux images at 0.4µm. a) Nadir image with 20 and 103 samples per pixel. b) BRF-map with
30 and 90 samples per viewing direction.
101
Figure 124 shows DART-Lux orthographic reflectance images at 1µm: nadir image and oblique viewing image
(θ=30°, φ=45°) with its orthorectified image, the DART (x, y) reference system. In the nadir image, the orientation
of shadow highlight the sun direction (θsun=30°, φsun=45°). In the oblique image, the observed reflectance of the
ground is very large because the viewing direction is the specular direction of the ground given the sun direction.
The red arrow indicates the viewing direction (θ=30°, φ=45°). The yellow color indicates zones that are not seen
by the sensor. In the orthorectified image, the yellow color indicates zones that are not seen by the sensor.
y
x
x
Figure 124. DART-Lux reflectance images at 1µm.
a) Nadir image. b) Oblique image (θ=30°, φ=45°) and its orthorectified image.
DART simulates element images Imi such that Im = ∑i Imi . Figure 125 shows roof and ground images at 0.4µm.
ρ=0
ρ=0
a)
b)
ρ=0
ρ=0
Figure 125. DART-Lux orthographic and camera images of 2 scene elements. a) Ground surface. b) Roof. 0.4µm
Figure 126 shows DART-Lux and DART-FT color composite images created by the tool 'Tools / Color Composites',
for BOA and TOA nadir and oblique orthographic views, and BOA oblique cameras with perspective views. DARTLux and DART-FT images differ due to their different parametrizations of specular reflectance.
 - Ground and window specular reflectance is observed only in specific viewing directions. Why?
- TOA images are bluer than BOA images. Why?
- The specular signal appears only in part of the camera images. Why?
ρ(Ω), TB(Ω) and L(Ω) can be plotted using the LUT, the brf.nc file, and also the DART-Lux 90°x360° BRF map. For
DART-Lux, these directional data are the average values of the simulated images and data derived from the 90°x360°
BRF / BTF map. Figure 127 shows the DART-Lux scene BOA reflectance and brightness temperature plotted using
"View / Directional … / 2D …". It is very anisotropic in the 5 bands, in particular due to:
- Hot spot effect: local maximum around sun direction (•). It increases with wavelength because BOA irradiance
is more and more directional. It also occurs in the TIR because only warmer elements are seen in this direction.
wave
- Specular effect: ρshort
(Ω) is locally maximal for direction (θv=30°, φv=45°). TB(Ω) has no such maximum.
BOA
102
DART-FT
DART-Lux
c)
b)
a)
DART-Lux
d)
f)
e)
DART-FT
DART-Lux
h)
g)
i)
Figure 126. DART-FT and DART-Lux RGB images with perspective (∆Ωv>0) and orthographic (∆Ωv=0) projection.
- BOA sensor (∆Ωv=0): a) nadir. b) oblique: θs=22°,φs=30°. Ground (c: θs=30°,φs=45°) and window (d) specular directions.
- Low altitude camera (∆Ωv>0): fisheye (e), oblique pinhole along ground specular direction (f).
- TOA sensor (∆Ωv=0): nadir (g), oblique (h), and ground (i: θs=30°,φs=45°) specular direction.
3D view:
blue radiance
green
red
NIR
TIR
Figure 127. DART-Lux ρblue
BOA (Ω), ρBOA (Ω), ρBOA (Ω), ρBOA (Ω) and TBOA (Ω). The black disc indicates the sun direction.
• LUT display: "View / LUT / File / WP0A-Lux.db"
The LUT is a SQL database (*.db) that stores radiometric data of the scene: TOA irradiance ETOA , BOA direct EBOA,dir
/ diffuse EBOA,dif / total EBOA irradiance,... To create the LUT of a multi-band simulation, in the "Run / LUT properties"
menu select "LUT creation" and the data to store. With the tool "LUT display" menu (Figure 128.a), you can select
its LUT and plot its data (Figure 128.b). Here, EBOA and ETOA are maximal in the green band (Figure 128.c) and TOA
and BOA reflectance in nadir (0°) and ground specular (θv=30°, φv=45°) directions (Figure 128.d) greatly differ,
which stresses the anisotropy of BOA and TOA reflectance. The plots can be exported.
 DART "analytical atmosphere" is more accurate for simulating reflectance than for simulating radiance. Why?
103
d)
a)
c)
b)
Figure 128. LUT. a) LUT selection (here: WP0A-Lux.db) and data to plot. b) TOA irradiance, TOA irradiance and exitance.
c) Nadir and oblique (θ=30°) TOA and BOA reflectance, TOA atmosphere reflectance. d) Export of the plot.
• 3D radiative budget (RB): "View / 3D radiative budget / Surface radiative budget (Figure 129)
RB products are numerous: intercepted, absorbed, emitted and scattered energy per triangle, per cell (x,y,z), per
type of element (e.g., leaf),..., for direct sun and total illumination,… and 3D, 2D and 1D. Figure 126 shows: 3D RB
triangle irradiance Edir,0.55µm (a), Etotal,0.55µm (b), and absorbed image (c). Here, the RB of DART-Lux is only for the
ground and the house because its simulation is less computationally efficient than for DART-FT.
Direct sun
c)
a)
Final
DART-Lux: Total
b)
Figure 129. DART RB. a) DART-FT facet direct sun Esun direct and final Efinal irradiance. b) DART-FT Image
ground
house
. 0.55µm. Unit %.
"Absorbed Energy". c) DART-Lux facet Efinal and Efinal
The choice of methods and products can greatly influence CT, RAM and hard disk (HD) memory, especially for
DART-FT, as illustrated by Table 54.
WP0A-FT
Atm. RT. Dillu=5mm Atm. RT. Dillu=1.5cm Atm. analytical No RB No sensor No ortho-image ∆r=0.5m
Computer time
5'46"
RAM / HD memory (Gb)
3.04Gb / 0.67Gb
ρBOA,nadir: blue / NIR (%) 6.65 (6.69) /37.6 (37.6)
4'52"
3.04Gb / 0.66Gb
6.66 (6.7)/ 37.6 (37.6)
4'10"
2'42"
2'37"
2'19"
1.09Gb / 0.23Gb 1.04/0.15 1.02/0.13
0.61 / 0.081
6.44 (SKYL=0.48) / 37.2 (SKYL=0.14)
24"
0.28 / 0.009
6.45 / 37.1
Table 54. CT, RAM and HD needed by dart module for WP0A-FT, depending on input parameters and selected products.
• View dart.txt: "View / Report files / Dart file" (
Figure 130)
The file dart.txt stores major input parameters, results and log data useful to check simulations. For DART-Lux:
- Input data: scene size, number of scene repetitions, upward sun direction, light radiation mode, maximal scattering
order, Russian roulette depth, sampler, image pixel size, number of samples per pixel, number of samples per
direction, maximum simulation time per image, number of threads, spectral bands , atmosphere geometry ,…
- Results: illumination (irradiance and SKYL per band ), scene exitance and albedo / brightness temperature .
- Memory usage and processing time. They depend on the scene model and the requested products.
104
Figure 130. File dart.txt file of WP0A-Lux.
105
2) BOA and TOA scene spectra: WP0B-FT (CT: 7"), WP0B-Lux (CT: 7")
Objective: to simulate scene TOA and BOA spectra.
• Copy WP0A-Lux as WP0B-Lux with DART tool "Simulation / Save as".
• Simulation editor:
- "Passive RS & RB" menu: set "
Analytic model". It is faster than with "Atmosphere RT", but is less
accurate and does not give TOA data. For DART-FT, set "Illumination mesh D: 0.015m".
- "Spectral intervals" menu ( right click
): add 200 bands from 0.4 to 0.8µm (∆λ=0.002µm) in mode R.
- "Products" menu: remove the RB product.
- "Products / BRF": set "Image: No", "Product per type of scene element: " and "No write BRF / product per band".
- "Sensors" menu: remove the 2 frame cameras (i.e., delete "
").
- "Directions" menu: remove the 2 added directions.
- "Optical properties / Lambertian" menu: unset or remove the property 'Specular'. Then, all surfaces are lambertian.
- "Earth scene" menu: set 'Lambertian: ground' for the "Earth scene" (DART-FT: set ∆xcell = ∆ycell = 1m).
- "Plots" menu: hide the 2 plots with the option
.
- "3D imported object" menu: hide objects "DEM" and "Cherry tree" with
- "Atmosphere": unselect the product "TOA atmosphere radiance" and display (Gas → Optical properties":
the transmittance (Figure 131.a) of scattering gases and absorbing gas
• Run WP0B-Lux: "Run / DART"
• DART spectra from the LUT: "View / LUT"
Figure 131.b shows:
- TOA irradiance ETOA, BOA irradiance EBOA, BOA exitance MBOA. EBOA(λ) ≪ ETOA(λ) at ≈760nm, 700nm, 720nm.  Why?
- BOA radiance LBOA (λ) for 3 directions (θv=0°, 22°,41°). It illustrates the anisotropy of Earth surface radiance.
- BOA scene reflectance ρBOA , TOA scene ρTOA and atmosphere ρatm reflectance. Note that ρTOA and ρatm need
'Atmosphere RT', which is not simulated here because it needs higher computation time.
 ρTOA >ρBOA for small λ, and ρTOA <ρBOA for large λ. Why? ( ρTOA ≈ρatm +Tatm .ρBOA )
Note: DART-Lux directional data LBOA (λ) and data integrated over 2π+ (i.e., albedo and exitance) are derived from the
BRF map. The later is simulated if user-specified or if the LUT has the option "Only for added directions ".
• "Analytic model" vs. "Atmosphere RT" with 200 bands: the "Analytic model" is accurate for BOA albedo ABOA,
rather accurate for EBOA and much faster (phase module: 37" → 8"; dart module: 244" (43" without option 'Coupling
C') → 6"). For example, the values of EBOA, SKYL and ABOA at 0.4 and 0.8µm for "Atmosphere RT" after / before
coupling → "Analytic model" are:
- 0.4µm: EBOA: 1265 / 1244 (C ⇒ ≈2% increase) → 1197 W/m2/µm, SKYL: 50.4 / 49.5 → 47.6%, ABOA: 7.21 / 7.21 →7.17%
- 0.8µm: EBOA: 947 / 938 (C ⇒ ≈0.9% increase) → 910 W/m2/µm, SKYL: 20.2 / 19.5 → 17.1%, ABOA: 30.1 / 30.1 → 30.1%.
O2
H2O
O3
a)
106
)
W/m2/µm
ETOA
EBOA
EBOA,dir
EBOA,dif
MBOA
'atmosphere RT' must
be run to simulate ρTOA
 scene radiance is
strongly anisotropic
b)
Figure 131. a) dart atmosphere.db: atmosphere transmittance (scattering gases, O2 and O3 / H2O absorption). b) LUT:
"TOA / BOA irradiance and exitance", "radiance LBOA(Ω) for 3 directions", and "TOA/BOA scene and TOA
atmosphere reflectance". Note: TOA scene and atmosphere reflectance need the "Atmosphere RT" mode.
_
3) Directional RS signal: WP0C-Lux (CT: 19"), WP0C-FT (CT: 10")
Objective: ρplot(θ) in the solar and perpendicular planes of a vegetation plot at 0.4µm and 1µm.
• Copy WP0B-Lux as WP0C-Lux with DART tool "Simulation / Save as".
DART vegetation plot
• Simulation editor:
- "Spectral intervals" in 'Passive RS & RB parameters': to create 2 bands. right click +
+ (spectral range:
0.4µm-0.4µm, 1 band). Then, create the 2nd band with "Add" (1µm, ∆λ=0µm).
- "Products": no images, no LUT, no product per type of scene element and no orthorectified images.
- "Sensors": set 2 BRF cameras to oversample the solar and perpendicular planes (Figure 132.a).It is much more
efficient than simulating the whole 90° x 360° BRF map.
- "Earth scene": set the sub-zone {25m,20m) - (30m,25m)} using the option "Whole: sub" (Figure 132.b).
DART-FT: ∆xcell=∆ycell=5m, ∆zcell=0.1m. CT decreases if Illumination step D increases in "Passive RS & RB".
- "Earth scene plots": unset "Ignore this plot in mock-up creation" for the 1st plot in the definition of plots. LAI = 2.
a)
b)
Figure 132. a) BRF camera with oversampling in the solar plane. b) Sub-zone (vegetation plot).
Figure 133 shows ρplot(θ∈[-80° 80°], ∆θ=0.5°) in the solar and perpendicular planes for Nsample/direction = 2000 and 105,
at 0.4µm and 1µm. ρplot can be a bit more accurate if the phase module samples the vegetation scattering phase
function in directions in the solar / perpendicular planes (it increases CTphase depending on ∆θsample). ρplot is also
stored in brf.nc (i.e., interpolation of the 90°x360° BRF map for the DART discrete directions). Its accuracy
depends on the selected angular resolution of the 90°x360° BRF map; if it is ∆θ=∆φ=0.5°, then CT is much larger.
0
BRF map
320
0
BRF map
320
Figure 133. ρplot(θ∈[-80° 80°], ∆θ=0.5°) in the solar / perpendicular planes. 0.4 & 1µm. Nsamples/direction: a) 2000, b) 105.
107
4) Vegetation reflectance as a function of LAI: WP0D-Lux (CT24 simulations: 28"), WP0D-FT (CT24 simulations: 10")
Objective: 1) ρplot(LAI, ρground ) of a DART vegetation plot at 0.4µm and 1µm.
2) Use of the DART sequencer of simulations.
DART vegetation plot
• Copy WP0C-Lux as WP0D-Lux with DART tool "Simulation / Save as".
• Simulation editor:
- "Products": no image and no BRF camera.
- "Directions": add a single direction "Nadir" direction.
- "Optical properties": set "Multiplicative factor for database: " for the 1st lambertian property "ground".
• Create the sequence seq_ground_LAI.xml {LAI∈[0 6], ∆LAI=0.5; ρground (λ)=0 and 0.5 x Loam_sandy_brown…}
Use the method "Run / SequenceLauncher / Create Sequence" (Figure 130), then in the Sequence menu:
a) Click on
, then add the group 'Rground' {mode Enumerate, 2 cases ρground defined by "value 1 = 0" and
"value 2 = 0.5"} and the group 'LAI' {mode Linear, 13 cases 'LAI' defined by an initial value 0 and a step 0.5}.
b) "Preferences / Main Process…": set the processes and number of simulations to run in parallel (e.g., 8 if the
computer has at least 8 threads). Removing useless proceses decreases CT.
c) "Preferences / Delete…": set the files to be deleted to free up the hard disk; here, it deletes all files, except the LUT.
d) "Preferences / LUT…": set the data to store and "Only added directions" (⇒ BRF not simulated).
d)
b)
a)
c) (it frees hard disk from useless data)
Figure 134. Sequence creation. The 2 variables are ρground (2 values: 0 and 0.5) and LAI (13 values: 0 to 6; step=1).
• Run the sequence: "Run / SequenceLauncher / Prepare and run sequence".
• Display ρplot(LAI) with {ρground = 0 and ρground = 0.5 x 'loam_sandy_brown…' at 0.4µm and 1µm} with "View / LUT"
(Figure 135). If ρground >0, ρplot(λ=1µm,LAI) increases if LAI increases. It decreases at 0.4µm if ρground =0.
 Sequences can be run for any parameter and any landscape.
LAI
Figure 135. Nadir ρplot (LAI) at 0.4µm and 1µm, with ρground (λ)=0 and 0.5 x "loam…".
108
5) Time series: WP0E-Lux (CT29 simulations=23"), WP0E-FT (CT29 simulations=13")
Objective: variation of ETOA(t), EBOA(t) and ρplot(t) from 6h to 20h with 30mn time steps.
• Copy WP0D-Lux as WP0E-Lux with DART tool "Simulation / Save as".
• Simulation editor:
- "Passive RS & RB parameters / Spectral intervals": set only band (0.4µm, ∆λ=0µm).
- "Directions": set sun direction (option "Exact date": 5 am on 22/07/2018, Local time, Time zone 0: Figure 136).
Figure 136. Definition of sun direction
with the option "Exact date".
• Create the sequence [5h 19h30] {29 steps, ∆t=30mn}: "Run / SequenceLauncher / Create Sequence" (Figure 132)
b)
a)
(it frees hard disk from useless data)
Figure 137. a) Sequence setting {t∈[5h 19h], ∆t=30mn}. b) Data to delete and store in the LUT, and processes to run.
• Run the sequence: "Run / SequenceLauncher / Prepare and Run…" (Figure 132)
• Display LUT results: "View / LUT / File / Choose Simulation and select "Exact date" for the Ox axis. Figure 132
shows {ETOA (t), EBOA (t), EBOA,dir (t), EBOA,diff (t)} and ρplot (0°,t) at 0.4µm. ρplot is larger early and late in the day
because at that time EBOA,diff (t) > EBOA,dir (t), whereas ρplot,diff (t) > ρplot,dir (t).
a)
b)
Figure 138. a) TOA/BOA irradiance. b) Nadir reflectance. 0.4µm.
 File Seq_time_Status.json gives the status ('Processed', 'Not processed', 'Processing') of simulations of the sequence.
Simulations can be rerun by changing their status from 'Processed' to 'Not processed' without rerunning the others.
109
6) DART-created trees and Topography: WP0F-Lux (CT=2"), WP0F-FT (CT=9")
Objective: topography and influence of tree representation on scene reflectance.
• Copy WP0E as WP0F. Then, set the parameters:
- "Spectral intervals": bands 0.67µm and 1µm with ∆λ=0µm.
- "Direction": sun angles "Viewing angle: θs=30°, Φs=225°".
- Bi-directional parameters: ∆r = 0.125m. DART-FT (Passive RS & RB): illumination step = 0.015m.
- "Earth scene": "Whole: whole" ⇒ scene = 30m x 30m. ∆xcell=∆ycell=0.25m and ∆zcell=0.5m: only for creating trees.
 Scenes are identical in repeated simulations if option "
" is used.
- "Earth scene: plots": set "Ignore this plot in mock-up creation" for the 2 plots; then, the 2 plots are not simulated.
- "Earth scene: trees" with "Ignore trees in mock-up creation: ":
* Option "Exact tree location + random trunk/crown dimensions (mean, standard deviation) per tree specie".
* Create and import the file trees_WP0F.txt (4 trees of 2 tree species: Table 57).
* Species 1: default crown shape (ellipsoid), tree dimensions,… LAI=0.6.
* Species 2: right click / Duplicate on Species 1. LAI= 0.2. Crown: truncated cone (radius: bottom = 3m, top = 0.5m).
, Areatriangle: 0.1m2), then turbid-crowns.
Here, trees will be simulated with facet-crowns (
- "Import 3D object": windows. Their altitudes must be adapted to the DEM (window 1: 6.8m, window 2: 5.6m).
- "Import 3D object": Digital Elevation Model (DEM) 'dsm_gauss 50cm.obj' (it replaces 'dsm_gauss 50cm.obj'):
*
 and
(⇒ scene elements altitudes are relative to it).
* "Geometric properties: Position". Center the DEM at (15m, 15m).
_
_
* Set the DEM optical property "ρground", temperature property to (Tmineral) and color.
 Importation and creation of raster and vector (i.e., 3D object treated as a DEM) DEMs:
- {
+ User-defined (∆x,∆y): Figure 139} creates schematic raster DEMs (e.g., plane,
gaussian) that can be transformed into 3D objects using the method below.
- {Maket module + option
+ raster DEM} stores all facets of the scene into a 3D object
dsm.obj, which can be the DSM (Digital Surface Model) or the DEM if the scene is a pure ground surface.



c)
b)
Figure 139. 3D object creation  using a schematic DEM (e.g., horizontal)  and 0.5m cell resolution .
Species
0
0
0
1
Location
Trunk
Crown
X Y Hbelow Hwithin ∅ Type H ∅1 ∅2
8
20
2
6
0.5
0
9
8
8
20 8
16 16
25 20
3
1
2
5
4
5
0.4 0
0.3 0
0.4 1
8
7
6
7 7
6 5
4 0.5
Species: optical properties,…
Crown type: ellipsoidal shape (0),…
Table 55. File trees_WP0F.txt: Species, Location, Trunk, Crown. The header of file trees.txt in DART
database lists all possible parameters. Here, the option "Exact tree location + random
dimensions" only uses "Species, X, Y" of the tree file; all other parameters are set in the GUI.
110
Figure 133 shows DART-Lux and DART-FT nadir reflectance images at 0.67µm and 1µm, with a 0.125m spatial
resolution, for 2 types of tree crown simulation: crowns filled with 0.1m2 facets or turbid voxels. The mean values
of DART-Lux images of scenes with facet and turbid tree crowns are very close, with DART-Lux with facet crowns
being much faster, which stresses the interest of the transformation "Turbid → Facets" to get faster results.
 The on-going introduction of turbid and fluid volumes in DART model should greatly accelerate simulations with
turbid crowns because it allows one to simulate tree crowns as a limited number of large turbid volumes instead
of many small turbid voxels. These turbid volumes can be in a well defined envelope (e.g., ellipsoidal), each one
having specific properties (i.e., leaf reflectance / transmittance, leaf area volume density, leaf angle
distribution).This is illustrated by the simulation of clouds in WP0G-Lux.
Figure 133 also highlights the closeness of DART-Lux and DART-FT images, with DART-Lux being much faster,
and also more accurate if Nsample/pixel is large enough.
4s
Triangle trees
ρ�=0.193
a)
ρ�=0.399
0.67µm
1µm
32s
Turbid trees
0.67µm, Facets
1µm, Turbid
1µm, Facets
DART-FT
0.67µm, Turbid
ρ�=0.400
ρ�=0.193
b)
c)
ρ�=0.193
6mn
ρ�=0.403
d)
ρ�=0.192
36s
ρ�=0.403
Figure 140. Nadir images. a,b) DART-Lux. ∆r=0.125m. c,d) DART-FT. 0.67µm, 1µm. ∆r=0.25m. Turbid and triangle trees.
DART-Lux ρscene uncertainty is usually due to Monte Carlo noise and scene variability. We assess it with a sequence
3
1µm
that deletes all results except the LUTonly added directions {nadir ρ0.67µm
scene and ρscene with Nsample/pixel up to 10 (step = 10)}:
- Pure Monte Carlo noise: the sequence changes 5 times a parameter (e.g., SENSOR altitude) non influential on ρ(0°)
with the same 3D scene (e.g., maket module run by the "root" simulation, then not by the sequence).
- 3D scene uncertainty (here: facet random position / orientation) + Monte Carlo noise: it is assessed by the above
sequence, but a simulation of the 3D scene with option "
" at each simulation.
The plots in Figure 141 show that although trees occupy a small portion of the scene, the variability of nadir ρscene
due to the 3D scene uncertainty is much larger than that due to Monte Carlo noise with Nsample/pixel ≥ 10. It stresses
the uselessness to increase Nsample/pixel or Nsample/direction in order to get extremely small Monte Carlo noise.
111
MC noise + random
facet crowns: 0.67µm
MC noise: facet crowns
- 0.67µm -
MC noise: turbid crowns
- 0.67µm 0
200
400
600 Nsamples/pixel
0
200
400
600 Nsamples/pixel
400
600 Nsamples/pixel
0
200
400
600 Nsamples/pixel
MC noise + random
facet crowns: 1µm
MC: turbid crowns
- 1µm 0
200
MC noise: facet crowns
- 1µm 0
200
400
600 Nsamples/pixel
0
200
400
600 Nsamples/pixel
Figure 141. DART-Lux uncertainty. 5 simulations: Monte Carlo (MC) noise with same / variable scene.
Left: same turbid crowns. Center: same facet crowns. Right: crowns with random facets.
0.67µm (top) and 1µm (bottom).
7) Cloud simulation: WP0G-Lux (60s)
Objective: simulation of clouds (i.e., volumes filled with fluids).
• Copy WP0F-Lux with facet trees as WP0G-Lux. Then, set the parameters:
- 3 bands (0.4µm, 0.55µm, 0.68µm; ∆λ=0µm).
- Import the object "cloud" (1m x 1m x 1m), scale it (x7, x14, x8) and locate it at 33m altitude.
- Fluid optical property: "Rayleigh_air" with scaled band cross-section (x0.4, x1, x4).
- Fluid in the cloud: very high density (1030).
Cloud parameters are greatly exagerated to compensate for the cloud's extremely small dimensions (7m x 14m x
8m). In addition, a more cloud specific optical property should be used instead of the " Rayleigh_air" property.
Figure 142 shows the color composite of the 3 spectral nadir images at an altitude right above the low altitude cloud
and at TOA. The shadow of the cloud appears above a tree and the ground.
 Clouds can intersect each other and Earth scene elements, similarly as trees made of turbid volumes. This approach
differs from the inytersection of voxel-based Earth scene elements.
Figure 142. 3D scene with a low altitude cloud, and DART images above the cloud and TOA.
112
8) LiDAR: WP0H
a) LiDAR mono-pulse: WP0Ha-Lux (CT=1"), WP0Ha-RC (CT=1")
Objective: LiDAR signal of DART-Lux (bi-directional MC) & DART-RC (forward MC)
• Copy WP0F-Lux as WP0Ha-Lux and select "Radiation / Objective": LiDAR
• "LiDAR parameters": Energy of each pulse : 1 mJ (≈5.35 1015); Number of rays used to sample photons : 106.
- "Spectral intervals": 1.064µm
- "LiDAR geometry ": Stored waveform for height above/below minimum altitude : 50m
Footprint / FOV central direction  (0°), center  (15m, 15m)
- "Radii" : footprint: 12m, FOV: 15m.
- "ALS" : altitude: 10km.
• "Products": convolved waveform, photon image, per scene element type and photon information (Figure 148).
• "Scene": ∆x = ∆y = 1m. "Urban", "Plots", "Trees", "3D objects": ignore all elements; then, the scene is bare ground.

TLS
Half angles
Absolute distance from LiDAR







Figure 143. LiDAR mono pulse: menu.
1) Bare ground
The bare ground scene is simulated without and with the DEM. Figure 143 shows the resulting LiDAR images:
- BOA incident LiDAR pulse: 2D distribution of photons in footprint. We have: Nphotons ≈ 5.35 1015 (Npixels = 448).
- BOA backscattered LiDAR signal: Nphotons = 0 in the part of the FOV outside the footprint.
- BOA equivalent LiDAR reflectance: its mean value is 0.45825 that is very close to the actual ρground = 0.48578.
The slight vertical dissymmetry is being corrected.
Figure 145 shows two types of waveforms without and with the DEM:
- Raw waveform: theoretical case where all photons are launched at the same time (∆tpulse = 0s). It is stored in output
/ file LIDAR_DART_wave.txt.txt.
- Convolved waveforms: convolution of the raw waveforms with the realistic pulse signal (∆tpulse > 0s).
The raw and convolved waveforms have the same number of photons: 8.28 105 with no DEM and 8.09 105 with
the DEM. The number of photons is slightly smaller in presence of the DEM because its sloppy surfaces are less
illuminated than the horizontal ground surface.
113
Bare ground: no DEM
Bare ground: DEM
Figure 144. LiDAR mono pulse:LiDAR images for bare ground without DEM and with DEM.
a)
b)
Figure 145. LiDAR mono pulse of bare ground. a) Without DEM. b) With DEM.
2) 3D scene plus trees, house and DEM
The scene is simulated with the DART created trees, house (with its skylights) and the DEM (Figure 146). Here, a
pulse is simulated with 105 phtons. Figure 147 shows the waveforms of the scene and per type of scene element
114
(i.e., ground, roof, vegetation, etc.), where the scene element is the last scatterer. Their shapes depend on the scene
element altitudes, including the DEM, on single and multiple scattering by and between scene elements, and also
on the laser pulse duration. These interaction explain that the ground waveform is not a Dirac function and has non
null values for negative time on the horizontal axis (i.e., time = 0 ns for horizontal ground without scattering).
a)
b)
c)
Figure 146. LiDAR mono pulse: a) DART editor: scene with footprint and FOV. b) 2D view. c) 3D view.
Figure 147. LiDAR mono pulse: raw waveform per type of scene element.
DART-Lux and DART-RC results are very similar. Figure 148 shows images at the scene level (i.e., BOA):
incident LiDAR pulse, backscattered LiDAR signal and equivalent LiDAR reflectance. The two skylights appear
with dark tones because their reflectance is very low.
Photons reached ground
LiDAR BOA
LiDAR BOA reflectance
DART RC
DART-Lux
LiDAR pulse
Figure 148. LiDAR mono pulse: LiDAR pulse, Photons reached ground, LiDAR BOA signal and LiDAR
BOA signal reflectance. Top:DART-Lux. Bottom: DART-RC.
DART-RC gives the exact and apparent location of 3D last scattering per volume and scatterer (Figure 149).
115
a)
Exact scattering
location: per scatterer
b)
Apparent scattering
location: per scatterer
Exact scattering
location: per volume
c)
Figure 149. DART-RC. a) 1st and multiple order 1D waveform. b) Exact scattering location: c) Apparent
scattering location. d) Backscattered energy per volume unitThe energy can be thresholded.
b) LiDAR multi-pulse: WP0Hb-FT (CT= 40") and WP0Hb-Lux (1'43")
Objective: to illustrate the simulation of ALS.
DART-Lux input parameters are given below. They are the same for DART-FT. Presently,
DART-RC is advised because DART-Lux is slower. It will be improved soon.
• Copy WP0Ha-Lux as WP0Hb-Lux.
• DART-Lux: LiDAR / LiDAR parameters:
- Lidar mode: Image (multiple pulse). Nphotons = 4 104. 
- / Geometry / Radii : footprint= 0.3m, FOV=0.4m
- / ALS / Swath : altitude=1km


- / Swath:  swath width,
 Start (7m, 7m) /  end (23m, 23m) points,
 control point (0m, 0m),

 azimuth / range resolutions: 1m.




Figure 150. Multi-pulse menu.
 Presently, DART-Lux Lidar is slower than DART-TC if the number of photons / pulse is small, because
it up-dates the LiDAR configuration after each pulse. This is being improved.
116
Figure 151. ALS. Waveform of pulse 254 and 3D view of all waveforms.
c) LiDAR Discrete return: WP0Hc-Lux (CT = 44"), WP0Hc-FT (CT = 23")
With option "LiDAR Type": Discrete Return", a discrete points cloud is derived from a Gaussian decomposition
(GD) of DART waveforms. To ensure that all discrete points are detected by GD, set "Number of points per pulse"
to 10 or larger. File DetectedPoints.txt stores the point cloud. The open source code CloudCompare (Figure 152)
can display it.
Figure 152. Point cloud "DetectedPoints.txt ".
117
9) Large scene and DART-Lux parameters: WP0I-Lux (CT: 1'30")
Objective: ρDART-Lux
forest+relief and sensitivity analysis on parameters (Nscattering, Nsample/pixel) to get ρscene with a given accuracy.
• Simulation
- Scene (Figure 153): 100m x 100m (58°18'47.13"N, 27°17'48.23"E; UTC+2) with option "continuous slope" to
ensure the continuity of relief and scene elements when simulating a landscape made of the 3D scene of interest
and its duplications. Järvselja birch stand (RAMI experiment: rami-benchmark.jrc.ec.europa.eu): 18 tree species
(acer, populus,…) and 1047 trees simulated as clones of the 18 tree obj trees stored in "input\trees_simplified".
- Spectral bands: 0.44µm, 0.57µm, 0.66µm, 1µm.
- Date: 2023/08/20, 10h28' (i.e., θsun = 50.015° , φsun = 34.759°).
- Products: ρnadir image (∆r = 0.2m; Nsample/pixel = 10), 90°x360° BRF map (∆θ = ∆φ = 1°; Nsample/direction = 100), BRF map of
BRF camera (∆θ = ∆φ = 0.5°, φ=34.759°, θ∈[-90° 90°], Nsample/direction = 100, plus specific parameters; Figure 154).
Figure 155 stresses the role of Nsample/pixel and Nsample/direction by comparing the above products with those obtained with
Nsample/pixel= 103, Nsample/direction = 5 103 for the 90°x360° BRF map and Nsample/direction =105 for the BRF map of BRF camera.
Scene gobal slope
and its normal.
DEM
b)
Scene: mode 'Continuous slope'
to ensure continuity of relief and
scene elements (tree, house,…).
Here: neigbourhood = 1.
Birch forest
Figure 153. DART scene. a) Fictive DEM and its use with option "Continuous slope" and neighbouhood equal to 1.
b) RAMI Järvselja birch forest: a few trees and the simulated scene with the fictive DEM.
Figure 154. Menu of BRF camera. Parameters of "Target (plane)" (left) are in simulation.properties.txt.
118
• Results
- Images. Figure 155.a shows RGB color composites of the nadir reflectance images in bands 3, 2 and 1
simulated with Nsample/pixel = 10 and 103. Scene reflectance ρ spatially varies due to relief. Band image mean
� are equal if Nsample/pixel = 10 and 103. Using Nsample/pixel = 103 instead of 10 greatly reduces Monte Carlo
values 𝝆𝝆
noise at pixel level and the range of reflectance values. Reflectance images at 0.44µm (Figure 155.b), at nadir
�0.44µm
�0.44µm
and hot spot directions, highlight the anisotropy of the scene reflectance: 𝛒𝛒
hot spot =0.036.
nadir =0.0092 ≪ 𝛒𝛒
- 90° x 360° BRF map (any angular step ∆θ=∆φ). Figure 155.c shows BRF maps at 0.44µm simulated with
Nsample/direction = 100 and 5000, with ∆θ=∆φ=1° over the whole angular range 90°x360° (i.e., the BRF map has 90
lines and 360 rows). As expected, the BRF map simulated with Nsample/direction = 5000 has less Monte Carlo noise.
- Polar plot: ρ(θ,φ) (∀ step ∆θ or ∆φ). Two methods give this plot (Figure 155.d,f):  Interpolation of N reflectance
data derived from the 90°x360° BRF map for N user-defined discrete directions.  Interpolation of all reflectance
data of the 90°x360° BRF map. Method 2 is usually the most efficient. For example, method 1 needs very large N,
which can greatly increase simulation time in presence of scene elements simulated with turbid volumes. Angular
zones without data can be noted, as they correspond to directions in which the scene cannot be seen due to relief.
- 1D plot: ρ(θ,φ=cst), ρ(θ=cst,φ). It can be created by a method that creates polar plots. Method 2 is again more
efficient, especially if it uses a BRF map simulated by a BRF sensor only for the azimuth or zenith plane of interest.
Figure 155.e shows 1D plots at 0.44µm and 1µm from method 2 with a BRF sensor's BRF map for φ = 34.759° (i.e.,
solar plane), for Nsample/direction = 102 and 105. Monte Carlo noise decreases with large Nsample/direction.
Nsample/pixel = 103
Nsample/pixel = 10
Nsample/pixel
a)
100
1000
ρ�0.44µm
ρ�0.67µm
ρ�1µm
ρ�0.55µm
nadir
nadir
nadir
nadir
0.0092 - [6 10-20 0.074] 0.0212 - [10-8 0.140] 0.0103 - [7 10-15 0.147] 0.19 - [7.7 10-4 1.2]
0.0092 - [9 10-4 0.032] 0.0212 - [0.002 0.083] 0.0103 - [5 10-4 0.071] 0.19 - [0.028 0.66]
0.44µm, Nsample/pixel = 103
Hot spot: ρscene=0.036
b)
Nadir: ρscene = 0.0092
119
Scene not viewed in
this angular region
c)
Scene not viewed in
this angular region

0.44µm (SKYL = 52%)
ρ(θv,φv) of the forest stand for (θsun = 50.015°, φsun = 34.759°)
Method 1: interpolation on brf.nc
Method 2: direct interpolation on BRF map
1µm (SKYL = 16%)
Scene not viewed in
this angular region
d)
∆θ = 0.5°  Nsample/direction = 102  Nsample/direction = 105
{
{
f)
e)
-80°
-40°
0°
40°
80°
-80°
-40°
0°
40°
 Interpolation of data in brf.nc
 Display of data in BRF maps
80°
Figure 155. Directional reflectance of Järvselja birch forest. a) RGB nadir images with Nsample/pixel = 10 and 103. Needed
RAM < 1.5Gb. b) Images in nadir and hot spot directions at 0.44µm. c) 90°x360° BRF map at 0.44µm for
Nsample/direction = 102 and 5 103. d) ρ(θ,φ) at 0.44µm and 1µm, with methods  and . e) ρ(θ,φ=cst) at
0.44µm and 1µm with method  and Nsample/direction = 102 and 105. f) Menu for methods  and .
 When re-running a simulation in which only radiative transfer parameters (e.g., Nscattering, Nsample/pixel) are
changed, there is no need to re-run the maket module (i.e., creation of the scene), thus saving computing time.
120
• Analysis of reflectance accuracy with Nscattering and Monte Carlo noise
The accuracy of scene reflectance depends on several factors. Here we analyze how the accuracy of nadir viewing
reflectance ρ(0°) depends on the maximal number of scattering events Nscattering and Monte Carlo noise, for different
values of Nsample/pixel. Here, since only the mean value of reflectance images is of interest, hard disk requirements
can be greatly reduced by considering a spatial resolution equal to the size of the scene (i.e., 100m).
To evaluate Monte Carlo noise, each simulation is run NMC = 5 times by setting 5 distinct values to a DART
parameter (e.g., SENSOR altitude) that does not influence ρ(0°). This is done by the sequencer for 3 values of
Nscattering (i.e., 10, 20, 80). It leads to 15 simulations (i.e., NMC x Nscattering) of ρ(0°) at 0.2m with 20 save steps each.
This analysis could be done using the BRF map instead of the nadir image. Then, depending on factors such as the
viewing directions of interest, the most efficient solution would be to use a BRF map simulated by the BRF camera.
Then, the sequence would simulate 15 spectral BRF maps with 20 save steps each. Note that the accuracy of ρ(0°)
only depends on the total number of samples used to compute it. This number is equal to Nsample/direction if we simulate
BRF maps and Npixel x Nsample/pixel is we simulate images.
Figure 156 shows ρ(0°) at 0.44µm and 1µm derived from nadir images, for Nscattering = 10, 20 and 80. At 0.44µm,
ρ(0°) is almost constant, with variations in the Monte Carlo noise range. At 1µm, ρ(0°) greatly increases from
Nscattering = 10 to Nscattering = 80, due to the large single scattering albedo of vegetation at 1µm.
Figure 157 shows relative errors of the mean nadir reflectance image ρ(0°) at 0.44µm and 1µm, using a reference
value which is the mean of all images simulated with Nscattering = 80; it is 0.009158 at 0.44µm and 0.185192535 at
1µm. As expected, the relative error of ρ(0°) decreases if Nsample/pixel increases.
DART-Lux needs ≈ 1.5Gb whatever the spatial resolution of the simulated images. This is much less than the
voxel-based DART-FT method which needs more than 400Gb of RAM if ∆r = 0.125m, and much more if ∆r =
0.05m. In addition, DART-FT is much slower for simulating images.
— Nscattering = 10
— Nscattering = 20
— Nscattering = 80
— Nscattering = 10
— Nscattering = 20
— Nscattering = 80
a)
b)
Figure 156. Variation of nadir reflectance ρ(0°): 5 NMC, 3 Nscattering (10, 20, 80), {Nsample/pixel ∈ [5 100]; Δsave
image = 5}. a)
0.44µm. b) 1µm.
Figure 157. Relative error of
ρ(0°) at 0.44µm (blue) and 1µm
(red) as a function of Nsample/pixel.
121
10) Study of adjacency effect in satellite images: WP0J-Lux (CT: 1'5")
Objective: to quantify the adjacency effect in satellite images.
The adjacency effect corresponds to the influence of the neighbourhood of a target on its observed reflectance.
Here, we consider TOA reflectance at 0.4µm. We quantify it using DART-Lux and its pure Monte Carlo
atmosphere mode for a disc (radius: 5km, ρdisc = 0) in a white square background (104km x 104km, ρbackground = 1).
Figure 158 shows the disc and its neighborhood It also shows the FOV of a camera that observes the disc and the
image of this camera. Here, the "DART python script launcher" (Figure 159) launches the python script "" in order
to get TOA reflectance as a function of distance from the disc center up to the circumference of the disc. This
schematic example illustrates the importance of the adjacency effect.
 TOA reflectance for the disc center tends to 0.268 and not 0. Why?
10km
104km
Disk: ρ = 0
Background: ρ = 1
Figure 158. Scene, ground FOV (red color) of the camera and image of this camera.
Figure 159. ρTOA(distance from disc center) determined with python script "adjacentEffect.py.
11) DART DAO: WP0K-Lux (CT: 1'5")
Objective: use of DAO (Python API: example_lux.py) to create a 3D scene without using the maket module of DART.
Python script: DART\bin\python_script\DAO\examples\basic_examples\Readme.txt.
a)
b)
c)
d)
Figure 160. a) Launch of "example_lux.py" using "Tools / Python Script Launcher". b) The 3D objects used: cloud,
plane, palm tree, rice plant, topography. c) The created 3D scene with 3D. d) The resulting DART image.
122
12) DART atmosphere database from AERONET/ECMWF data: WP0L-Lux (CT: 1")
Objective: to create the DART atmosphere database dart_atmosphere_NASA_KSC.db from AERONET and ECMWF
data of NASA KSC site (28.46376°N, 80.66348°W, z=1.2m) in Florida, USA (Figure 162).
• Copy WP0B-Lux as WP0L-Lux with DART tool "Simulation / Save as". Actually, it could be any simulation.
• Launch "DART\bin\python_script\AERONET_ECMWF\Aerosols-Gases.py" using "Tools / Python Script Launcher".
 Compare the gas and aerosol properties in dart_atmosphere_NASA_KSC.db and standard dart_atmosphere.db.
……………..
ption
Comment
-copy
-f_i
-f_o
-f_AOD
-l_AOD
-m_a
-n_aAOD
-f_SSA
-l_SSA
-f_ASY
-l_ASY
-n_aHg
-f_gaz
-m_g
-n_gTRANS
-f_nc
-f_txt
-h1
-h0
-i
-n_gTEMP
Example: "Input_parameters.txt"
Add tables = no or copy database = yes -copy yes
Input DART atmosphere database path -f_i 'D:\DART\database\dart_atmosphere.db'
Output DART atmosphere database path -f_o 'D:\DART\user_data\database\dart_atmosphere_NASA_KSC.db'
AERONET AOD file .lev15 or .lev20 path -f_AOD 'D:\DART\bin\python_script\AERONET_ECMWF\Data\20220101_20220131_NASA_KSC.lev20'
Line of the date selected
-l_AOD 8
Aerosol model
-m_a TROPOV50
AOD table name
-n_aAOD NASA_KSC_aAOD
AERONET SSA file path
-f_SSA 'D:\DART\bin\python_script\AERONET_ECMWF\Data\20220101_20220131_NASA_KSC.ssa'
Line of the date selected
-l_SSA 8
AERONET ASY file path
-f_ASY 'D:\DART\bin\python_script\AERONET_ECMWF\Data\20220101_20220131_NASA_KSC.asy'
Line of the date selected
-l_ASY 8
HG table name
-n_aHg NASA_KSC_aHG
AERONET AOD file .tot_lev15 or .tot_lev20 path -f_gaz 'D:\DART\bin\python_script\AERONET_ECMWF\Data\20220101_20220131_NASA_KSC.tot_lev20'
Gas model
-m_g MIDLATWIN
Transmitance table name
-n_gTRANS NASA_KSC_gTRANS
ECMWF .nc file path
-f_nc 'D:\DART\bin\python_script\AERONET_ECMWF\Data\12h.nc'
ECMWF .txt file path
-f_txt 'D:\DART\bin\python_script\AERONET_ECMWF\Data\12h.txt'
1st data hour
-h1 0
Hour select
-h0 0
Interpolation = yes if not = no
-i no
Temperature table name
-n_gTEMP NASA_KSC_gTEMP
Figure 161. Creation of dart_atmosphere_NASA_KSC.db with "Aerosols_Gases.py" from "Tools / Python Script
Launcher", using data and Input_parameters.txt in DART\bin\python_script\AERONET_ECMWF.
13) Inversion of a satellite image as a map of optical property (OP) per urban material: WP0M-Lux (CT: 1')
Objective: to illustrate the inversion process. Simulation "Satellite image small" creates a simple 40x40m satellite
image that simulation "Inversion_satellite_small" inverted with a procedure in DART\bin\python_script\
OpticalPropertiesInversion\inversion\read_me.txt. The 2 simulations are in the folder WP0M (Figure 162)
_
a)
b)
c)
_
d)
Figure 162. Satellite image inversion. a) 3D scene. b) DART simulated satellite. c) DART resulting image after
inversion. d) Satellite and DART images relative difference as a function of the iteration value.
123
VII.2 REFLECTANCE: WP1
Objective: - To manipulate lambertian surfaces (i.e., isotropic radiance and reflectance) and spectral /
broadband terms: radiance Lλ(Ω) / L∆λ(Ω)), exitance Mλ / M∆λ, irradiance Eλ / E∆λ, biπ.L (Ω)
π.L (Ω)
directional reflectance factor (BRF) ρλ(Ω) = λ /ρ∆λ(Ω) = Δλ ,…
Eλ
EΔλ
- To create mono-band (1 band) & multi-band (N bands) simulations of 2D scenes and to
display their images{ρxy,λ(Ω), Lxy,λ(Ω),…} and 2D / 1D plots: ρ�xy,λ (Ω), ρ�xy,λ (θ,φ=cst), LUT,… x
- To create a spectral sequence (cf. III.5.3) of mono-band simulations and its LUT.
z
Ω
dΩ
θ
y
φ
The 2 DART modes (Bi-Directional Monte Carlo, Forward: initial mode) give similar image and radiative budget
(RB) products. 'Forward' (i.e., 'DART-FT: Passive RS & RB' uses the DOM; 'DART-RC: LiDAR' uses the RC method)
is optimal for simple scenes and RB. Being optimal for complex 3D scenes, 'Bi-Directional' (i.e., DART-Lux) is
advised here. Screen copies show how to create WP1-Lux and WP1-FT simulations with parameters in Table 58.
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Bi-directional (Forward). Transition: TOA ↔ BOA: Analytic
Advanced mode: Number of threads in DART tracking: Nb cores of your computer
Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
Passive RS & RB parameters
Spectral intervals/Spectral band Mode R, λmean=0.705µm, ∆λ=0.01µm ⇒ [0.70µm 0.71µm]
Maximal scattering order: 5
Forward parameters
Max. scattering order: 80 Pixel size: 1m Sample density/pixel (image): 50 Nscene repetition: 1
Bi-directional parameters
Periodic save: No Max. time / image: 60 (0 ⇔ no limit) Russian Roulette: 
Write BRF/BTF files and maps  Type of product: Radiance & Reflectance/Temp.
Products
BRF/BTF  Maximal zenith angle of images: 25° Target sample density / direction (BRF): 50
OrthoImages and Irradiance: Industry standard ⇒ Exitance and Albedo images 
Name: "Lamb_ro=0.50". Database: Lambertian_mineral.db
"Optical &
Temperature Surface "Lambertian" Reflectance model: reflect_equal_1_trans_equal_0_0
properties"
Multiplicative factor (same for all bands):  (0.5, 0, 0, 0) ⇒ ρ = 0.5
Cell: ∆x = ∆y = 1m, ∆z = 1m (Bi-Dir: not used here). Scene: ∆X = 50m, ∆Y = 50m
"Earth scene"
Phase function's name: Lamb_ro=0.50
"Passive RS & RB"
Table 56. WP1A parameters with those specific to the Forward (DART-FT) and Bi-directional (DART-Lux) modes.
They are stored in xml files (i.e., text files) in the simulation 'input' folder. After entering them in the GUI, save the
simulation (command 'File / Save simulation'). Then, the symbol "*" on top of the editor menu panel disappears.
1) Preparation and run of a DART simulation: WP1A-FT (computer time CT=3"), WP1A-Lux (CT=16")
Objective: to get started with the edition and run of a DART simulation, 1D and 2D displays,...
• Create WP1A-* (Simulation / New simulation); * = FT or Lux. It creates 2 empty folders (input, output) in WP1A-*.
• Enter data of Table 58 into the simulation (GUI command 'Parameters / Editor': Figure 163)
 Light propagation mode: 'Bi-directional' (⇒ DART-Lux *.Lux simulations) or 'Forward' (DART-FT).

a)


b)

Figure 163. Radiation menu.  Light propagation mode: 'Forward' to create WP*-FT simulations and
'Bi-directional' to create WP*-Lux simulations.  'Transition:TOA ↔ BOA": Analytic model'.
124
- Irradiance or radiance (Figure 163): here, an analytic model (option: "TOA→BOA transfer"; Table 3) derives BOA
irradiance {EBOA,λ, SKYLλ} from the 'Thuiller-Kurucz' TOA spectral irradiance ETOA,λ in database 'solar_constant.db';
W/m2/µm) and atmosphere properties in DART database 'dart_atmosphere.db'. It does not compute the BOA→TOA
transfer and therefore does not compute upward TOA data (⇒ in the LUT: L↑TOA (Ω)=L↑BOA (Ω) ∀Ω and MBOA =MTOA .
 Other scene illumination modes are possible (not used here) such as: spectral radiance LBOA,λ(Ω), band irradiance
or solar constant EBOA,λ (W/m2/µm) + SKYLλ =
Esky,λ
EBOA,λ
(1: 100% cloud cover; 0: no scattering atmosphere).
 The analytical model is less accurate than atmosphere RT, and is more accurate for ρscene than for Lscene. Why?
Right click
to zoom
Weighting: Band optical property = Mean of {spectral
optical property weighted by spectral sun irradiance}
Figure 164. Specification of TOA irradiance using the spectral irradiance table ThKur.
- Forward parameters: DART-FT iterates N times (here, N=5). IterX is the extrapolated data from last 4 iterations.
- Bi-directional parameters (Figure 165):  Max scattering order,  Pixel size,  Number of samplings / pixel,…



a)
b)
Figure 165. Parameters specific to the Bi-directional mode (a) and Forward mode (b).
- Spectral intervals (Figure 166): {central wavelength λm, bandwidth ∆λ; µm}. A mouse right click on 'Spectral
intervals' adds single bands or a range of bands. The index ( ) indicates the number of user defined intervals.
Figure 166. The spectral band
[0.70 0.71] and its mode R.
125
- DART products (Figure 167)
- Earth scene (Figure 169): repetitive horizontal 50m x 50m plane (CellDART-FT: 1m). ρscene = "Lamb_ro=0.50.
Figure 167. BRF/BTF menu: products. a) Forward mode (left) and Bi-directional mode (right).
Here, θmax = 25° ⇒ only images with θv <25° are stored to save computer memory.
- Optical property (Figure 169): create reflectance ρ=0.5, called "Lamb_ro=0.50", by multiplying reflectance ρ=1
of model "reflect_equal_1_trans_equal_0_0" in database "lambertian_mineral.db" by 0.5 for all bands.
Option to use:
same factor for
all DART bands
(b)
(a)
Figure 168. Optical property "Lamb_ro=0.50": ρ=0.5. Multiplicative factor: unique (a) or differs (b) for all bands.
• Run DART: menu 'Run / DART'.
It runs sequentially the 4 basic modules (directions, phase, maket, dart) and those set in the "Properties" menu.
Modules can be run 1 per 1. The GUI "Console" shows log data.
126
Figure 169. Scene geometry.
 The scene is repetitive. It could
be isolated or with an infinite
continuous topography (slope).
In DART-Lux, the number of
scene repetitions is set in "Bidirectional" parameters.
 ∆x=∆y, ∆z. For DART-FT: the
cell size of the scene mock-up
is the pixel size of the
simulated images. For DARTLux: cells are only used to
simulate the 3D turbid
elements elements and 3D RB.
 Scene dimensions.
 Ground optical properties.




• Display DART discrete directions: menu 'View / Directions 3D View' (Figure 170)
This 3D view shows the user-defined U upward and D downward discrete directions that sub-divide the 4π space,
and V user-added viewing directions. DART-FT tracks radiation in the U+D discrete directions, whereas DARTLux tracks it in Monte Carlo derived directions. Images X xy (Ωv ), with X = radiance L, reflectance ρ or brightness
temperature TB, are stored for all V + U* directions, with U* a user-defined subset of the U directions. DART-FT
simulates them for all U + V directions, and DART-Lux for V + U* directions. brf.nc stores {θv, φv, mean value
�
Xxy (Ωv ) per simulated image X xy (Ωv ,ΔΩv ). For the (U - U*) directions where DART-Lux does not simulate images,
they store �
X xy (Ωv ) as an interpolation of data of the BRF map over ∆Ωv.
Image "BRF map": �
Xxy (θv ∈[0; 89], φv ∈[0; 359]; Δθv =𝚫𝚫φv =1°. Only DART-Lux (bi-directional mode) creates it, if
one sets the option "
" in the Editor or option "
" in the LUT.
DART-Lux
DART-FT
Images - simulated V + U
V + U*
X xy (θ,φ) - stored
V + U*
V + U*
� xy (θ,φ)
V+U
(V + U*)image + (U - U*)BRF map
brf.nc data X
Figure 170. a) 3D view of directions. b) Simulated and stored images, and stored brf.nc file. X = ρ, L or TB.
• 2D view of the scene (only DART-FT: menu 'View / Scene 2D')
It shows xy, xz and yz cross sections of the scene (Figure 171). 3D data (e.g., scene temperature) can be overlaid.
b)
2D display:
1st xy plane
a)
y
Sun direction
x
3D view
Figure 171. The simulated scene.
a) 2D view: xy, xz, yz planes. Here: 1st xy plane.
b) 3D view: axes, sun direction and the scene.
To show 3D data (e.g., temperatures.txt,
not present here) on the 2D display
• 3D view of the scene (menu 'View / Scene 2D')
It shows a 3D view of the scene, including the Ox, Oy and Oz axes and sun rays (Figure 171.b).
127
• Display dart.txt and simulation.properties.txt (output folder): menu 'View/Report-Data files'
a) dart.txt (Figure 128). It stores input data (band irradiance ETOA,λ and EBOA,λ , SKYLλ ,…) and a few results:
- DART-Lux: exitance Mλ and albedo Aλ or brightness temperature TB,λ , possibly per time step i.
- DART-FT: 3 data per iteration i∈[1 I] and extrapolation X from I-3 to I. a) Albedo Aλ,i /Aλ,X if
band mode = R or brightness temperature TB,λ,i if mode = T or R+T. b) Aλ,X(i) /TB,λ,X(i) extrapolated
from i-4 to i-1. c) Exitance MBOA,λ,i /MBOA,λ,X . Convergence if Aλ,X(I)/TB,λ,X(I) ≈Aλ,X /TB,λ,X.
 Verify that Mλ = Aλ x EBOA,λ .
b) simulation.properties.txt (Figure 173): input data of DART modules.
Figure 172. SimulationProperties file: input data of DART modules. It can be used to
check DART parameters. Here, the 1st (index o) lambertian property stores reflectance
Ro = 0.5, Diffuse transmittance TauDiffus=0, and Direct transmittance TauDirect = 0.
• Display DART images: menu 'View' / 'Image' (Figure 173)
A reflectance / radiance directional image imaN_VZ=xx_VA=y.mp# is a scene parallel projection onto a plane
perpendicular to the viewing direction number N with zenith xx and azimuth yy angles. It has a diamond shape for
oblique directions. Its ortho image (i.e., scene rectangular reference), in 'Orthorectfied', is rectangular. Only DARTFT simulates the ortho images 'Exitance', 'Irradiance' and 'Albedo' (i.e., angular integrals of ortho images over 2π+).
 Option 'Save as': to copy a current simulation as a new simulation with the same input folder. Here,
WP1A-FT can be created from WP1A-Lux, then replacing light mode 'Bi-directional' by 'Forward'.
 Tool'Stats' of 'Mask Editor' (Figure 173.a): check that scene reflectance ρ(x,y) fluctuates around
0.5 in all DART-Lux images and is exactly 0.5 in all DART-FT images (Figure 173.b). Why?
 "Simulation / Simulation explorer": short-cut to the files of the simulation. Example: check that the "output"
folder of the simulation stores DART products per spectral band q, in folders BANDq in folders 'BRF' and
'Radiance', and per iteration i in folders ITERi, each one with a folder 'IMAGES_DART' that stores DART images.
 The BRF map {ρscene(θ,φ), θ∈[0 89], φ∈[0 359], ∆θ=∆φ=1°} (90 lines x 360 columns) of DART-Lux has
ρ�scene = 0.5001 and σρscene = 5 10-2. In theory, ρ�scene = 0 and σρscene = 0. How to decrease σρscene ?
DART-FT
DART-FT
=Axy,λ
.EBOA,λ =π.Lxy,λ . Conversely to DART-FT, DART-Lux does not simulate Mxy,λ images.
 Check: MDART-FT
xy,λ
a)
x
y
x
30°
Mask edition:
- any shape
- rectangle
Remove pixels
y
b)
Display reset
Import &
Save a mask
Mask statistics
Figure 173. DART images and menus 'View' / 'Image' to display images and image statistics. a) DART-Lux:
nadir image (correct mean value (i.e., 0.5); Monte Carlo noisy aspect) and BRF map. b) DART-FT: nadir and
oblique (θv=22.4°, φv=30°) images. Pixels outside the simulated scene have a NaN value (yellow color).
128
• Plot 1D and 2D scene reflectance ρscene(θv,φv=cst) and ρscene(θv,φv) (Figure 175)
 View/Directional R.../1D: ρscene(θv,φv=cst). Plot of ρscene(θv,φv=cst) in brf.nc, with or without interpolation.
 View / Directional R.../2D: ρscene(θv,φv). Plot of ρscene(θv,φv=cst) in brf.nc,, with interpolation.
 View BRF map: ρscene(θv,φv). Plot from ρscene(θv,φv) in the BRF map with θv∈[0; 89] and φv∈[0; 359].
 Extract & View from LUT: ρscene(θv,φv). Plot from ρscene(θv,φv) in the BRF
DART-Lux
 ρDART-FT
scene (Ωv) = 0.5 ∀ Ωv and pixel (x,y), while ρscene has slight fluctuations that decrease with Nsample,BRF. Why?
Figure 174. DART data storage:
images
in
folder
IMAGES_DART
and
reflectance ρ( θv, φv) in
brf.nc in folder output.




File brf.nc
DART-FT
DART-Lux
DART-FT:2D
To add files: brf, radiance, Tapp
DART-Lux: 2D & extract
DART-Lux: BRF map
Figure 175.
DART-Lux and DART-FT plots of 1D
ρscene(θ,φ=cst) and 2D ρscene(θ,φ) with
discrete (x) and sun (•) directions.
2) Scene spectral & broadband terms (8 bands: [0.4 0.8µm], ∆λ=0.05µm):
Objective: equence of 8 mono-band simulations {λn, ∆λn=0.05µm, n∈[1 8]}. A LUT stores results EBOA,Δλn , MBOA,Δλn …
The BroadBand module transforms results into broadband data EBOA,Δλ , MBOA,Δλ … with ∆λ=Σn∆λn.
 Create WP1B-α from WP1A-α, with α =Lux or FT, with the option "Save as".
• Editor (to reduce CT): 2mx2m scene, only nadir image (
: 1), no ortho-image (
: No)
• Run menu: create / edit and run the sequence (SequenceLauncher) WP1B-FT (CT=3s), WP1B-Lux (18s)
 The root simulation must be "mono-band" (i.e., 1 spectral band) in spectral sequences (i.e., λ is a varying variable).
* Create a sequence  Process & threads to run: to reduce computer time, run N simulations in parallel and only
needed processes. Total number of threads is M.N if each simulation uses M threads.
(file *.xml; here:

Delete (not used here): reduce hard disk memory (products are zipped or deleted)
spectral_seq.xml)
 LUT: SQL database that can store most DART non imaging products (ρscene, Lscene,...).
Figure 153
 Add the variable parameters. Here: {Central wavelength λmean and Spectral bandwidth
∆λ = 0.5µm} with "Linear" variation mode to define 8 adjacent bands in [0.4µm 0.8µm].
* Edit a sequence: to edit an already created sequence.
* Prepare / Run Sequence: it creates the *_Launcher.xml file (here: spectral_seq_Launcher.xml) that stores the setting
of all simulations (here: spectral_seq_0, spectral_seq_1,…), then creates the folder 'sequence' in the root simulation
with all simulations and input folders, then runs the *launcher.xml file.
* Start/Continue Sequence: used to continue a sequence previously stopped with the command "Stop sequence".
Verify with the plots of the LUT: Mscene,λ = ρscene,λ.Escene,λ, Mscene,λ = π.Lscene,λ.
129
• Multi-band simulation (8 bands [0.4 0.45],...,[0.75 0.8]): WP1B-Lux_multi (CT=2s)
- Editor menu (option "Add range of"): set the 8 bands ⇔
- Set the LUT creation in the "Run" menu.
 The multi-band has the same results as the sequence of
mono-band simulations and is much faster. Why?
Deleting many old simulations takes
time when re-running a sequence



b)
a)

Storing sequence log data
into a text file takes less
time than displaying it on
computer screen.



Storage in SQL data base
Other possibility: csv
file (1 line / parameter)
Example: 0.425; 0.05
0.050; 0.0


Calculation time is divided by
4 if the computer has 4 cores,
1st term and step
of the arithmetic.
Selects & unselects
variable parameters
Storage for a few directions⇒ smaller LUT
Figure 176. Creation of a sequence of 8 mono-band simulations: [0.4 0.45μm], [0.45 0.5μm],...
a) General menu. b) Preferences and display options for the run of the sequence:  Processes to run with N simulations
in parallel (the RAM increases with larger N).  To delete products.  Data to store in the LUT. c) Option to add variables
�, Δλ: ) and variation mode (here : linear). They vary together in a same group, and independently if not.
: here (λ
Figure 177. Data from the LUT and Broadband.
direct
diffuse
, EBOA,λ
, MBOA,λ, LBOA,λ
a) Plots: ETOA,λ, EBOA,λ, EBOA,λ
Top of atmosphere (TOA) irradiance per spectral band:
ETOA,λ = spectral solar cst x cos(sun zenith angle).
Bottom of atmosphere (BOA) irradiance per band:
EBOA,λ = [tsun,dir(Ωs) + tsun,dif].ETOA,λ,
with direct (along Ωs) tsun,dir and diffuse tsun,dif
transmittance atmosphere that is simulated here as
{gas: US Standard; aerosol: Rural 23km}.
b) Broadband data over [0.4µm 0.8µm] computed with
the "Band calculation / BroadBand" tool (cf. below).
The last column gives the files that store data.
a)
130
[0.4 0.45] [0.45 0.5] [0.5 0.55] [0.55 0.6] [0.6 0.65] [0.65 0.7] [0.7 0.75] [0.75 0.8]
0.5
0.5
0.5
0.5
0.5
0.5
0.5
1782
1637
1574
1450
1310
1180
1051
1474
1383
1322
1251
1152
1025
896
607
737
691
661
626
576
513
448
193
235
220
210
199
183
163
143
brf.nc
In folder Output
0.5
1545
1213
0.5 (constant ∀ viewing direction Ωv)
485.9 W/m2 (1214.7 W/m2/µm for ∆λ=0.4µm)
77.3
W/m2/sr
(constant∀ Ωv) (193.3
W/m2/µm
for ∆λ=0.4µm)
242.9 W/m2 (607.3 W/m2/sr/µm for ∆λ=0.4µm)
dart.txt, LUT
dart.txt,LUT
dart.txt, LUTt
LUT
brf.nc
In folder
BroadBand
Reflectance ρBOA,λ
Irradiance ETOA,λ (W/m2/µm)
Irradiance EBOA,λ (W/m2/µm)
Exitance MBOA,λ (W/m2/µm)
Radiance LBOA,λ (W/m2/sr/µm)
Reflectance ρBOA,∆λ
Irradiance EBOA,∆λ (W/m2)
Radiance LBOA,∆λ (W/m2/sr)
b) Exitance MBOA,∆λ (W/m2)
Files that store data
Irradiance.txt, Broadband GUI
Radiance
Exitance.txt, BroadBand GUI
• Apply 'Tools / Band calculation tools / Broadband / Spectral sequence of monoband simulations' to the sequence
(Figure 178). The Broadband folder stores broadband ρBOA,∆λ, ETOA,∆λ,... with ∆λ = 0.4µm (Figure 177.b).
Figure 178. Broadband
(Tools / Band calculation tools).
Broadband data EBOA,∆λ, MBOA,∆λ
and A∆λ. They can be computed
(not here) using a sensor spectral
sensitivity and sub-zones (i.e.,
masks) possibly created in
"DART View image" menu.
The Broadband folder also
stores ρ∆λ and L∆λ.
Figure 179.
Names and locations of files that
BroadBand
data
in
store
simulation WP1B.
• Simulation 1
• Simulation 2,...
 Other method for Broadband (Figure 180): run broadband.py with 'Tools / Python Script Launcher".
Figure 180. Tools / Python Script Launcher.
It runs DART python modules. To run the
Broadband.py module, get its command
in the Broadband console , copy its
script parameters in the bottom window
 and set paths between apostrophes (').


131
3) Vegetation spectra (12 bands: [0.4µm 1µm], ∆λ=0.05µm): WP1C
Objective: sequence and multi-band simulations as in WP1B with ρground=ρvegetation instead of 0.5.
• Editor: Set ρground(λ) = ρgrass rye(λ) from database 'Lambertian_vegetation.db' and unset its multiplicative factor since
: Figure 156). To save simulation time, do not store images:
⇒
it is 1. Plot ρground(λ) (
results from the BRF map are stored in the LUT.
Figure 181. Optical property
"ground" defined with
spectral
model
"grass_rye" of database
"Lambertian_vegetation".
• Sequence of 12 mono-band simulations: WP1C-FT (CT=5"), WP1C-Lux (CT=28")
Plot the LUT spectral data (tool 'View' / 'LUT' to view): ρscene(λ), Mscene(λ), Lscene(λ),… (Figure 157).
 Exitance Mscene(λ) and radiance Lscene(λ) spectra are proportional. Why? What is the factor?

∂EBOA (λ)
∂λ
and
∂MBOA (λ)
∂λ
vary differently; example: at λ ≈ 0.7µm,
∂MBOA (λ)
∂λ
>0 and
∂EBOA (λ)
∂λ
Figure 182. Tool "View / LUT":
scene reflectance (a), and
irradiance / exitance / radiance (b).
<0. Why?
TOA irradiance
BOA irradiance
BOA exitance
BOA upward
radiance
a)
1µm
b)
(µm)
• Multi-band simulation (12 bands): WP1C-FT_multi (CT=1"), WP1C-Lux_multi (CT=2")
 The multi-band simulation gives the same results as the sequence, but is much faster. Why?
4) Atmosphere analytic model vs. Atmosphere RT (270 bands: [0.3µm 3µm], ∆λ=0.01µm): WP1D-FT (CT=1")
Objective: to compare EBOA simulated with the "Analytical model" and "Atmosphere radiative transfer (RT)" modes.
• Default atmosphere: gas model: US Standard, aerosol model: Rural (VIS=23km).
The Analytic model (Figure 158.a) (DART-FT: CT=1"; DART-Lux: CT=7") is less accurate and faster than the
atmosphere RT (Figure 158.b) (DART-FT-RT: CT=5'30"; DART-Lux-RT: CT=5'40"). The file atmosphereMaket.nc
stores atmosphere properties: transmittance per absorbing gas, for all scattering gases and aerosols, etc.
U.S. Standard"; aerosols: "Rural" with visibility = 23km, θs=30°
Figure 183. Irradiance / exitance LUT
spectra ([0.3 - 3µm], ∆λ=0.01µm) from
the LUT. The irradiance spectra of the
analytic model (a) is close to that of
the "exact" atmosphere RT (b).
Atmosphere RT
Analytic model
TOA irradiance
TOA irradiance
BOA irradiance
BOA irradiance
BOA exitance
Sun irradiance calculator:
www.pvlighthouse.com.au/calculators/solar%2
0spectrum%20calculator/solar%20spectrum%2
0cal culator.aspx.
TOA exitance
BOA exitance
a)
b)
132
5) Scene UV/VIS/ IR radiative budget: WP1E
Objective: to assess with sequence and multi-band simulations the accuracy of surface (ρground=ρgrass rye) radiative budget
RBBOA = EBOA - MBOA over Δλsun =[0.3 2.5µm] (Table 59), for different numbers Nband of bands to sample Δλsun ,
with Nband = 1, 3 (UV [0.3 0.4µm], VIS [0.4 0.7µm], SWIR [0.7 2.5µm]), 30 (10 bands for UV, VIS, SWIR).
_
RBBOA,∆λ: the LUT and dart.txt file store it if Nband = 1; the tool "Band calculation \ BroadBand" computes it if Nband > 1,
possibly with weights g(λ) on ground reflectance and atmosphere terms X(λ) (⇒ X Δλ =
∫Δλ X(λ).g(λ).dλ
g Δλ = ∫Δλ g(λ).dλ
; Figure 159):
Weighting of reflectance: for a lambertian surface, the DART product MDART
BOA,Δλ =ρground,Δλ . EBOA,Δλ is equal to the actual
value MBOA,Δλ = ∫Δλ ρground (λ).EBOA (λ).dλ if ρground,Δλ is computed with the spectral weight g(λ)=Esun,BOA (λ) :
1 ∫Δλ ρground (λ).Esun,BOA (λ).dλ ∫Δλ ρground (λ).dλ
ρground,Δλ = .
Δλ
∫Δλ Esun,BOA (λ).dλ
≠
Δλ
with Esun,BOA (λ) from the DART atmosphere analytic model.
∫ X(λ).Esun,TOA (λ).dλ
Weighting of atmosphere terms X∆λ (in 'atmosphere.txt' file) with the weight Esun,TOA(λ): X Δλ = Δλ
∫ Δτaer (λ).Esun,TOA (λ).dλ
X={Tg,abs ,Tg,scat ,ωaer }; Δτ*aer = Δλ
∫Δλ Esun,TOA (λ).dλ
∫Δλ Esun,TOA (λ).dλ
∫ eΔτaer (λ) .Esun,TOA (λ).dλ
Δλ
. DART gives Δτ*aer but Δτ**
aer =-ln(
∫Δλ Esun,TOA (λ).dλ
with
) is a bit better.
Figure 184. Weighting of atmosphere terms
 and reflectance .


• WP1Ea: multiband with 3 bands (UV, VIS, SWIR)
The 3 spectral TOA irradiance EBOA,Δλ𝒊𝒊 , BOA exitance MBOA,Δλ𝒊𝒊 ,... from the LUT and dart.txt file (Figure 160) show
that ETOA,Δλ is larger in the VIS band, "Total back-scattered to BOA" is null in the absence of atmosphere RT,…
 MBOA,Δλ𝒊𝒊 can greatly change if EBOA (λ) weight is used or not for computing ρground,Δλ . For example, over [0.7
2.5µm], MBOA,λ =70.1 W/m2/µm without weight and 100.1 W/m2/µm with weight (Table 59). Why?
Figure 185. E∆λ and
per
band:
M∆λ
dart.txt file (left) and
LUT (right).
• WP1Eb: 1 sequence of 3 mono-band simulations (UV,VIS,IR)
Set the sequencer: 2 variable parameters (central wavelength, bandwidth) with the 'Enumerate' mode.
 Use the sequence's LUT or dart.txt per simulation to check that ETOA,∆λ, EBOA,∆λ and M BOA,∆λ are as for WP1Ea.
• WP1Ec: 3 sequences (UV, VIS, IR) of 10 mono-band simulations each (Figure 161, Figure 162).
Apply the tool "BroadBand" per sequence to get E BOA,∆λ and M BOA,∆λ for each broadband UV, VIS and SWIR.
 Verify that ETOA,∆λ, EBOA,∆λ are identical as in WP1Ea.
 Unlike in WP1Ea, MBOA,∆λ varies very little if ρground,Δλ is computed with or without Esun,BOA (λ) weight. Why?
133
Figure 186. Sequencer menu.
Definition of the 10 spectral bands
(i.e., λi, ∆λi, i∈[0 9]) that sample
the spectral band UV).
W/m2/µm UV VIS
SWIR
Figure 187. TOA and BOA spectral irradiance
and BOA exitance of the UV, VIS
and SWIR LUTs. Analytic model.
• WP1Ed: 1 band ([0.3µm 2.5µm])
 MBOA,∆λ is exact if ρground,Δλ is computed with the Esun,BOA (λ) weight, and less accurate otherwise. Why?
• WP1Ee, WP1Ef, WP1Eg (as WP1Ea, WP1Ec and WP1Ed, but "Atmosphere RT" replaces "Analytic model")
Compared to the "exact" atmosphere radiative transfer, the analytic model gives EBOA,∆λ and MBOA,∆λ with a
relative error less than 4%.The relative error can increase with larger sun zenith angle.
Irradiance TOA
With analytic model
[0.4 0.7]
1139 W/m2
[0.7 2.5]
[0.3 0.4]
[0.4 0.7]
Exitance BOA (W/m2/µm): w, nw
[0.3 0.4] [0.4 0.7] [0.7 2.5]
18.3
81.4
101.0
848
1549.7
327.5
526.2
1299.4
243.9
WP1Ea: 1 interval / band; no sequence W/m2/µm W/m2/µm W/m2/µm W/m2/µm W/m2/µm W/m2/µm nw:17.8 nw:81.0 nw:70.1
208 W/m2 (nw: 152 W/m2)
18.3
81.4
101.0
WP1Eb: 1 interval / band; sequence
a)
84.8W/m2 465W/m2 589W/m2 52.6W/m2 390 W/m2 439 W/m2 18.3
81.4
101.1
nw: 18.3 nw: 81.4 nw: 100.2
WP1Ec: 10 intervals / band; sequence
208 W/m2 (nw: 208.2 W/m2)
WP1Ed: 1 band [0.3µm 2.5µm]
[0.3 0.4]
Irradiance BOA
[0.7 2.5]
881 W/m2
208 W/m2 (nw: 216 W/m2)
With atmosphere radiative transfer
No coupling - Coupling (coupl.)
With coupling
531
1351
246.0
18.7
85.3
102.6
b) WP1Ee: 1 interval / band; no sequence
848
1549.7
327.5 coupl: 537 coupl: 1362 coupl: 248 nw: 18.1 nw: 84.9 nw: 70.6
(as WP1Ea)
212 W/m2 (nw: 154 W/m2)
W/m2/µm W/m2/µm W/m2/µm 901 W/m2 (coupl.: 908 W/m2)
540 / 545 1349/1360 247.1/249.1 18.8 / 19.0 84.5 / 85.1 102.6/103.6
WP1Ef: 10 intervals / band; sequence
84.8W/m2 465W/m2 589W/m2 54.0W/m2 405 W/m2 430 W/m2 213.6 W/m2 (nw: 212.3 W/m2)
(as WP1c)
WP1Eg: 1 band [0.3µm 2.5µm]
1139 W/m2
900 W/m2 (coupl.: 916 W/m2)
216 W/m2 (nw: 225 W/m2)
Table 57. TOA and BOA spectral irradiance / exitance (W/m2/µm, W/m2) from BroadBand and dart.txt file:
a) Analytic model. b) Atmosphere RT. θs = 30°. US standard gas model. RuralV23 aerosol model. Symbol 'nw' stands
for 'no weight' for reflectance and atmosphere. Atmosphere backscattering increases BOA irradiance by ≈1.2% in
UV and ≈0.8% in VIS and SWIR. Most irradiance and exitance data are from the LUT and dart.txt files.
134
VII.3 TEMPERATURE: WP2
atmosphere
Objective (theory):
- Stephan-Boltzmann law: M = σ.T4, with σ = 5.6704 10-8 W/m2/K4 (cf. Chapter VI)
- Planck law: LB,λ (T)=
2.h.c 2
2
W/m
h.c
λ5 .(eλ.k.T -1)
/sr/m (h = 6.63 10-34 J.s, k = 1.3807 10-23 J/K)
- Brightness temperature TB: ground, Bottom (BOA) / Top (TOA) of the Atmosphere,…
- Scene emissivity ϵ(Ω)=1-ρ(2π→Ω): isotropic (ϵ(Ω)=ϵ) for lambertian scene (ρ(Ω)=ρ).
* scene {εscene≠1, Tscene}: ∃/ T | LB(λ,T) = εscene.LB(λ,Tscene) ∀λ ⇒ TB,scene(λ1) ≠ TB scene(λ2) if λ1 ≠ λ2
- Scene not a
blackbody if:
EA
* scene made of 2 blackbodies: ∃/ T | LB(λ,T) = LB(λ,T1) + LB(λ,T2) ∀λ ⇒ TB(λ1) ≠ TB(λ2) if λ1 ≠ λ2
A
EA
Objective (DART): to manage DART sequences and LUT, and to learn DART modes T (atmosphere / earth thermal
emission) and R+T (sun illumination + atmosphere / earth thermal emission).
2
2W/m
000 /µm
Spectral irradiance
TOA irradiance (Kurucz)
1 500
Figure 188.Sun and blackbody
(5800K and 5900K) emission.
The wavelength λmax at which
maximal emission occurs decreases
with temperature T (Wien law).
- - - Blackbody: 5900K and 5800K
1 000
500
λmax ≈ 0.5µm if T= 5800K and
λmax ≈ 9.7µm if T= 300K
0
0.200
0.700
1.200
1.700
"Passive RS & RB"
Passive RS & RB parameters
Spectral intervals/Spectral band
Forward parameters
Bi-directional parameters
Products
"Optical &
Temperature
properties"
BRF/BTF
Surface "Lambertian"
"Temperature property"/
"Earth scene"
"Earth scene: 3D imported object" +
'Ponctual object  right click': Square.obj'
2.200
2.700 µm
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Forward (Bi-directional)
Transition: TOA ↔ BOA: Analytic model (EBOA(λ) = f(ETOA(λ), ∆τatm(λ), TB,atm)
Advanced mode: Number of threads in DART tracking: Nb cores of your computer
Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
Atmosphere brightness temperature (Tatm): 0K
Mode T, λmoy=10µm, ∆λ=0µm ⇒ [10µm 10µm] + Planck
Maximal scattering order: 5
Max. scattering order: 80 Target pixel size: 1m Nscene repetitions: 1. No periodic save
Target sample density / pixel (images): 50 Target sample density / direction (BRF): 50
Max. rendering time per image: 0 (⇔ no limit) Russian Roulette:  Cut-off depth:10
Units of images: Radiance & temperature Maximal zenith angle of images: 25°
Name: "r=0". Database: Lambertian_mineral
Lambertian model: reflect_equal_1_trans_equal_0_0
Multiplicative factor (same for all bands):  (0, 0, 0, 0) ⇒ ρ = 0
No unique Temp. Name: T300. Mean: 300. Delta: 0. Name: T0. Mean: 0. Delta: 0
Cell: ∆x = ∆y = 1m, ∆z = 1m (not used by Bi-Dir), Scene: ∆X = 10m, ∆Y = 10m
Optical property: r=0. Temperature: T300
Object: Color:leaf. Optical: r=0. Temperature: top side: T300, bottom side: T0
Position: X=Y=5m,Z=10-5m. Scale factor: X=Y=Z=6, SDxyz=0
Table 58. WP2A parameters with those specific to the Forward (DART-FT) and Bi-directional (DART-Lux) modes.
8 10
2
y
2
Plot
8
10
x
Ground
Figure 189. DART simulated scene with a 6mx 6m sub-zone,
called "plot", simulated as a square10-4 m above the ground.
In DART scenes, the Ox axis is along vertical downward.
Areaplot = 36m2, Areaground = 64m2.
135
1) Brightness temperature of a homogeneous landscape: WP2A
Objective: to study the impact of scene elements reflectance on scene brightness temperature.
a) WP2A_FT (CT=1") and WP2A-Lux (CT=9")
 Create the mono-band simulation WP2A-FT (Table 60, Figure 189), then save it as WP2A-Lux.
• Display images TB(x,y): tool 'View / Image' for nadir and oblique (θv=22°,φv=30°) view directions (Figure 190.a)
• Display 1D plot TB,scene(θv,φv=cst) with {'View / Directional R... / 1D' + file WP2A_...\output\BAND0\Tapp\ITERX\Tapp}
 Why TB,scene(θv,φv) is isotropic and equal to 300K?
• Repeat the above steps for the 2 following cases:
- ρground = ρplot = 1. Why TB,scene = 0K?
L
- ρground = ρplot = 0.5. Thus: ε = 0.5 and Lscene = B . Why does TB,scene (262K) differ from
2
TB,scene
2
= 150K?
 WP2A_Lux gives most WP2A_FT products, plus the 360° x 90° BTF map TB,scene(θ,φ), used to create the Tapp file.
 DART-Lux, below: add the nadir viewing direction, unset all items of "Products" (⇒ no creation of BTF
map), and create a LUT with products for the option "Only for the added directions". It will decrease CT.
x
y
30° x
300K
a)
DART-FT & Lux
y
θv∈[-80° 80°],
plot
φv1D
=cst
300K
DART-Lux
DART-FT
2D plot: 50
upward directions
b)
Figure 190. TB. a) DART-FT and DART-Lux nadir and oblique (θ=22°, φ=30°) images. b) 1D and 2D plots.
2) Impact of sun reflected radiation on ground brightness temperature: WP2Ba and WP2Bb (CT=1")
Objective: to study how sun reflected radiation affects the scene nadir brightness temperature TB,scene, at different λ.
• Copy WP2A as WP2Ba: set 3 bands {3µm: mode T+R, 3µm: mode T, 10µm: mode T; ∆λ=0} and ρground = ρplot = 0
 Why TB,scene = 300K for the 3 bands?
top face
• Copy WP2Ba as WP2Bb: ρground = ρplot
= 0.5.
- TB,scene(3µm, mode T) =288K<300K, and TB,scene(3µm, mode R+T)=406K ≫ 300K. Why?
- TB,scene(3µm, mode T) > TB,scene(10µm, mode T) = 262K whereas ε3µm = ε10µm. Why?
- TB,scene(θ,φ=cst)=cst ∀ θ, φ (Figure 191). Why?
3µm (R+T)
3µm (R+T)
3µm (T) 10µm (T)
a)
b)
Figure 191. Scene brightness temperature TB,scene. ρplot
=ρground =0.5, Tplot =300K, Tground =300K. a) WP2Bb-FT:
TB(θ,φ=cst). Display tool: 'View /Direct…/ 1D' + file
Tapp. 
: to add curves from same or other Tapp
files. b) WP2Bb-Lux: TB,scene(θ=0°) in the LUT.
3) Brightness temperature of 2 adjacent blackbodies at different temperatures: WP2C (CT=1")
Objective: to show that the juxtaposition of 2 blackbodies at different temperatures is not a blackbody.
• Copy WP2A as WP2C ({3µm, 6µm, 10µm, ∆λ=0, mode T}; Tground = 300K, Tplot = 500K, ρground = ρplot = 0) and run it
Scene radiance is Lscene(λ)=0.36 LB(λ,TB,plot) + 0.64 LB(λ,TB,ground).
 The scene is not a blackbody (Figure 192). Indeed, its brightness temperature TB,scene, defined by LB(λ,TB,scene)
= Lscene(λ), varies with λ. File dart.txt gives: TB,scene,3µm=452K > TB,scene,6µm=418K > TB,scene,10µm=395K.
 TB,scene differs from the spatial average of TB,x,y. Verify it with the nadir image TB,scene(λ) (Figure 193). The tool
'Stats' of 'View Image' menu gives TB,x,y=
Areaplot .TB,plot (λ)+Areaground .TB,ground (λ)
Areaplot +Areaground
Proof: Scene = 2 blackbodies (T1, T2) of same area ⇒ Lscene =LB (TB,scene )=
=372K, for the 3 bands.
LB (T1 )+LB (T2 )
2
T1 +T2
> LB (
2
T1 +T2
) ⇒ TB,scene >
136
2
TB,scene
(K)
3µm
Tground=300K, Tplot=500K,
ρground = ρplot = 0

6µm




10µm
b)
a)
Figure 192. Brightness temperature TB,scene(λ) (Scene Brightness Temperature.xlsx).
a) LB(λ, Τ=300Κ, 395Κ, 418Κ, 452Κ) LB,scene(λ) and TB,scene(λ): 452Κ at 3µm (: LB,scene(3µm)=LB(452Κ),
418Κ at 6µm (: LB,scene(6µm)=LB(418Κ)) and 395Κ at 10µm (: LB,scene(10µm)=LB(395Κ)).
b) TB,ground(θv), TB,plot(θv). Plot them at a few φv to check their isotropy (i.e., TB,scene(θv,φv=cst) =cst ∀ (θv,φv)).
_
_
� with
Figure 193. Computation of T
tool 'Stats'.
4) Simulation of spectral and broadband quantities: WP2D
Objective: scene thermal infrared (TIR) spectra and broadband (Broadband tool) E, TB,... over 3-15µm. Mode (R+T).
Scene: 2 blackbodies {ρground = ρplot = 0, Tground = 300K, Tplot = 400K}. Tatm = 280K (Figure 194). Results are in a LUT.
2 methods: multi-band simulation (12 bands) and sequence of 12 mono-band simulations, followed by BroadBand.
Figure 194. Atmosphere defined as an isotropic plane with
temperature TB=280K where it is a black body (e.g., 6.5µm).
a) Multi-band simulation (12 bands: [3µm 4µm],…,[14µm 15µm]; mode "R+T"): WP2D_multi (CT=1")
The simulation stores spectral data (index λ) in the file dart.txt (Table 61) and in a LUT (Table 62):
- TOA direct sun irradiance ETOA (W/m2/µm): irradiance of an horizontal plane. ETOA →0 if λ >>1 (e.g., 10µm).
- BOA direct sun irradiance EBOA,dir (W/m2/µm): irradiance of an horizontal plane.
- BOA diffuse irradiance EBOA,diff (W/m2/µm): atmosphere thermal emission and scattering of sun radiation.
- BOA total (W/m2/µm): EBOA = EBOA,dir + EBOA,diff (horizontal plane).
- Total back-scattered to BOA: here, it is null because there is no atmosphere R.T.
BOA diffuse irradiance
- Absorption ETOA - EBOA (W/m2/µm), SKYL =
BOA total irradiance
, TB,scene (K) and Mscene,∆λ (W/m2/µm).
 Check the relationship between BOA spectral radiance LBOA (λ) and exitance MBOA (λ) of lambertian surfaces.
 The scene direct irradiance EBOA,dir (λ) decreases irregularlywith λ: 0 at 6.5µm and 0.028 at 7.5µm. Why?
 The scene irradiance varies decreases erratically from 3µm to 15µm. Why?
 The exitance MBOA (λ) increases from 3µm to ≈8µm then decreases. Why?
 TB (λ) decreases from 364K to 340K when 𝝀𝝀� increases from 3.5µm up to 14.5µm. Why?
 The Broadband tool indicates TB,∆λ over [0.4µm 15µm] = 339K whereas TB(λ)>340K ∀λ. Why?
137
3.5µm
4.5µm
5.5µm
6.5µm
7.5µm
Table 59. Part of dart.txt file: multi-band simulation (12 bands).
a)
c)
b)
[3 4]
TOA direct sun (W/m2/µm)
13.4
BOA direct sun
6.9
BOA diffuse (W/m2/µm)
0.29
BOA total
7.19
SKYL
0.04
Brightness temperature λ
363.8
RadianceBOA (W/m2/sr/µm)
3.12
ExitanceBOA (W/m2/µm)
9.79
Brightness temperatureBOA,∆λ,Ω
IrradianceBOA,∆λ
RadianceBOA,λ
ExitanceBOA,∆λ
[4 5]
4.86
1.59
1.58
3.17
0.5
358.7
8.82
27.73
[5 6]
2.22
0.13
6.27
6.4
0.98
354.3
14.71
46.25
[6 7]
1.17
0
11.87
11.87
1
350.9
18.67
58.7
[7 8]
0.67
0.03
15.8
15.83
1
348.2
20.36
64.03
[8 9] [9 10] [10 11] [11 12] [12 13] [13 14] [14 15]
0.41 0.26 0.18 0.12
0.28 0.15 0.15 0.1
5.93 9.8 3.27 3.87
6.21 9.94 3.41 3.97
0.96 0.99 0.96 0.97
346.0 343.1 343.4 342.3
20.31 19.2 17.55 15.72
63.9 60.41 55.23 49.45
339.62 K
107.19 W/m2 (8.93 W/m2/µm)
175.17 W/m2/sr (14.6 W/m2/sr/µm)
551 W/m2 (45.92 W/m2/µm)
0.09
0.06
6.62
6.68
0.99
341.5
13.89
43.7
0.07
0.01
15.13
15.14
1
340.8
12.18
38.33
0.05
0
17.37
17.37
1
340.2
10.64
33.47
Table 60. Scene spectral and broadband quantities over [3µm 15µm]. a) LUT menu and
spectral irradiance & exitance. b) Spectral brightness temperature. c) Values and Broadband data.
b) Spectral sequence (12 mono-band simulations: [3µm 4µm],…,[14µm 15µm]; mode "R+T"): WP2D_seq (CT=6")
Copy WP2D_multi as WP2D_seq, keep 1 band only. Then, create and run a sequence of 12 bands (Figure 170).
 Verify for a few values, that spectral and broadband quantities of Table 62 are correct.
 Is it preferable to use the sequence of mono-band simulations or the multi-band simulation?
Figure 195: Sequence of 12 monoband simulations (λmean= 3.5µm,
4.5µm,..., ∆λ=1µm).
5) Non spectral sequences
a) Detection of ice vs ground pixels, at 2 atmosphere temperatures: WP2E (CT=10")
Objective: for which ρground values, a low flying nadir imaging TIR sensor (10µm, ∆λ=0.2µm; sensitivity: 10K) can
set apart pure ice (ρice=0, 273K ⇒ TB,ice = 273K) and pure ground (ρground, 273K) pixels, if TB,atm= 280K and 240K.
Approach: ρground for which TB,scene > TB,scene + 10K on the plot TB,scene(ρground, TB,atm= 280K and 240K) from the LUT.
138
 Do not simulate products (images, BRF / BTF files and map) for the discrete directions, add the nadir direction,
and set the option "Store only for added direction" in the LUT menu. Results are only stored in the LUT
• Create a root mono-band simulation {Scene 1x1, No atmosphere RT, LUT}
• Create / run the sequence (Figure 171) {ρground ∈ [0 1], ∆ρground = 0.1}, Tatm = 280K and 240K ⇒ LUT.
• Plot TB(ρground, Tatm) using the tool "View/LUT" (Figure 172)
 For which ρground values can we discriminate pure ice and ground pixels at Tatm = 280K and 240K?
 Why does TB(ground) increase with ρground if Tatm = 280K and decrease with ρground if Tatm = 240K ?
Process and threads to run
File delete options
Figure 196. Sequence "Seq_ground" with 2 groups: ρground from 0 to 1 with step=0.1, and Tatm=240K and 280K.
ρground
Figure 197. LUT display:
TB(ρground, Tatm), with the selection
of fixed and free parameters. The
values of each curve are shown.
Tatm
b) Detecting a fire in a pixel, depending on the fire area: WP2F (CT=8")
Objective: what pixel fraction a fire must cover to be detected by a low flying sensor (10m pixel size; 2 TIR bands:
3µm, 10µm, ∆λ=0), knowing that it is detected only if TB,scene with fire > TB,ground + 40K?
- Scene: 10mx10m ( ∆x,y=∆z=1m. No product, apart the added nadir image for DART-Lux. No atmosphere RT.
TB,atm = 280K}.The fire is simulated by a 1 x 1m imported 3D object (square: square.obj) slightly above the ground
(e.g., 0.01m) in order not to confuse it with the ground. Tground = 300K, Tfire = 500K, ρfire = ρground = 0.
- Sequence: 33 simulations with scale factors of the square.obj sides {ax ∈ [1 3], ay ∈ [0 10], ∆ax = ∆ay=1} in distinct
groups (Figure 174). The LUT stores TB,scene (fire area Afire=ax.ay) (Figure 175). It can be exported as a csv file.
 What is the smaller detectable fire area, with 1% precision in terms of area?
 Why detection is better at 3µm than at 10µm?
139
Process and threads to run


Figure 198. 2 groups (X, Y) sequence that varies the area of the imported square.
- Menu "Process and threads to run": set "Triangle File Processor" because each simulation modifies a 3D object
made of triangles; "Direction" and "Phase" can be unset if the DART root simulation already computed DART
directions and phase products since the sequence does not modify DART directions and Phase products.
- A click on a selected parameter (), followed by a click on , highlights the selected "availailable parameter" ().
Figure 199. TB(y scale) for λ=3µm
with x scale = 1, and 10µm, with
x scale = 1 and 2.
c) Detecting a fire area, depending on its temperature: WP2G (CT=11")
Simulation: 100m2 scene with a 1m2 fire. No atmosphere RT. Tground = 300K,
ρfire = ρground = 0. TB,atm = 280K.
Sequence: Tfire increases from 300K with ∆Tfire =20K and Nsteps=40.
 Above which Tfire, the fire is detected at 10μm and 3µm (detection threshold ∆T=40K)?
Figure 200. TB,scene(Tfire). λ=3µm, 10µm
6) Stephan Boltzmann law vs. Planck law: WP2H
Objective: to test DART simulation of Boltzmann law for 2 spectral ranges ([1µm 99µm], [1µm 201µm]).
∝
Theory: thermal exitance Mg =ϵg .σ.Tg4 =π. ∫0 ϵg (λ).LB (λ,T).dλ with ϵg =
∝
∫0 ϵg (λ).LB (λ,T).dλ
∝
∫0 LB (λ,T).dλ
=
∝
𝝅𝝅.∫0 ϵg (λ).LB (λ,T).dλ
σ.Tg4
and Planck
radiance LB (λ,T). For a perfectly emitting surface (i.e., black body): ε = 1, M(T = 300K) = 459.3W/m2.
Scene {∆X=∆Y=1m, ∆x = ∆y = ∆z = 1m, Tg = 300K, ρg(λ) = 0, No atmosphere RT, Tatm=0K} with 3 configurations:
a) Mono-band simulation {mode T, [λmin λmax], option "Boltzmann"} (Figure 177) (CT=1")
Mg =459.3W/m2 (cf. dart.txt file) is exact. DART band
(λ� =50µm, ∆λ=98µm) is only used for computing ϵg .
Here, it is useless since ρg , and consequently ϵg , are
spectral constant. Hence, DART bandwidth should be
correctly specified if ϵg (i.e., ρg ) varies with λ.
Figure 201.
Mode T with
Boltzmann option.
b) Mono-band simulation {Mode T + option "Planck}
Spectral range [1µm 99µm]: Mg (λ) = 4.664125 W/m2/µm (cf. dart.txt file) ⇒ Mg = 457.1 W/m2
Spectral range [1µm 201µm]: Mg (λ) = 2.29508 W/m2/µm (cf. dart.txt file) ⇒ Mg = 459 W/m2
c) Multi-band simulation {Mode T + option "Planck"}
140
The mono-band approach becomes inaccurate if ϵg varies with λ. Then, the solution is to divide the spectral
domain into N spectral bands, and to apply the 'BroadBand' tool to these N bands. Here, the accuracy in term
of N is assessed for a grass cover (spectral property: grass_rye), with Tatm = 0K and with N = {1, 10, 100, 1000}.
 Constant bandwidth is not optimal:spectral sampling should be denser at Max{ϵg (λ).LB (λ,T)}
Mg (W/m ) - λ∈[1µm 99µm]
Mg (W/m2) - λ∈[1µm 201µm]
Phase module
Computer time
Dart.FT module
(8 cores + SSD)
Dart.Lux module
2
a)
1
138.363
138.948
<1s
1s
1s
10
345.695
212.860
<1s
1s
2s
100
446.242
448.144
2s
1s
4s
1000
446.286
448.180
20s
5s
14s
b)
Figure 202. a) Mg (λ∈[1µm 99µm]) of a grass cover simulated with 1, 10, 102, 103 bands. b) Mground (λ).
7) Sun radiation reflected by the Earth vs. Thermal emission of the Earth: WP2I
Objective: to assess the wavelength λthreshold where sun induced Earth exitance MBOA,sun(λ) = Earth thermal exitance
MBOA,thermal(λ). This is done by comparing MBOA,sun(λ) and MBOA,thermal(λ), for ρground=0.01, 0.1 and 0.5.
Scene: Tg=300K, Tatm=280K, θs=30°. [2 5µm], ∆λ=30nm. USSTD gas model. Rural V23 aerosol. Analytic model.
• Run a sequence on ρground (0.01, 0.1, 0.5) with 100 bands in mode (R) and also in mode (T), over [2µm 5µm].
• Plot MBOA,sun(λ) and MBOA,thermal(λ) (i.e., exitance M in mode (R) and (T)) with the LUT viewer.
 λthreshold depends on ρground (Figure 179): ρground = 0.01, 0.1, 0.5 ⇒ λthreshold =2.495µm, 3.575µm, 4.115µm.
 λthreshold changes during the day. Why? How?
W/m2/µm
Figure 203. BOA exitance: reflexion of sun radiation (red) and thermal emission (blue).
ρground=0.01, 0.1 and 0.5. The inner graph is a zoom for ρground=0.01.
141
VII.4 HOUSE, SPECULAR AND POLARIZED REFLECTANCE, ATMOSPHERE: WP3
Objective: - Influence of scene 3D geometry on its observed reflectance ρ*scene (e.g., a 3D scene made of lambertian
elements is usually not lambertian), using images at 1 and multiple scattering order 1.
� s .Ω
� slope
Ω
*
� slope , ρ
�
For a slope (Ω
slope ) with sun direction Ωs and no atmosphere: ρ1,slope =ρslope . �
� gound
Ωs .Ω
=ρslope .
Eslope
EBOA
.
- Color composites, linear combinations of spectral images, atmosphere radiative transfer and polarization.
"Passive RS & RB"
Passive RS & RB parameters
Spectral intervals/Spectral band
Forward parameters
Bi-directional parameters
Products
BRF/BTF
Sensors BRF camera Oversampling plane
"Direction
input
parameters"
Oversampled plane
Single direction
"Optical &
Temperature
properties"
"Surface"/"Lambertian"
"Temperature"
"Earth scene"
/ "Building"
"Earth scene:
/ "House"
Urban … / Buildings"
/ "wall, roof"
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Forward (Bi-directional)
Transition: TOA ↔ BOA: No atmosphere RT (TOA = BOA)
Advanced Number of threads in DART tracking: Nb cores of your computer
mode
Smaller mesh size D of BOA irradiance sources: 0.05m
Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
Mode R, λmoy=0.7µm, ∆λ=0µm ⇒ [0.7µm 0.70µm]
Maximal scattering order: 5
Max scattering order: 80. Pixel size: 0.2m. Nscene repetitions: 5. ∆tsave: 0
Sample density / pixel: 200. Max time / image: 0. Russian roulette:  Cut-off depth: 6
Type of product: Radiance, Reflect. / Temp. Maximal zenith angle of images: 1°
1st order scattering  (not yet in Bi-directional). Sample density / direction: 50
Samples/pixel:50. Fixed angle: Phi. Azimuth: 225°. θ ∈ [-80° 80°]. ∆θ = 1°.
Sun zenith angle: 30°, Sun azimuth angle: 225°
Plane azimuth: 225°. Direction zenith step: 1°. Solid angle (sr): 10-3
Zenith: 41.1°. Azimuth: 30°.
Name: r=0.5. Database: Lambertian_mineral. Model: reflect_equal_1_trans_equal_0_0
Multiplicative factor per spectral band:  (0.5, 0, 0, 0) ⇒ ρ = 0.5
Thermal function: Name: T280. Mean: 280. Delta: 0
Cell: 0.2m x 0.2m (Bi-Dir: not used here). Scene: 20m x 20m. Ground: r=0.5, T280
Wall & Roof optical property: r=0.5
House / Type of roof: Classic
Wall and Roof: coordinates x,y,z of their vertices (cf. Figure 204)
Table 61. Parameters including those specific to "Forward" (DART-FT) and "Bi-directional" (DART-Lux) light modes.
11
3
3
W1
R1
20
y
Figure 204: "Classic" house in a 20mx20m scene.
The house geometry is set by vertices that are input
in a anticlockwise direction: 4 vertices (W1, W2, W3,
W4) for the walls and 2 points (R1, R2), for the roof.
W4
House
11 W2
20
x
W3
R2
Ground
Mock-up 3D view
Height of walls: 4m. Height of the roof ridge: 6m.
1) 1st and multiple scattering order reflectance images: WP3A-Lux (CT=9"), WP3A-FT (CT=9")
Objective: differences between 1st and multiple scattering order images.
• Display DART 1st and multiple scattering order nadir and oblique (θv = 41.1°, φv = 30°) viewing images
Figure 205 shows DART-Lux and DART-FT 1st and multiple scattering reflectance images. DART-FT is run with 2
illumination grids (i.e., Dillu = 0.05m and 0.5m) to illustrate the influence of Dillu on the visual aspect of images in the
case of voxelized scenes. DART-Lux and DART-FT image mean values ρ�scene agree. 1st and multiple scattering
DART-Lux
DART-Lux
=1 then large Nscattering
(it is being improved).
images result of 1 DART-FT run and 2 DART-Lux runs with Nscattering
st
- 1 order reflectance ρ*1 : due to photons scattered once only. It can generally be computed analytically. We verify
� s .Ω
� slope
Ω
here that for plane surfaces (i.e., roof slopes, ground), ρ*1 = �
� gound
Ωs .Ω
∀ viewing direction. ρ*1 =0 in shaded areas.
- Multiple scattering order reflectance ρ∗ : due to photons scattered several times. Here, we verify: ρ∗ > ρ*1 .
142
y
DART-Lux
DART-FT: D=0.05m
ρroof≈0.538
DART-FT: D=0.5m
ρroof≈0.535
ρroof≈0.538
Φs = 225°
x
DART-Lux
ρ� = 0.455

ρ� = 0.399
a)
y
x
Φv = 30°
y
ρroof≈0.538


ρroof≈0.538
ρ� = 0.455

ρroof≈0.538
ρ� = 0.398
ρ� = 0.399
ρroof≈0.546
ρ� = 0.455
ρroof≈0.546
ρroof≈0.546
Φs = 225°
x
 ρ� = 0.473
Φv = 30°
b)
x

y
ρroof≈0.546
ρ� = 0.423
ρroof≈0.546

ρ� = 0.475
ρroof≈0.546
ρ� = 0.425
st
ρ� = 0.475
ρ� = 0.422
Figure 205. Nadir and oblique DART-Lux (left) and DART-FT (middle, right) images. a) 1 scattering order. b)
Multiple scattering order. Theoretical 1st order roof reflectance is 0.5385 and 0.3559 (cf. WP3A.xlsx). In
any image display, the tool
gives ρ�scene . Masks of sub-regions can be created ( , ), stored ( )
and opened ( ) to get (
) their mean values (e.g., ρ�roof ).
1st order reflectance:
 Why ground 1st order reflectance ρ*1,ground is a constant, and ρ*1,ground = 𝟎𝟎 in shaded areas?
 Why does each roof slope have the same reflectance for any viewing direction?
� s .Ω
� slope
Ω
�
Ωs .Ωgound
 Verify that for plane surfaces (i.e., roof slope, ground), ρ*1 = �
with ρ�*1, most lit slope ≈ 0.538, ρ�*1,least lit slope = 0.356.
 |Ωs.Ωslope| = |cosθs|.|cosθslope| + |sinθs|.|sinθslope|.cos(φs - φslope) and |Ωs.Ωground| = |cosθs|
Multiple order reflectance:
 The irradiated ground has a reflectance ρ*ground that depends on location (x, y). Why?
 Roof reflectance ρ*roof ρroof is nearly isotropic, conversely to ρ*scene . Why?
= 0.546 if Nscene repetition = 5} > {ρ*,DART-Lux
= 0.542 if Nscene repetition = 1}. Why?
 Neighborhood influence: {ρ*,DART-Lux
most lit roof
most lit roof
143
 DART-FT: - Images of the scene and neighborhood can help better understanding the configuration (Figure 206).
- Faster "order 1" simulation: do not store intercepted rays and use only imaging directions ().


a)
b)
Figure 206. DART-FT order 1. a) Nadir and oblique images (θv = 41.1°, φv = 30°). b) Fast  and very fast  1st order.
• Directional reflectance
DART-Lux provides ρ*scene (Ω) in the form of 4 products. Figure 207 shows them and the menu for displaying them:
- 90°x360° BRF map: reflectance for θ ∈ [0° 89°] and φ ∈ [0° 359°], with user defined step ∆θ = ∆φ.
- BRF map of a BRF camera: reflectance in a plane "θ or φ = cst" or angular refion with user defined step and range.
- brf.nc: mean values of directional images in DART discrete directions, including added dierctions, and reflectance
interpolated from the 90°x360° BRF map. DART-FT brf.nc only stores mean values of directional images.
- LUT: ρ*scene (Ω) from brf.nc. Image mean values have priority over values from the BRF map, due to larger Nsamples.
*
As expected, Monte Carlo noise on ρscene
(Ω) in 90°x360° BRF map, and therefore in brf.nc, decreases as Nsample/direction
increases. Figure 207 shows that ρ*scene (Ω) ∈ [0.03 0.54] if Nsample/direction = 102 and ∈ [0.05 0.51] if Nsample/direction = 102.
 ρ*scene is not lambertian (i.e., anisotropic), whereas all scene elements are lambertian. Why?
 ρ*scene is maximal for the hot spot direction. Why?
360 columns
360 columns
90 lines
90 lines
a)
Nsample/direction = 103
Nsample/direction = 102







-80

-40
0
40

80

b)
*
*
Figure 207. DART-Lux ρscene
(Ω). a) 90°x360° BRF maps with Nsample/direction = 102 and 103. b) Menu to display ρscene
(Ω):
 1D plot from brf.nc in the solar plane (φv=225°).  2D plot from brf.nc.  2D plot from 90°x360°
BRF map.  1D plot from BRF map of BRF camera.  1D plot from the LUT.
144
2) Image and signal per type of scene element: WP3B-Lux (CT=4"), WP3B-FT
Objective: image per type of element i (e.g., wall) that is the last scatterer (i.e., PerSceneElements) or initial light
source (i.e., PerLightSources) in the RS image. Then: "Radiance image" = ∑Ii=1 Element radiance image i.
• Simulation setting. After copying WP0A-Lux as WP0B-Lux, set:
- Product menu: set "
- LUT: set
" (data are stored in "output/PerSceneElements") and "
" (data are stored in "output/PerLightSources").
and
 (⇒ 90x360 BRF
- To reduce CT: only simulate nadir image, and as an added direction. Set
map by DART-Lux). Unset the BRF camera (DART-Lux). Do not simulate "1st order" (DART-FT).
- Add the thermal band {λ� = 10µm, ∆λ = 0, mode T}.
• Display element and light source images.
The simplest method to display these images is to indicate the folder "output/PerSceneElements" or
"output/PerLightSources" in
of the menu
. The option "Search Image" of this
menu can also be used. One can also use the option "Open" in each displayed image.
 The roof has the same reflectance in the roof and total "last scatterer" images. Why?
 The roof has the smaller brightness temperature TB in the TIR image at 10µm. Why?
 Wall 'last scatterer' image = 0 at 0.7 and 10µm, and wall 'light source' image = 0 at 0.7µm and ≠0 at 10µm. Why?
 Sky "light source" image at 10µm: TB,ground is smaller close to the walls, and TB,roof has maximal values Why?
, roof,…
10µm
0.7µm
Ima0.7µm
total = Ima sun
Ima0.7µm
sky = 0
0.7µm
10µm
Wall (i=10)
Roof (i=12)
Ground (i=2)
0.7µm
, roof,...
10µm
Ima10µm
total , Ima sun =0
Ima10µm
sky
Figure 208. DART images of last scatterers and light sources 0.7µm and 10µm. Accuracy increases with Nsample/pixel.
145
3) Time series of scene BOA reflectance ρBOA
scene : WP3C-Lux (CT=33s), WP3C-FT (CT=12s)
Objective: ρscene(t) for {time t: 5h → 19h, ∆t = 1h; ∆x=∆y=0.2m} for nadir and (θv=61°, φv=22°) viewing directions.
• Simulation setting. After copying WP0B-Lux as WP0C-Lux, set:
- TOA to BOA transfer: analytic model, and TOA illumination: spectral irradiance (database),
- Results: none, Images for 2 added directions {Nadir, (θv=61°, φv=22°)}, and Sequence's LUT: for added directions.
- Toulouse coordinates (43°36'N, 1°26'E, 200m altitude) and the Date mode with June 14, 2016 (Figure 209).
- Time" sequence (Figure 210): to get ρscene(nadir) and ρscene(θs=61°, φs=22°) over [5h 19h].
Figure 211 shows DART-Lux BOA images at 5 hours. Reflectance ranges in roof and ground sub-zones are shown.
a)
b)
Figure 209. a) Coordinates (Toulouse). b) Time.
5h
19h
Figure 210. Sequence (t∈[5h 19h]; ∆t=1h). Do not delete 'band folders' to get Figure 211). Note:  'Parameters'
and
to show the relevant parameter 'Hours' in the right panel. ρBOA
scene in nadir and (61°, 22°) directions.
Roof mask
0.80 - 0.807
0.828 - 0.84
Ground mask
0.382 - 0.398
0.242 / 0.273
5 am
0.501 / 0.521
6 am
0.547 - 0.56
0.501 - 0.511
10 am
Figure 211. Nadir
0.664 - 0.675
ρBOA
scene
8 am
0.451 - 0.464
Create mask:
- any shape
- rectangle
Reset
Open
Save
Statistical data
for the masks
0.495 /
12 am
images at 5, 6, 8, 10 and 12 am, with ranges of ρroof East side and ρground zone in sub-zones.
146
4) TOA, sensor and BOA spectra: WP3D-Lux (CT=22s), WP3D-FT (CT=10s)
Objective: TOA / BOA radiance spectra of a 20m x 20m grass scene (∆x=0.2m) on 14/06/2016 at 6pm.
DART-Lux simulates the atmosphere radiative transfer (RT) either with either of 2 modes:
- Hybrid mode (
): DART-Lux uses DART-FT's discrete ordinate method. The phase
module computes gas and aerosol scattering functions T(Ωs,Ωv) per band. The dart module computes atmosphere
transfer functions per band TBOA→TOA, TBOA→BOA (used for simulating the Earth-Atmosphere" coupling), etc.
- Monte Carlo mode (
). This mode is illustrated in WP3E.
• Simulation setting. After copying WP3C-Lux as WP3D-Lux, set the following parameters:
- 113 bands (Figure 212): 53 bands in [0.35 3µm] (∆λ=50nm, mode R) and 60 in [3 15µm] (∆λ=200nm, mode T).
- 40 instead of 100 directions: it gives a maximal relative inaccuracy of 1.5% and reduces simulation time by ≈ 5.
Option
could further reduce simulation time, with larger inaccuracy.
. Set ρground="grass_rye", Tground=300K.
- Hide the house: option
- Atmosphere: USSTD76 gas, Rural23 aerosol, 'Manual' geometry with default parameters: Mid atmosphere [0km
4km] (1km layers) and High atmosphere [4km 80km] (5km layers). No atmosphere data (⇒ no band file created).
- Products: LUT (radiance, reflectance: TOA, TOA atmosphere, BOA). No image, BRF map and brf.nc.
a)
b)
Figure 212. Band creation. a) 53 bands in [0.35 3µm], ∆λ=50nm, mode R. b) 60
bands in [3 15µm], ∆λ=200nm, mode T.
• Results.
Figure 213 shows the resulting radiance, reflectance and TB spectra in the short and long waves for the TOA and
BOA levels, and also for the TOA atmosphere.
 Short waves: ρBOA <<ρatm ≤ ρTOA at 0.4µm and ρBOA >>ρTOA >>ρatm at 1µm. Why? ρTOA(λ) has many minima. Why?
 Long waves: explain the smoothness of LBOA(λ), the minima of LTOA(λ) and the maxima of Latm(λ).
 Above which λ, Lthermal > Lsun reflection , at BOA level, and at TOA level?
Reflectance
Radiance
(W/m2/sr/µm)
TB (K)
a)
b)
c)
147
TOA radiance (W/m2/sr/µm)
gas: USSTD76, aerosol: Rural23
θv=0°, θsun=75°, Earth: grass, 300K
Figure 213. Scene TOA/BOA and atmosphere TOA nadir spectra. a) Radiance: 113 bands in [0.35 15µm]. b)
Reflectance: 53 bands in [0.35 3µm]. c) TB (60 bands) [3 15µm]. d) Radiance: 1600 bands in [0.35
3µm] (∆λ=2nm) and 1200 bands in [3 15µm] (∆λ=1nm).
5) Color composite, SKYL and spectral indices: WP3E-Lux (CT=24s) and WP3E-FT (CT=3s)
Objective: RGB color composite, SKYL and spectral indices for nadir viewing direction.
• Simulation setting. After copying WP3D-Lux as WP3E-Lux, set the following parameters:
- 4 bands (0.45µm, 0.55µm, 0.65µm, 0.9µm; ∆λ=0µm).
- Un-hide the house:
. ρground='grass rye', ρroof = 'tile Capitoul', ρwall = 'concrete brown'.
_
_
_
- Directions: 14/06/2016, 3pm.
- Nadir radiance and reflectance images.
- Bi-directional parameters: Nsample/pixel = 500,
: Nsample/direction = 5 to reduce CT.
• RGB color composites (Tools / Image tools / Color composites)
Create the RGB color composites with DART BOA, Sensor and TOA blue/green/red nadir images (Figure 214).
 The ground and roof observed reflectance values change between BOA and TOA. Why?
 The two roof faces have different reflectance values. Why?
EBOA,diff
 The SKYL (
EBOA
from dart.txt file) decreases if the wavelength increases. Why?
BOA
Blue (0.45µm)
BOA
Green (0.55µm)
46.2% / 46.6%
BOA
TOA
Red (0.65µm)
35.9% / 36.5%
BOA
TOA
NIR (0.9µm)
BOA
TOA
0.235
/
0.092
0.235
/ 0.124
ρroof (sun / shade) 0.108 / 0.049 0.152 / 0.124 0.143 / 0.061 0.143 / 0.096 0.177 / 0.070 0.150 / 0.079
ρground (sun / shade) 0.040 / 0.0026 0.12 / 0.105 0.108 / 0.015 0.123 / 0.0695 0.052 / 0.004 0.066 / 0.034 0.514 / 0.03 0.451 / 0.077
SKYL (with NC / C)
TOA
Sensor: z=3km
TOA
29.3% / 29.5%
18% / 18.5%
Figure 214. BOA / sensor / TOA color composites of nadir reflectance images with SKYL and BOA and TOA
reflectance of sunlit / shaded roof and ground (NC: no coupling; C: coupling) per band.
• Spectral indices (Tools / Band calculation tools / Band Math):
ρ
-ρ
Compute TOA / BOA vegetation index NDVI= ρ NIR+ ρred (Figure 215). For that, use the pre-defined NDVI expression
NIR
red
or type its expression by applying basic math operators (+, -, *, /, >,…) to DART spectral images. Results are stored
in folder "BandCombination", at folder "output" level.
148
 - NDVIBOA,grass,sunlit > NDVIBOA,grass, shadow >> NDVITOA,roof. Why?
- NDVITOA < NDVIBOA for grass, whereas NDVITOA > NDVIBOA for roof and shadow. Why?
a)
b)
Figure 215. NDVI images. a) Nadir BOA. b) Nadir TOA.
• Impact of SKYL on scene reflectance
Figure 216 shows the the nadir BOA reflectance image at 0.45µm (band 0) for different SKYL values. Several
approaches are possible for simulating images with different SKYL values:
- Simulation "No atmosphere RT", with specification of the SKYL value.
- Simulation "Atmosphere RT" with specific multiplicative factor kaerosol of the aerosol model. Here, SKYL = 15.2%
for kaerosol = 0 (no aerosol) and SKYL = 98.8% for kaerosol = 10 (Figure 216.a,b).
- Image / Atmosphere components "Direct - Total" (SKYL = 0) and "Diffuse - Total" (SKYL = 1) of simulation
"Atmosphere RT" (Figure 216.c,d), in the "Atmosphere" menu.
 The two roof faces have the same reflectance if SKYL = 0. Why?
a)
b)
c)
d)
Figure 216. Nadir BOA reflectance image at 0.45µm (band 0) with different SKYL values. a) kaerosol = 0.
b) kaerosol = 10. c) Component "Direct - Total". d) Component "Diffuse - Total".
149
6) Specular reflectance and polarization: WP3F-Lux (CT: 70")
Objective: multi-spectral specular polarized (I, Q, U and V Stokes components) reflectance images (TOA, BOA,
airborne) of a 3D scene (Figure 217)
Simulation: - 60x80m, ∆r = 0.25m. 4 bands (mode R: 0.4, 0.55, 0.68, 0.9 um). Direct sun (𝜃𝜃s =30, 𝜑𝜑s=225).
- Flooded ground: Lambertian base (loam_sandy_brown_fine) + Specular surface (ni: air, nt: water,
roughness factor: 0.05, optical depth: 0).
- Palm trees. Leaves {Lambertian base (grass_rye) + Specular surface (ni: air, nt: plastic, roughness
factor: 0.1, optical depth: 0.02)} and coconuts and trunk {Lambertian (bark_eucalyptus)}.
- Classic houses: heights = 29m and 15m. Specular window on a face of the high building.
Figure 217. 3D scene: 2 DART classic houses (mirror on front of large house), 2 palm trees, and flooded ground.
Figure 218 shows DART satellite (parallel projection) and camera (perspective projection) of the 3D scene,
including total and polarized signal.
a)
b)
c)
d)
Figure 218. DART BOA/TOA RGB colour composite images. a) BOA satellite: nadir, (30°, 45°), (30°,225°),
(30°,315°). b). TOA satellite: nadir, (30°, 45°), (30°,225°), (30°,315°).c) BOA camera (30°, 45°) and
(30°,315°): total signal and polarized signal (Q component of Stokes vector).
150
7) BOA/TOA images of a landscape: WP3G-Lux
Objective: TOA/BOA images of a 100mx100m natural scene with buildings.
3D mock-up
3D voxel radiative budget (DART-FT)
Figure 219. BOA / TOA DART images of countryside. ∆r=0.5m. DEM z(x,y) = H. [sin �y
y
max
5π
. �.
2
y
ymax
+0.7][1+cos �
151
x
π
. �.
xmax 2
VII.5 RADIATIVE BUDGET (RB) AND SUN INDUCED FLUORESCENCE (SIF): WP4
Objective: RB and SIF of 3D and 1D facet- and turbid-vegetation with DART-Lux and DART-FT.
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Forward (Bi-directional)
"Passive RS & RB"
Transition: TOA ↔ BOA: Analytic model
Number of threads in DART tracking: Nb cores of your computer
DART-FT parameters
Smaller mesh size D of BOA irradiance sources: 0.05m
Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
Passive RS & RB parameters
Spectral intervals/Spectral band Mode R, λmean=0.65µm, 0.9µm, 1.7µm; ∆λ = 0µm
Maximal scattering order: 5
Forward parameters
Max. scattering order: 60 Target pixel size: 1m Nscene repetitions: 1 ∆tsave: 0
Target sample density / pixel (images): 5 104 Max. rendering time per image: 0
Bi-directional parameters
Russian Roulette:  Cut-off depth: 6
Images: No
BRF/BTF
Products
Radiation Budget The unit "fraction" is selected.
Direction input parameters
Sun zenith angle: 30°, Sun azimuth angle: 225°
Name: "Ground". Database: Lambertian_mineral.db
Surface "Lambertian"
"Optical &
Reflectance model: reflect_equal_1_trans_equal_0_0 (⇒ ρground = 1)
Temperature
Volume "Vegetation" Name: "Grass". Database: Lambertian_vegetation.db. Model: leaf_deciduous
properties"
Thermal function: Name: T300. Mean: 300. Delta: 0
"Temperature"
Cell: ∆x = ∆y =1m, ∆z = 0.25m (Bi-Dir: not used here). Scene: ∆X = ∆Y = 1m
"Earth scene"
Ground: "r=0", "T300"
Type of plot: Vegetation. Polygon 2D: 1mx1m {(0,0), (1,0), (1,1), (0,1)}
"Earth scene: Plots" / "Plot" (add 1 plot) Height: 1m, LAI: 2, Vegetation optical property: "Grass"
Table 62. Parameters including those specific to "Forward" (DART-FT) and "Bi-directional" (DART-Lux) light modes.
 - RB: it is mostly simulated with DART-FT because DART-Lux is advised only if RB data are for part of the scene.
- RS data: DART-Lux is usually preferred to DART-FT except for schematic scenes as here. For mock-ups with turbid
cells, DART-FT decreases if LAIcell > 0.5, especially for large scattering bands (note: if needed, decrease LAIcell by
decreasing the cell vertical dimension ∆z). Here, canopy height = 1m; then, although too large for {DART-FT, LAI
>2}, we use ∆z=0.25m because it leads to only 4 DART-FT canopy layers, which is convenient to display the RB.
- Running sequences with the option "Delete all files except LUT" reduces the needed hard disk memory.
1) Vegetation spectral reflectance as a function of LAI (m2 leaves / m2 ground): WP4A_FT and WP4_Lux
Objective: DART-FT and DART-Lux ρscene(LAI; ρground=0 and 0.8) of 1m high vegetation canopy simulated as turbid
medium and 0.003m2 facets (Figure 220).
DART-FT
a)
3 cells
"vegetation"
1 cell "ground
+ vegetation"
Ground
DART-Lux
b)
c)
Figure 220. 1m high turbid and equivalent facet canopy. a) DART-FT. b) DART-Lux. c) Leaf deciduous optical properties.
• DART_Lux: influence of input parameters (sequence seq_Repeat_Scat_Sample_LAI.xml): CTfacets = 8', CTturbid = 18'
DART-Lux input parameters are fewer than for DART-FT (e.g., Nsub-cell, Nsub-face, Niterations, ∆lillumation). Figure 200 shows
how its 3 major parameters (Nrepetitive, Nscat, Nsample: numbers of scene repetitions, scatterings and samples) impact
ρscene,0.65µm and ρscene,0.9µm(Nrepetitive: 0, 2, 4,…, 20) for Nscat = {5, 10, 20, 50, 80}, Nsample = {500, 5 104, 5 105}, LAI = {2, 8},
ρground=0, for turbid and facet scenes. ρscene(Nrepetitive = 20, Nscat = 80, Nsample = 5 105) is the reference:
152
a) Nrepetitive (0 ⇔ isolated scene). Rays onto the 4 scene vertical sides influence
ρscene, in addition to rays  onto the scene top. Their role decreases with smaller
sun zenith angle, and larger scene dimensions, LAI and ρground:
- Sun / atmosphere rays  incident onto the vertical sides of the scene (Nrepetitive
= 0) or the outer repeated scenes, and transmitted through the repeated scenes
(Nrepetitive> 0). Their influence decreases if Nrepetitive increases.
- Rays  onto the tops of the repeated scenes, and transmitted through the
repeated scenes (Nrepetitive> 0). Their influence decreases if Nrepetitive increases.
- Rays  scattered by the repeated scenes, due to intercepted rays  (lesser role
if Nrepetitive increases) and  (lesser role if Nrepetitive increases).
Rays onto the scene vertical sides
Nrepetitive = 0: rays  onto
the scene vertical sides
Nrepetitive=1
Rays  onto neighbor scenes ⇒
scattered rays  + transmitted rays
For this very small scene, ρscene(Nrepetitive) decreases and converges for Nrepetitive ≈ 3 at 0.65µm, whereas it increases
at 0.9µm and converges at Nrepetitive ≈ 6 at 0.9µm. For large scenes, the default option Nrepetitive = 1 is usually advised.
b) Nsample. The MC noise of ρscene decreases if Nsamples x Npixels of DART image increases (⇒ it is smaller for Nsample=5 105).
c) Nscat (≡ Niterations in DART-FT). ρscene has converged (i.e.,
DART-Lux turbid
0.65µm, LAI=2
∆ρ
ρ
< 2 10-3) for Nscat ≈ 5 at 0.65µm and ≈40 at 0.9µm.
DART-Lux turbid
0.65µm, LAI=8
DART-Lux turbid
0.9µm, LAI=2
Nrepetitive
DART-Lux facet
0.65µm, LAI=2
DART-Lux facet
0.9µm, LAI=2
Nrepetitive
Nrepetitive
Nrepetitive
Nrepetitive
Nrepetitive
DART-Lux facet
0.65µm, LAI=8
DART-Lux turbid:
0.9µm,LAI=8
DART-Lux facet
0.9µm, LAI=8
Nrepetitive
Nrepetitive
Figure 221. DART-Lux ρscene(Nrepetitive, θv = 0°): Nscat = {5, 10, 20, 50, 80}, Nsample = {5 103, 105, 5 105}, SKYL0.65µm=0.24,
SKYL0.9µm=0.14, θs=30°. ρscene,turbid and ρscene,facet slightly differ because facets are large (i.e., 0.003m2). ρground=0.
DART-Lux
• ρscene,λ(LAI: [0 10], step = 0.5; ρground=0; 0.8) (sequence seq_LAI.xml) for turbid and facet scenes: CTfacets
= 8'
DART-Lux
ρDART-FT
scene,λ (LAI) and ρscene,λ (LAI) at λ = {0.65, 0.9, 1.7µm} (Figure 201) slightly differ due to differences in RT
algorithms and input parameters. Here, the small size of the scene reinforces the differences and fluctuations.
- DART-Lux: Nscat = 50, Nsample = 5 105, Nrepetitive = 10. Pixel size = 1m. Nscat could be smaller, especially for 0.65 and
1.7µm. Nrepetitive is larger than the default value (i.e., 1) because the scene is very small.
- DART-FT: ∆z = 25cm and 1cm, ∆x = ∆y = 1m for turbid and 0.1m for facet, ∆illu = 0.01m. Cell dimensions impact
ρscene through the grouping of rays that exit cells: the larger the cells, the greater the fluctuations in ρscene.
 ρscene,0.9µm > ρscene,1.7µm > ρscene,0.65µm ∀ ρground, for turbid- and facet-vegetation. Why?
Turbid
ρground=0
LAI
Facet
ρground=0
Turbid
ρground=0.8
LAI
Facet
ρground=0.8
LAI
LAI
Figure 222. ρscene(LAI, θv = 0°) at 0.65, 0.9µm and 1.7µm. ρground=0 and 0.8. Turbid and facet.
153
2) Radiative budget (RB) of a 1D homogeneous vegetation canopy the short waves: WP4B
Objective: RBcell,∆λ and RBfacet,∆λ products of a turbid plot (cf. section b) at increasing scattering orders for DART-FT.
Scene: 1m x 1m (∆x=∆y=1m; ∆z=0.25m), ground (ρground= 0.5), turbid vegetation plot (LAI=2, h=1m, ρleaf_deciduous), 2 bands
(0.55 and 0.9µm, ∆λ=0; mode R). "Radiation Budget Products' is the only product (Figure 202.a). Most results
are for DART-FT because for RB, DART-Lux becomes efficient only if part of the scene RB is simulated.
• WP4B-FT (1s): select the products to store (Figure 202), run the simulation, then check the top scene and 1D RB
a) Top scene RB: irradiance, exitance and albedo; check that their values in file dart.txt are those in Table 63.
b) 1D RBλ (Table 64; unit % of top scene irradiance): profile of intercepted, emitted, scattered and absorbed radiation
per iteration, layer z and band. Here, 3D RBλ (RadiativeBudget_3D) = 1D RBλ (RadiativeBudget_profile) because the
scene horizontal section is a single cell. The interception profile decreases exponentially with height, except in
the lower layer [0 0.25m] where it increases because this layer contains "Vegetation(i.e., Turbid) + Ground".
 RB_3D_Turbid (file RadiativeBudget 3D) = RB_3D_Turbid - RB_3D_Ground (file RadiativeBudget 3D Ground)
_
 Top cell: +ZFaceEntryλ = 1, and +ZFaceExitλ(Table 68) x =
_
MBOA,λ
EBOA,λ
_
in dart.txt (Table 69).
 RBλ terms increase with iteration k and can become > 1 (e.g., RBint, RBscat), except RBabs = ∑K0 [IntRk -ScatRk+1 ].
 %Scatground and %Absground are larger at 0.9µm than at 0.55µm, although ρground(0.9µm)=ρground(0.55µm). Why?
a)
b)
Figure 223. RB menu: terms to store.
a) Folders in 'output / Bandx / RadiativeBudget' (x=0 & 1) store cumulated RB: illudir (direct
sun illumination), illudiff ('direct + diffuse' illumination), ITERX and possibly ITER1, 2,…
b) Types of RB products (text or binary files; possibly extrapolated for DART-FT):
- Total RB (turbid + triangle): 1D profiles (z), images (x,y), 3D distribution (x,y,z).
- Per type of triangle: mean value, image (x,y), 3D distribution (x,y,z).
- Per individual triangle.
with in: InR, out: OutR, intercepted: IntR, absorbed: AbsR, emitted: EmitR, scattered:
ScaR radiation. Unit: %, W/m2/µm, W/m2, W/µm or W; (x,y): DART cell coordinates.
c)
c) Terms of the 3D total RB and terms of the RB of scene elements to store.
DART-FT
DART-Lux
(if the BRF and LUT are user required)
Table 63. Information from "dart.txt" file of DART-FT and DART-Lux. Display Menu "View Report / Data Files".
154
Table 64. DART-FT 1D RB∆λ per iteration. 0.55µm (left) and 0.9µm (right). Unit: %. WP4/RadiativeBudget_profile.xlsx.
c) RBfacet: the scene has 2 triangles (by default, an horizontal ground scene is made of 2 triangles). Check (Table 65) that:
RBλ per type i of facet (RadiativeBudget_Triangles ) = mean RBλ per facet face (type i) (RadiativeBudgetFigures.txt )
= ground 3D RBλ (RadiativeBudget_3D_Ground ).
RBk = cumulative over iterations ≤ k: Radiation intercepted at iteration k-1 is scattered and absorbed at iteration k
⇒ Interceptedk-1 = Absorbedk + Scatteredk. Example (ground, 0.9µm: IntR4 = 0.638, AbsR4 = ScatR4 = 0.319.


Table 65. RBtriangle,0.9µm at Iter5 and IterX.
 File RadiativeBudgetFigures.txt: RB per triangle ⇒ the 2 lines are for the 2 triangles.
The RBs of the 2 triangles slightly differ due to DART-FT discrete illumination.
 File RadiativeBudget_Triangles: mean values in RadiativeBudgetFigures.txt per type.
 File RadiativeBudget_3D_Ground: RBground. At ground level: RBvegetation = RBcell - RBground.

d) RBλ images (uxy = Σz uxy(z)): RB terms of total scene (here: ground + turbid) and per type of facet (i.e., here: ground).
 Display the RBλ images with
in the DART image viewer, and check their values:
iterX
iterX
- imageInterceptedEnergy (intercepted / m2 scene): Wint (x,y)= ∑z Wint (x,y,z). Wint,0.55µm
=126%, Wint,0.9µm
=306%
- imageScatteredEnergy (scattered): Wscat (x,y)= ∑z Wscat (x,y,z). IterX ⇒Wscat,0.55µm =34%, Wscat,0.9µm =262%
155
Height Intercepted Scattered Emitted Absorbed +ZFaceExit +ZFaceEntry TotalExit TotalEnt
1
0
0
0
0
0.540
1
2.069
2.057
0.75
0.518
0.499
0
0.0188
0.540
1
2.042
2.061
0.5
1.396
1.346
0
0.0505
0.491
0.934
1.915
1.966
0.25
0.890
0.858
0
0.0322
0.456
0.853
1.766
1.798
0
1.081
0.719
0
0.3617
0.403
0.767
0.895
1.257
Height Intercepted Scattered Emitted Absorbed +ZFaceExit +ZFaceEntry TotalExit TotalEntry
1
0
0
0
0
0.540
1
2.069
2.057
0.75
0.518
0.499
0
0.0188
0.540
1
2.042
2.061
0.5
1.396
1.346
0
0.0505
0.491
0.934
1.915
1.966
0.25
0.890
0.858
0
0.0322
0.456
0.853
1.766
1.798
0
1.081
0.719
0
0.3617
0.403
0.767
0.895
1.257
- imageEmittedEnergy (emitted): Wemit (x,y)= ∑z Wemit (x,y,z). Here, there is no thermal emission ⇒ Wemit =0%.
- imageAbsorbedEnergy (absorbed): Wabs (x,y)= ∑z Wabs (x,y,z). IterX ⇒Wabs,0.55µm =92%, Wabs,0.9µm =45%
- imageAlbedoEnergy (albedo): Walb (x,y)=1-Wabs (x,y). IterX ⇒Walb,0.55µm =7.8%, Walb,0.9µm =54.6%
Band0
Table 66. Simulation.properties.txt (View /
report / Simulation properties file):
total RBcell and RBfacet per facet area.
RBfacet
RBprofile
• WP4B-LUX (CT: 30")
Table 67 shows the RB parameters, RB vertical profiles and RBfacet for band 1. RBprofiles are consistent with DARTFT (Figure 70); their accuracy increases with larger Nsample and smaller spatial sampling grid. RBfacet is accurate.
Height Intercepted Scattered Emitted Absorbed +ZFaceExit +ZFaceEntry TotalExit TotalEntry
1
0
0
0
0
0.540
1
2.069
2.057
0.75
0.518
0.499
0
0.0188
0.540
1
2.042
2.061
0.5
1.396
1.346
0
0.0505
0.491
0.934
1.915
1.966
0.25
0.890
0.858
0
0.0322
0.456
0.853
1.766
1.798
0
1.081
0.719
0
0.3617
0.403
0.767
0.895
1.257
Table 67. RB parameters of DART-Lux, RB vertical profiles and facet RB ( compare it to Table 65) for band 1.
3) Radiative budget of a 3D vegetation cover: WP4C-FT (CT:6s) and WP4C-Lux (CT:40s)
Objective: to use the tool "Radiative Budget Extractor" to extract 1D and 2D RB sections from the 3D RB∆λ.
Scene (Figure 203): ∆X = ∆Y=6m, ∆x = ∆y = ∆z = 0.2m, ρground = 0.1, ρleaf =ρleaf_deciduous. Τleaf= Τground=300Κ. Two
vegetation plots {A: 1m x 1m x 2m centred at (1.5m, 1.5m); B: 1m x 1m x 3m centred at (3.5m, 4.5m)}, each one
with LAIplot = 2. Three bands (∆λ=0µm): λ=0.56µm (mode R), 0.9µm (mode R), 11µm (mode T). Tatm = 260K.
0 1 2 3 4 5 6
y
1
A
2
3
B
4
A 2m
DART-Lux
B 3m
Ground
5
a) 6
DART-FT
Sun rays
b)
x
c)
Figure 224. a) DART scene. b) 3D view (X axis: blue, Y axis: red). c) DART nadir image (λ=0.56µm).
 In the DART nadir image at 0.56µm, plot A has a darker shadow than plot B (Figure 203.c). Why?
• DART-FT: add () the 3D RB0.56µm to the scene 2D display in order to display it () (Figure 204).

err


Figure 225. Scene horizontal section XY=1 (), added 3D RB0.56µm () and cell data (: LAI, RB,…).
156
• Apply 'Radiative Budget Tools / 3D Radiative Budget Extractor' (Figure 226) to 3D RBλ to obtain 1D and 2D RBλ .
Figure 226. 'RadiativeBudgetExtractor' tool.
Using 3D RB, this tool derives () 1D profiles
(x, y or z), 2D horizontal / vertical layers, can
add / substract layers from 2 3D RB files, and
adds and substracts RB files. Here, a 2D
horizontal layer at altitude level 0 () is
created. The resulting image products can be
directly viewed ().



 1D IterX profiles of column (1m-1.25m, 1m-1.25m) of plot A for 0.56µm, 0.9µm, 11µm (Figure 206).
- Why does exitance (+ZfaceExit) decrease above plot A at 0.9µm?
- Thermal emission occurs only at iteration 1. How can you verify it?
 2D RB binary images. Figure 207 shows two "% absorbed radiation" images: level 0 (z ∈ [0 0.25m[) and vertical
sum. Since bottom cells of plot A contain ground (triangles) and turbid vegetation, their vegetation RBΔλ is "Cell
RBΔλ " - "Ground RBΔλ ". Plot B absorbs more than plot A, although the 2 plots have the same LAI. Why?
a)
b)
c)
Figure 227. Vertical profiles (%f) of plot A radiative budget at location (1.5m, 1.5m). a) 0.56µm. b) 0.9µm. c) 11µm.
Plot A
Plot B
Ground
a)
DART-FT
b)
DART-FT:ground+vegetation
DART-Lux:only vegetation
Figure 228. 2D absorption. IterX. λ=0.56µm. a) z ∈ [0 0.25m[. b) Vertical sum (equal to ImageAbsorbedEnergy).
4) Radiative budget of a tree 3D object: WP4D-FT (CT: 46s)
Objective: to compute and display the 3D RB∆λ per triangle. Only DART-FT because CT of DART-Lux is much larger.
Scene: 40m x 40m, ∆x=∆y=∆z=0.5m, ρground=0.5, ρtrunk=bark spruce, ρleaf=grass rye. λ=0.56µm. 3D tree in DART
database '\3D_Objects\Tree\Accurate_Trees\Cherry_tree\Merisier_Adulte.obj'; scale factor = 40.
157
Products: DART-FT nadir image + RB per facet (unit: W/m2/µm); ASCII or binary file 'RadiativeBudgetFigures' where
the order of facets is as in the Triangle.txt (binary; export in ASCII with menu 'View/Report/Triangle…')
that stores the coordinates, indices of optical and temperature properties and type of triangles (Table 72).
Figure 229.
a) The tree 3D object.
b) DART-FT nadir image: ∆r=0.5m
c) DART-Lux nadir image: ∆r=0.2m
b)
a)
DART-FT: ρscene=1.90
c)
DART-Lux: ρscene=1.86
Triangle.txt file
Triangles 0 & 0 0.0 40.0 0.0 0.0 0.0 0.0 40.0 0.0 0.0 0 0 0 0 0 0 0 2
0 0.0 40.0 0.0 40.0 0.0 0.0 40.0 40.0 0.0 0 0 0 0 0 0 0 2
1: ground
22.18043998 6.132719815 20.936960 19 21.76543996 5.881880224 0 1 0 1 0 1 0 102
………………………………………………………………
Triangle 2 a)0 20.77816002 21.67699993 5.998720229 20.84224001
RadiativeBudgetFigures file
* Intercepted Scattered Emitted Absorbed Intercepted (back) Scattered (back) Emitted (back) Absorbed (back) surface area[m2] *
1141.53
571.055
0
571.049
0
0
0
0
800
436.636
218.484
0
218.479
0
0
0
0
800
165.561
33.6122
0
131.036
69.6438
14.0966
0
54.9549
0.0532437
………………………………………………………………
b)
Table 68. Information per triangle. a) Triangle.txt: coordinates & type (ground: 2,...). b) RadiativeBudgetFigures: RB∆λ.
• Display facet and voxel RB with the tool View\3D Radiative Budget. RBground has 2 values for default ground (2 triangles:
Figure 209.a); it improves for ground with many facets (e.g., ground = DART created horizontal DEM: Figure 209.b).
a)
b)
c)
Figure 230. 3D radiative budget. Facet: a) No DEM, b) DEM. Eint∈[0 14639W/m2/µm]. c) Voxel: Eint∈[10-7 2872W/m2/µm].
5) Sun Induced Fluorescence (SIF) of a single leaf: WP4E
Objective: DART-FT and Lux SIF for 2 photosystems (PS1, PS2) and 1 combined photosystem for 4 cases (Table 73).
Scene: 0.1x0.1m. Horizontal / oblique leaf (square.obj): 25 cm2, z=0.1m. 90 bands: [0.4;0.85µm]. Ωsun (30°, 225°), SKYL = 0.
Products: unset 'BRF products'. DART-FT: 1st order, Niter=15, added nadir direction (no image creation). DART-Lux: add
nadir direction (image creation; default resolution ⇒ image = 1 pixel). Nsamples=103. Nscene repetition=10. Niter=1; 30.
4 sequences: DART- Lux {Niter: 1; 30. Ωl: nadir ; Ωsun. ρground : 0; 1} and DART- FT {Ωl: nadir ; Ωsun. ρground: 0; 1} for 2 & 1 PS.
 The "phase" module computes fluorescence matrices. Run it only once, if it is too computer intensive.
Figure 210 shows the scene nadir SIF nadir radiance for the 4 cases of Table 73.
 At any scattering order with ρground=0, the leaf orientation impacts leaf radiance but not scene radiance. Why?
 Relative to the second peak of PS2 radiance, the first peak of PS2 radiance decreases from Iter1 to IterX. Why?
 Relative difference 'DART-FT - DART-Lux' radiance per PS: < 2 10-7 at iter1, > 5 10-2 at iterX, and tends to 0 with larger
Ndirections and smaller spatial resolution ∆x for DART-FT, and larger Nscene repetition for DART-Lux (⇒ larger CT). Why?
158
Note: because usual scenes are much larger than 0.1m, the DART-Lux default Nscene repetition = 1 is usually adequate.
Ground
Normal Ωl (θl ,φl )
Leaf
WP4E_FT_2PS:
WP4E_FT_1PS:
DART-FT & 2 PS
DART-FT & 1 PS
Ndir=100, ∆x=∆z=10-2m, ∆illu=10-4m
ρground =0 ρground =1 ρground =0 ρground =1
Horizontal (θl = 0°)
WP4E_Lux_2PS:
WP4E_Lux_1PS:
DART-Lux & 2 PS
DART-Lux & 1 PS
Nsamples=103, Nscene repetition=10. Default resolution
ρground =0 ρground =1 ρground =0 ρground =1
and oblique (Ωl = - Ωsun: 30°nutation, 225° precession)
Structure &
Structure coefficient N: 1.5. Chl: 60 µg/cm2. Car: 15 µg/cm2. Equivalent water thickness: 0.009 cm.
Biochemistry
Brown pigment: 0. Anthocyanin: 0. Carbon / Nitrogen based dry matter: 0.009 g/cm2 / 0.001 g/cm2
Data (αChl,λ,…) &
2 PS: fqe = 0.002 for PS1 and 0.01 for PS2. Leaf data "Optipar2017_ProspectD"
SIF quantum yield
1 PS: fqe = 0.012 for PS. Leaf data "Optipar2021_ProspectPro"
Table 69. 4 cases: Ωl, 1 or 2 PS, ρground, leaf biochemistry (e.g., Lopex & Angers.xlsx databases) and fqe.
Scene radiance Lfluo
W/m2/sr/µm
DART-FT
2 PS
DART-Lux
1 PS
DART-FT
DART-FT
1 PS
1PS
DART-Lux
2 PS
Figure 231. Scene nadir radiance. a) DART-FT, 2 PS. b) DART-Lux, 2 PS. c) DART-FT, 1 PS. d) DART-Lux, 1 PS.
6) Fluorescence of a maize field classification of sun / shade adapted leaves: WP4F
Scene: - 1.5 x 1 m. ∆x=∆z=0.05m. NASA site: 39.03°N, 76.85°E (UTC=-5). 2015/06/21, local time. 1
band [0.4; 0.7 µm]. 5 10-4 m illumination step. Leaf: grass rye. Soil: loam gravelly brown dark.
- The ground (facet) has a spatially accurate RB only if it has enough facets (default ground is
made of 2 triangles). Therefore, import a 3D object 'DEM' (here: product 'dsm.obj' of Maket
module, with option 'Horizontal DEM' and ∆x=∆y=0.05m), then use it as a DEM;
- Maize field (Maize_field_6.txt) of 6 plants (Maize_InField_1m.obj) from DART database.
- Atmosphere: analytic model (⇒ no TOA results). Gas: USSTD76. Aerosol: RURALV23.
_
_
_
Nadir image.
∆x=∆z=2mm
_
a) WP4Fa
Objective: to classify leaves (facets) as sun / shade adapted leaves, to assign them specific quantum yields in WP4Fb.
Context: a leaf (here: facet) is often classified as sun- (i.e., past high irradiance El ) or shade- (i.e., low El ) adapted
since its SIF at time t depends on its El (t) and biochemistry (Cab, Car, EWT,…) that depends on its past El .
Step 1: compute facet irradiance Efacet (W/m2/µm), in RBfacet, from 5h to 20h (16 steps of 1h) with DART sequence
"seq_Hour" (Figure 212); only store "intercepted radiation" for facet RB to reduce computer demand.
DART-FT: facet order in RB is as in triangles.txt, where it changes per run of Maket module. Since it must be
time constant (Q days, M hours / day) to combine Efacet data, only run Maket in the sequence "root" simulation.
DART-Lux RBλ products: the order of facets is fixed. It is given by the *.ply files.
Here, DART-FT simulates facet RB because the below classification module is not yet adapted to DART-Lux.
Step 2: create a 3D object with classified leaves (sun- and shade-adapted leaves).
Apply ClassifySunShadeLeaves.py (folder python_script/Fluorescence) to RBfacet (file RadiativeBudgetFigures
that stores Efacet) at Q.M dates. It classifies facets in Nveg type user defined vegetation types into Nclass irradiance
classes, then groups all or part of facets as a 3D object as Nclass .Nveg type groups. 2 classification methods exist.
Here (Table 74), method 1 is used; it gives shade- and sun-adapted facets using thresholds 350 and 500.
• Classification method 1 (Zbynek): 2 thresholds H (high) and L (low).
159
Facet classification per day: number of times Efacet > H (⇒ N_H_dayD) or < L (⇒ N_L_dayD) per day.
⇒ If N_H_dayD > N_L_dayD then the facet class for the given day is sun; else it is shade
Facet classification for the Q days: facet status = median value of all "facet day classes". Hence, a facet
is "sun" if its "day classification" gave more "sun class" than "shade"; else, it is "shade".
• Classification method 2: K thresholds ⇒ the Q.M Efacet values per facet ∈ K+1 intervals of facet irradiance
distribution E(k). It is an histogram if the K thresholds are equally spaced. kmax is the interval where E(k) is
maximal, and Popbelow (Popabove ) the number of elements with k < kmax (k > kmax ) (Figure 211).
Rule (non biological): if (k max >
K+1
3
) and (Popabove >Popbelow ) then facet is 'sun'; else it is 'shade'.
 the distribution E(k) of Efacet in K+1 intervals could be used for designing better classification rules.
 Check with "…\WP4Fa_FT\OBJ_classification\WP4Fa_FT.txt" that threshold [200 350] gives 76% sun adapted leaves.
 Display the 3D RB at 8h, 12h and 17h with threshold (Figure 212.c) and the resulting 3D object (Figure 212.d).
K+1
3
Efacet
Rule ⇒ Facet "shade"
Popbelow
Popabove
0
K+1
3
0
K
Popbelow kmax
Rule ⇒ Facet "sun"
Efacet
kmax
Popabove
K
Figure 232. Facet classification method 2. It becomes similar to method 1 if K=2. If K=1: kmax =1.
USAGE:
PYTHON CLASSIFYsUNsHADELEAVES.PY SIMULATIONNAME SEQUENCENAME BANDLABEL RB_FOLDERNAME NBDAYS
NBDAYSIMULATIONS ARRAYTHRESHOLDS -M RULEINDEX -P OPTICALPROPERTIES -F IRRADIANCEFUNC -A MINAREA -O
FOLDER3DOBJECT -C DARTTOPPFD
EXAMPLE: "%DART_PYTHON_PATH%\PYTHON" "CLASSIFYsUNsHADELEAVES.PY" "WP\WP4\WP4FA" "SEQ_hOUR" 0 "ITERX" 1 16
"[200,350]" -M 0 -P "[(0,0,0,0)]" -F "SUM" -A "1e-6" -O "%DART_LOCAL%\SIMULATIONS\wp\wp4\wp4fA\obj_CLASSIFICATION"
-C "4.56*0.3"
• % DART_LOCAL %: location of DART simulations. Example: %DART_HOME% = D:\DART.
• arrayThresholds: e.g., 1 threshold: [600,600]; 2 thresholds: [350,500]; 4 thresholds: [200,250,300,350].
• -m ruleIndex (optional): 0 = default (all methods), 1 = method 1 (2 thresholds), 2 = method 2 (K thresholds), 3=statistics only
• -p opticalProperties (OP) (optional): with i = face OP index, [ai,bi,ci,di] sets facets to classify. ^[ai,bi,ci,di] sets facets not to classify.
ai (ci): front (back) face OP type (lambertian: 0, Hapke: 2,…); bi (di): front (back) face OP index (0 = DART 1st OP,…). Examples:
1 OP to classify: [(0,0,0,0)]; 2 OP to classify: [(0,0,0,0),(0,1,0,1)]; all OP to classify except (0,0,0,0): ^[(0,0,0,0)].
• -f irradianceFunc (optional): function (min, max, sum, median,...) applied to the irradiance of the 2 faces of the facet.
• -a minArea (optional): any facet with "area < minArea" is ignored; it will not be in the final object.
• -c DartToPPFD (optional; cf. d)): factor to transfom DART spectral irradiance into PPFD; e.g., "4.56*0.3" for ∆λ=0.3µm.
Table 70. WP4Fa_local.bat (Windows system): example of batch of Python module "ClassifySunShadeLeaves.py".
8h
12h
17h
b)
a)
d)
c)
Figure 233. a) Maize field. b) Scene total/direct/diffuse spectral irradiance and exitance. c) 3D RBλ at 8h, 13h and
18h. d) Resulting 3D object with 2 groups: sun adapted leaves (red) and shade adapted leaves (dark green).
b) WP4Fb_Lux
Objective: maize field SIF during a day (∆t=1h), using the 3D object "sun / shade leaves" created by WP4Fa.
• Save WP4Fa as WP4Fb. Set 90 bands ∈ [400 - 850nm], replace the field of 3D maize plants by the 3D maize field in
WP4Fa\OBJ classification, and assign to its 2 groups the optical properties of sun- / shade-adapted leaves (Table 75).
_
160
• Run DART-Lux: "no products", only add the nadir direction. ∆r = 1m, Nsamples = 103, Nscat = 20, Nscene repetition = 10.
• Create a LUT that stores the canopy SIF from 5h to 20h (∆t=1h), only for the added direction (Figure 214).
 Morning and afternoon PSI / PSII SIF radiance is symmetric to 12h. Why?
N
Cab
Car
EWT
LMA
fqePSI fqePSII
2
2
2
Sun leaf
1.518 58 µg/cm 15 µg/cm 0.0131cm 0.003662 g/cm 0.002 0.008
Shade leaf
2
75 µg/cm2 20 µg/cm2 0.0164cm 0.004577 g/cm2 0.002 0.016
W/m2/sr
Table 71. Leaf structure (N), biochemistry (Cab, Car, EWT, LMA) and fluorescence quantum efficiency.
a)
7h
9h
12h
15h
PSI, nadir, 13h
743nm, ∆x=2mm
b)
c) 5h
13h
Figure 234. PSI / PSII SIF radiance a) Spectra at 7h, 9h, 13h and 17h. b) Daily variation at 745nm. c) 2mm RGB
images at 5h and 13h, and PS1 nadir image at 13h at 743nm; they are separately simulated.
 SIF simulation of turbid-defined vegetation created as facets: leaf back/front face lambertian optical properties are
automatically derived from the turbid-defined vegetation optical property. "ClassifySunShadeLeaves.py" uses the
Lambertian label (i.e., 0) and index of this label; the later ones are in the "simulation.properties.txt" file.
7) Coupling DART and SCOPE models: WP4G
Objective: DART SIF with influence of biophysical conditions (temperature,…) simulated by SCOPE (i.e., Eta factors).
Scene: 1 x 1 x 1 m plot: turbid medium (SCOPE, DART-Lux) or 10-3 m2 facets (DART). Parameters (Table 76): irradiance
file (⇒ no option "solar constant"),… θsun=30°, φsun=0°. 2 viewing directions: nadir, (θv=30°, φsv=180°).
DART-FT: ∆x=∆y=∆z=0.25m. Stepillumination = 0.001. Thresholdexitance = 10-4. Niterations = 20. CT = 22' (last iteration: 12).
DART-Lux: Nscattering = 30, Nsamples = 500, Nscene repetition = 40, Pixelsize = 1m. CTfacet = 1'30". CTturbid = 4'30" + CTphase = 7'.
DART & SCOPE input parameters
N
1.5
Hplot
1m
Cab
60 µg/cm²
LAI
3
Car
15 µg/cm²
LAD
Spherical (Lidfa/b: -0.35/-0.15)
ρground
EWT
0.008 cm
0
LMA
0.002 g/cm²
Irradiance bandIrradianceFile1.txt (no atm. RT)
fqePSII 0.03 (fqePSI: 0.006) Bands
451 in [400nm 850nm]
Data at z=10m
DART and SCOPE: parameters are in Table 76, and results are in SCOPE_DART.xlsx.
SCOPE input parameters
Air temperature Ta
20 °C
Air pressure p
970 hPa
Air vapour pressure ea
15 hPa
Wind speed u
2 m/s
Air CO2 concentration Ca 380 ppm
Air O2 concentration Oa 209 per mille
Table 72. DART and SCOPE input parameters.
• Compute the 3D plot with sun- and shade-adapted facets: WP4Ga
Run Maket module {ground + 1x1x1m turbid plot, 3 10-5 m2 facets} to create the object turbid.obj
whose you you comment out the 2 ground facets using "// f 1 2 3" and "// f 4 5 6".
turbid.obj
• Create a 3D object with 2 groups (sunlit- and shaded leaves), using DART-FT: WP4Gb
- Run Directions, Phase, and Maket modules; 5 10-4 m stepillumination, ρground=0, ∆x=∆z=0.25m.
- Get facet RB of turbid.obj with sequence {θs=30°}. Then, classify it as a 3D object with 2 groups.
Sun
leaves
Shade
leaves
• Simulate ρscene and LPS without / with impacting bioclimatic factors (i.e, SCOPE Eta factors):WP4Gc
Results are for turbid medium (SCOPE, DART-Lux) and facets (DART-FT, DART-Lux), using WP4Gb's 3D object.
- Without SIF impacting bioclimatic factors:
161
Figure 214.a shows SCOPE, DART-FT and DART-Lux ρscene / LPS1 / LPS2, for the case "2 photosystems". Small
differences are due to differences in mock-ups (i.e., a set of many small facets is not exactly a turbid medium),
parameters and modeling (e.g., turbidSCOPE ≠ turbidDART).
Figure 214.b shows how DART-Lux ρscene,0.85µm and computer time CT vary with Nsamples (50, 102, 500, 103, 5 103, 104,
2 104, 5 104, 105) for facet and turbid; e.g., if Nsamples > 5 103, DART-Lux relative error and "DART-Lux - DART-FT"
3
relative difference are < 10-2. CTDART-Lux greatly increases with the number NSIF of SIF bands, nearly as NSIF
;
4
simulating SIF with NSIF =451 can increase CT by 2 10 !
Figure 214.c shows DART ρscene / LPS for the case "1 photosystem".
 Convergence is much faster with larger scenes. Indeed, here, the scene size is very small, which implies a large
Nscene repetition (i.e., 40), which slows down convergence. Resulting accuracy is driven by Nsamples x Npixels for scene
values and Nsamples for pixel values (here, Npixels = 1). Scene values converge Npixels times faster than pixel values.
- With SIF impacting bioclimatic factors:
a)
b)
c)
d)
Figure 235. SCOPE and DART-FT/Lux of facet f and turbid t defined vegetation (SCOPE_DART.xlsx)
- No bioclimate factors: a) ρscene, LPS1 and LPS2 (Nsample≈500). b) DART-Lux ρscene(0.85µm) and computer time with
Nsamples. c) DART-Lux: ρscene(0.85µm) and LPS2(0.742µm), for facets and turbid medium as a function of Nsamples.
d) DART-Lux (Nsample=5000) with 1 PS (default fqe = 0.012) "facet" and "turbid" (CT≈8').
- Bioclimate factors: d)
.
Work in progress
162
VII.6 FLUIDS AND COVER MAP IMPORTATION: WP5
Objective: to import a land/fluid cover map, to manage fluids, etc.
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Forward or Bi-directional. Transition TOA ↔ BOA: No atm. RT
Nthreads: Nb cores of your computer. Smaller mesh size D: 0.1m
Passive RS & RB parameters Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
"Passive Spectral intervals/Spectral band λo = 0.56µm, ∆λo = 0µm, in mode R, λ1 = 10µm, ∆λ1 = 0µm, in mode T
Forward parameters
Maximal scattering order: 5
RS & RB"
or Bi-directional
Max. scattering order: 30 Target pixel size: 0.5m Nscene repetitions: 1 Periodic save: 
parameters
Target ray mean density / pixel: 50 Max. rendering time / image: 60s Russian roulette: 10
Products
" /BTF" Units of images: Radiance & reflectance Maximal zenith angle of images: 1°
Direction Input parameters
Sun zenith: θs=0°. Number of directions: 1000
Database: Lambertian_mineral. Model: reflect_equal1_trans_equal0_0. Name: r=0.2 ⇒ ρ=0.2
Optical & Temperature Lambertian Multiplicative factor: Reflectance: 0.2, Direct trans= 0, Diffuse trans= 0
(λo, λ1)
properties
Temperature Thermal property name: T200. Mean Temperature: 200K. Delta: 0K
Scene: 5 x 5m. Ground: r=0.2. Cell: ∆x,y = 0.5m, ∆z=0.2m.
"Earth scene"
Atmosphere brightness temperature: 0K
File name: CoverMapExample.mp# (pixel value = 1, 3, 5, 7)
"Earth scene: Plots" / "Plots from
Description of the CoverMap: CoverMapExample.txt
CoverMap"
Numbers: Columns, Lines: 5. Pixel size: 1m. Number of bytes / pixel: double (Little Endian)
Table 73. Only parameters that must be modified are indicated.
1) Cover map importation: WP5A-FT (CT=10")
Objective: to import a CoverMap (i.e., land cover / fluid raster image) with the CoverMapImportation tool.
• Create the plots. 2 options are possible:
Tool "CoverMapImportation" (Figure 236): it creates 1 plot from adjacent pixels in a row of a raster image
CoverMap (here: CoverMapExample; value Pi =1, 3, 5, 7) with same Pi and type i (here: 0: ground, 1: vegetation,
2: ground + vegetation; properties: LAI, ρground,…) stored in an information text file (here: CoverMapExample.txt,
Table 15). It stores the created plots into the file plots.xml or the file input/plots.txt, and creates the optical and
temperature properties indicated in the information file. It is run before the Maket module with the menu
) or the Editor ( ).
"Run/Properties:
), the menu "Run/
Importation of plots from a plots.txt file. The GUI does not display the plots, which makes it faster if there are
many plots. The indices of the optical and temperature properties in the plots.txt must be consistent.
• Run DART for 2 sun directions: (θs=0°, φs=0°) and (θs=30°, φs=225°) (Figure 215)
 Environmental effects between plots are much larger for θs=30° than for θs=0°. Why?
5
1
7
5
3
5
a)
7
d)
7
1
a) b)
b)
b)
e)
f)
1
5
c)
1
7
DART-Lux
DART-FT
g)
Figure 236. CoverMap. a) CoverMapExample.mp#. b) Part of CoverMapExample.txt. c) DART-FT and DARTLux mock-ups. ρ0.56µm and T10µm DART-FT nadir images: d,e) θs = 0°; f,g) θs = 30°, φs = 225°.
163
2) Cover map combined with raster DEM
Objective: to illustrate how the 3 DART modes ("repetitive", "isolated", "infinite slope") of scene creation with a
Digital Elevation Model (DEM) influence the simulation of remote sensing images (Figure 237).
a) WP5Ba_FT (CT=16" - 26")
Scene: 4.9 x 5.4km (Bassies, Fr). Tg=273K, ∆T=10K. ρg,0.56µm=0.25, ρg,10µm=0.09. θs=30°, φs=0°. TOA→BOA: Analytic.
DEM (Figure 216.a): DART/database/Bassies/DEM Bassies 50.mp#: 98 lines, 108 col, ∆x,y=50m, double little
endian. DART-FT: ∆x,y,z: 50m. ∆illu: 5m. Area subdivisionthermal emission: 10m2. DART-Lux: ∆r=50m.
_
_
Figure 216 shows results for the 3 scene creation modes ("Repetitive", "Infinite" and "Isolated" scenes):
� nadir
of a sub-zone  (28, 47) - (31,50), stored as a "mask", at 0.56µm.
b) Computer time (CT), and ρ�nadir
scene and ρ

c) The three 3D scenes and their DART-FT nadir images at 0.56µm and 10µm.
d) Per scene mode: xz section (y=0), and nadir and oblique (θv=75°, φv=315°) images ρ0.56µm and TB,10µm. ρ and
TB depend on the scene mode, especially for oblique directions Ωv since the viewed scene depends on the mode.
�B(θv,φv) ∀(θv,φv) at 0.56µm and 10µm.
e) ρ�(θv,φv) and T
�B(θv,φv)….
 DART-Lux: CT decreases if only the nadir image is simulated. Then, there is no BRF map (ρ
� (θv,φv) and T
0.56µm
Sub-zone  DART-FT DART-Lux
16s
2s
Repetitive scene ρ� = 0.211 ρ� = 0.199
29s
2s
ρ� = 0.210 ρ� = 0.200
Infinite slope
DART option
DEM
b) Isolated scene
Scene
ρ� = 0.215 ρ� = 0.202
26s
2s
Isolated scene
Infinite slope
Repetitive scene
a)
CT (laptop, 8 cores)
c)
Repetitive scene
Infinite slope
Isolated scene
DART-FT
&
DART-Lux

DART-Lux

d)
164
Repetitive scene
Isolated
ρ�0.56µm(Ω)
Infinite slope
�B,10µm(Ω)
T
No values: viewing
directions "below"
the topography
e)
Figure 237. DART 3 scene creation modes: 'Repetitive', 'Infinite slope', and 'Isolated'.
a) DEM. b) CT, ρ� and ρ (sub-zone : (28, 47) - (31,50)) at 0.56µm, using Image tool Stats. c) 3D scene view,
and DART-FT nadir images (0.56µm, 10µm). d) Scene xz section (y=0), DART-FT / Lux sensor images (0.56µm,
�B(θv,φv); φorigin = North-South.
10µm; θv=75°, φv=315°) and DART-Lux rectangular images. e) DART-Lux: ρ�(θv,φv), T
b) Scene with DEM and CoverMap Bassies_NoSnow50.mp#: WP5Bb-Lux and WP5Bb-FT (CT=24")
• Import CoverMap Bassies_NoSnow50.mp#: float little endian, description file Bassies_CoverMap_Descriptor.txt
(bare rock: 2, vegetation: 3, 273K).
�B,10µm(Ω) depend on the scene creation mode (Figure 217). Why?
 ρ�0.56µm(Ω) and T
Land cover map:
- bare rock (2)
- vegetation (3)
a)
DART option
3
� = 0.118
Repetitive scene 𝝆𝝆
Infinite slope
2
Mean reflectance value Calculation time
Scene Sub-scene (lap top, 8 cores)
Isolated scene
� = 0.118
𝝆𝝆
� = 0.121
𝝆𝝆
� = 0.087
𝝆𝝆
� = 0.087
𝝆𝝆
� = 0.088
𝝆𝝆
18s
27s
26s
Repetitive scene
Infinite slope
Isolated scene
b)
165
Infinite slope
Repetitive scene
Isolated scene
c)
Figure 238. The 3 scene creation modes. a) Bassies CoverMap. b,c) Same legend as Figure 216.c,e.
3) Transmittance, reflectance and brightness temperature of a 1m thick air layer: WP5C
Objective: 0.56µm and 10µm nadir direct transmittance tdir, diffuse transmittance tdiff, reflectance ρscene and brightness
temperature TB,scene of a 1m thick layer of Rayleigh gas (molecule: cross section σR,0.56µm= 4.20128 10-31 m2, σR,10µm=
3.11543 10-36 m2, single scattering albedo ωR =1, phase function
P𝐫𝐫
, density Nmol, temperature Tmol). Here: θsun=0°.
4π
Approach: a DART plot (i.e., parallelepiped) filled with air over a lambertian surface (ρg,0.56µm=1, ρg,10µm=0, Tg=300K)
simulates a gas layer of depth ∆hplot. Then: tdir,λ = e-Δτλ with the layer optical depth ∆τλ = Nmol.σλ.∆hplot.
Scene: 1x1m. No atmosphere RT (EBOA,λ = ETOA,λ, SKYL=0). θs=0°. Plot 1x1m. hbottom=1m, ∆h=1m) filled
with "Rayleigh air". Nmol=5.9505674461 1029 m-3. DART-FT: ∆x=1m, ∆z=1m. DART-Lux: ∆r=1m.
_
• Direct transmittance tdir,λ: WP5Ca
IlluDir
tdir,λ is derived from order 1 reflectance ρ1plot,λ = (t1,λ )2 and t1,λ =%Eground
for λ = 0.56µm and 10µm; for that, we set
ωR = 0 (i.e., null multiplicative factor) so that order 1 upward radiation from the air layer comes only from the ground.
IlluDir
 Verify: ∆τ0.56µm = 0.25, ∆τ10µm = 1.85 10-6, ρ1plot,0.56µm = 0.6065 (⇒ t1,0.56µm = 0.779), %Eground,0.56µm
, = 0.779,
IlluDir
-7
1
ρplot,10µm = 6.86 10 .6065 (⇒ t 1,10µm = 0.9999982), %Eground,10µm , = 0.999998.
4) Order 1 reflectance of a scattering air layer (copy of WP5C): WP5D (CT=1")
Objective: to compare order 1 reflectance (Table 78) of a gas layer (optical depth ∆τair, Rayleigh molecules: ω=1) of
a DART plot filled with air (ρ1,plot: WPDa), a DART atmosphere layer (ρ1,atm: WPDb) and an equation (ρ1,eq: WP5.xls).
Scene: 20m x 20m. ρground = 0. 0.56µm. θsun=0°, SKYL=0. λ = 0.56µm. Forward mode: ∆x=∆y=20m, ∆z=0.05m.
- WP5Da: plot. ∆hplot=1m. 'rayleigh_air'. Nmol: 5.951028 m-3, 5.951029 m-3, 5.951030 m-3 ⇒ τm= ∆h . N . σ: 0.025, 0.25, 2.5.
- WP5Db: atmosphere ρ1,atm,DART with 3 optical depths of WP5Da; option 'Atmosphere with user defined parameters'.
- Equation (WP5.xls): ρ1,eq(τm , Ωs →Ωv ) =
θsun=0°
θv=0
θv=60
ω.Pm (Ωs →Ωv )
τm = 0.025 (Nmol = 5.951028 m-3)
ρ1,eq
ρ1,plot
ρ1,atm
0.00902 0.00901 0.00902
0.01132 0.01129 0.01132
4.(μv -μs )
τ τ
[ m- m]
.(1-e
μs μv
), where Pm =a.�1+cos2 ψsv �+c, a=0.719, c=0.04127, ω=1
τm = 0.25 (Nmol = 5.951029 m-3)
ρ1,eq
ρ1,plot
ρ1,atm
0.07276 0.07371
0.07272
0.08267 0.08245
0.08268
τm = 2.5 (Nmol = 5.951030 m-3)
ρ1,eq
ρ1,plot
ρ1,atm
0.18367 0.18362 0.18372
0.15659 0.15651 0.15660
Table 74. Order 1 reflectance: analytical, fluid plot and atmosphere for 3 air optical depths (0.025, 0.25, 2.5).
Discrete scattering functions ∫ΔΩ
out
P(Ωin ,Ω)
4π
.dΩ of volumes (i.e., turbid medium, fluid) are stored as binary files in folder
"output/ lib_phase". Option "View / Scattering functions" (Figure 218.a) exports them as txt files. Option "Directions
3D View + Choose X(θ,φ)" displays them (Figure 218.b): for {Ωin = Ωs , Ωout = any direction Ωn ; here: ΔΩn ≈0.12628
except ΔΩo ≈0.09546} and {Ωin = angular sector Ωsector , Ωout = Ωn ).
166
 Verify that ∫ΔΩ
out
P(Ωin ,Ω)
4π
.dΩ ≈
P(Ωin ,Ωout )
4π
.ΔΩout
and
P(Ωsector , Ωn )
4π
is azimuthally symmetric (i.e., same value for all
directions with same Ψsector,n ) and symmetric relative to the plane that is perpendicular to the incident direction.
DART directions
a)
b)
P(Ω ,Ω)
in
Figure 239. Discrete Rayleigh scattering function ∫ΔΩ
.dΩ (binary file 0.rayleigh_air_ScatteringFunction.
4π
out
a) Option 'View / Scattering functions': scattering from sun direction + 10 sectors (0 - 9) → all DART directions.
P(θ,φ)
b) Option 'View / Directions 3D View' + overlay
.ΔΩ on the sphere. Incident: sun (left), sector 1 (right).
4π
5) Bi-directional reflectance of a snow layer: WP5Ea and WP5Eb
Objective: to apply in WP5Eb an analytic "snow layer bi-directional reflectance factor (BRF)" computed in WP5Ea.
Scene: 1x1m, ∆z=0.1m, {0.55µm, 1µm; ∆λ=0µm}. Fluid plot: 1x1x1m, snow (fluid.db: σsnow=7.854 10-7 m2, ω0.5µm
≈0.999991, ω1µm ≈0.99646), 109 particles/m3. Max(Niterations): 102. Threshold: 0 to stop rays/iterations. θs =50°,
φs =225°. Upward region ( ΔΩ=6.29sr ): 400 directions (Figure 219). An Henyey Greenstein function
simulates snow scattering phase function (asymetric factor: 0.85582 at 0.55µm, 0.85999 at 1µm).
a)
b)
c)
Figure 240. a) 400 directions (∆Ωupward region=6.29sr). b) "snow" optical property. c) Fluid plot property.
 Check in dart.txt file that scene albedo is 0.999895 at 0.55µm and 0.959668 at 1µm.
To decrease computer time and memory, large scenes can be simulated as ground surfaces whose reflectance is an
analytic BRF model derived from the fit of the BRF of part of the scene. The tool "Computation of parametric model
coefficients" does this fit for a few analytic models. Figure 220.b shows the snow BRF fitted with the Hapke and
RPV models, with directions θv < 60°. WP5Eb illustrates that the BRF of the resulting scene is that of the fitted model.
167
BRF intial: θv<90°
a)
Hapke
Hapke difference
b)
BRF intial: θv<60°
c)
w
c1
c2
c3
c4
h1
h2
RMSE
0.55µm 0.99793 -1.64492 0.4595 -0.33078 -0.33119 53.69776 0.12672 0.0422
1µm
0.99795 -1.64537 0.45975 -0.33100 -0.33149 53.69137 0.12650 0.0421
d)
MRPV (5p)
RPV difference
Figure 241. BRF of a 1m deep snow layer. λ=0.55µm. θs =50°, φs =225°. DART (x) and sun (•) directions. Initial
BRF: a) θv<60°; b) θv<60°. c) Hapke coefficients (coefficients Hapke files in Bandx folders). d) Hapke
(top) and MRVP (bottom) fitted (θv<60°) BRF and "Initial - Fitted" BRF.
_
6) Reflectance of a water volume: WP5F
Objective: to illustrate how to simulate a water volume, including refraction and specular reflectance. The option
"Hidden" that hides scene elements allows one to quantify the impact of each element on scene reflectance.
Scene: 8x12m. Fluid plot: 8x8x1m.
: maximum filling altitude=1m, Particle density=5 1016 m-3.
λ=0.75µm. θs =30°, φs =270°. 2 viewing directions: (θv =0°, φv =0°), (θv =30°, φv =90°).
(0,2)
(0,8)
Specular surface
(square.obj; z=1m)
Tree
(8,2)
Fluid
plot
(8,8)
168
Specular
reflectance
a)
b)
c)
Figure 242. Water and tree: mock-up (a) and DART images: satellite nadir (b) and oblique camera (c).
169
VII.7 TREES: CREATION AND IMPORTATION: WP6
Objective: spatial distribution of DART-created and imported trees, possibly using fields (i.e., xy location,… per tree).
Objective: Passive remote sensing (RS) and radiative budget (RB)
Light propagation mode: Forward or Bi-directional
Transition: TOA ↔ BOA: Analytic model
Nthreads: Nb cores of your computer. If Forward mode: Smaller mesh size D: 0.01m
Irradiance or radiance: Spectral irradiance (database) - TOA or BOA (+SKYL)
Passive RS & RB parameters
Spectral intervals/Spectral band [0.4µm 0.4µm], [0.56µm 0.56µm], [0.66µm 0.66µm], [0.9µm 0.9µm] Mode R
Forward parameters
Maximal scattering order: 5
or
Max. scattering order: 100 Target pixel size: 0.5m Nscene repetitions: 10 Periodic save: 
Bi-directional parameters
Target ray mean density / pixel: 50 Max render time / image: 0 Russian roulette: cut-off 30
Units of images: Radiance & reflectance Maximal zenith angle of images: 0.1°
Products
"BRF/BTF"
If Forward mode: Sensor plane image oversampling: 2. Nrepetitive scenes: 2
Name: "soil", Database: Lambertian_mineral. Model: sandy_loam_brown
Optical & Temperature Lambertian Name: "trunk", Database: Lambertian_vegetation. Model: bark_deciduous
properties
Vegetation Name: "leaf", Database: Lambertian_vegetation. Model: leaf_deciduous
"Earth scene"
Scene: 10m x 10m, Ground: "soil". If Forward mode: Cell: ∆x,y,z = 0.5m. Else: ∆r = 0.1m
With trees , Tree distribution: Exact location + Random dimensions, Tree file: trees_WP6.txt
"Earth scene: Trees"
LAI: any. Crown: cone, height = 12m, radiusbottom = 4m, radiustop = 0m
Trunk: H below crown = 4m, Diameter Φ = 0.5m, H within crown = 1m
(c)Trees, Figure 52)
Empty and/or leaf cells: holes. Holes distribution: 0 / 1 / 0.5
"Passive
RS & RB"
Table 75. a) Parameters to set: Forward (DART-FT) and Bi-directional (DART-Lux) modes. b) File
trees_WP6.txt in simulation input folder. It can be the edition of file trees.txt in DART database.
1) Tree creation: WP6A
Objective: the 3 DART methods (, , ) to get DART-created trees.



a) Turbid tree + option "Exact location + Random dimensions": WP6Aa_FT
Tree creation method  only reads the tree species index (i.e., optical properties, LAI profile,…), xy location, and
possibly leaf area (noted LAI!), from a tree file (here: trees_WP6.txt) that can store each tree geometry. Other
information is directly specified by the user in the GUI. Figure 222 shows scene nadir images.
a)
� = 0.0078
𝝆𝝆
b)
c)
� = 0.0659
𝝆𝝆
� = 0.0872
𝝆𝝆
d)
� = 0.3618
𝝆𝝆
e)
Figure 243. Nadir images. a) 0.4µm. b) 0.56µm. c) 0.66µm. d) 0.9µm. e) Color composite (cf. III.7.9, WP3E).
d
ρNIR - ρred
ρNIR + ρred
• Create the scene NDVI=
image (Figure 223): tool "Tools"/"Band Combination" (cf. WP3H)
 Check the consistency of NDVI image: high value for green vegetation and low for bare ground.
Figure 244. Scene NDVI image.
 In the Forward mode, the information panel of menu "View
\ Scene 2D") displays LAIscene ; here, it is
leaf area
scene area
=3.
 For below copies of WP6Aa, the folder "BandCombination" can be
deleted to reduce computer memory.
170
b) Turbid tree + "Exact location + Exact dimensions": WP6Ab_FT (copy of WP6Aa)
• Set DART tree creation method  with WP6Aa's hole distribution. Then, DART uses all available
data of file trees_WP6.txt (crown shape,…). Note that the tree geometry slightly differs from WP6Aa.
c) Triangle tree + "Exact location + Exact dimensions": WP6Ac_FT (copy of WP6Ab)
• "Fill" the tree crown with triangles (areatriangle: 0.03m2) instead of turbid medium.
• Set the Maket product "Triangles area products" (i.e., distribution of areatriangle as 3D array, vertical
profile, and per type of scene element. Here, we only select "per type"; results (i.e., 300m2 for
leaves and 100m2 for the scene) are stored in the "Maket" section of SimulationProperties.txt file.
• Set Maket product
to create the 3D object dsm.obj. It storesall facets of the scene into
3 groups: "DARTground","DARTcanopy" and "DARTtrunk". Comment its 2 ground facets "f 1 2 3" et "f 4 5
6" to get the 3D tree object, and name it TreeObjWP6Ac.obj; WP6B_Lux uses it.
2) Tree creation + option "Random location + Random dimensions": WP6B (copy of WP6Aa)
Scene: 20m x 20m. Tree creation method  randomly locates (Figure 224) the WP6Aa tree at nodes of a grid (∆x=4m,
∆y=5m) inside disks (radius 2m) with 90% probability of presence. Crowns are filled with 0.03m2 facets. LAI=3.
Figure 225 illustrates that images of a same scene from successive DART runs differ if the scene is simulated with
option
 because this option leads to different tree and leaf / hole geometries.
a) DART-FT (WP6B_FT): computer time (CT) is 2' 39" with ∆r = 0.5m and 32' 14" with ∆r = 0.1m.
Figure 245. Menu of method 
"Random location + Random
dimensions" for creating a tree
spatial distribution.
Scene nadir view
Scene 3D view
Figure 246. DART-FT
simulated
with
images
option
.
0.56µm.
b) DART-Lux (WP6b-Lux)
� = 0.0366
𝝆𝝆
� = 0.0331
𝝆𝝆
With option "Conversion of N turbid tree crowns into facets in the tree crown volume", DART-Lux creates N 3D
independent objects (⇒ N ply files). Another approach is shown here.
• Edit the file Tree_report (i.e., location xy, Ntriangles & Areatriangle / tree) of
WP6B_FT as the field FieldObjWP6B.txt to get the tree xy distribution
of WP6B_FT. Specific scaling factors (sx,sy,sz) and rotations (rot1,rot2,
rot3) could be applied per tree to get variable trees, which is more
realistic. Note that a factor s=sx=sy=sz multiplies the foliar area by s2.
FieldObjWP6B.txt
//object x y z sx sy sz rot1 rot2 rot3
complete transformation
0 2.190233 0.651347 0 1 1 1 0 0 0
0 2.233575 8.447880
……… 0 1 1 1 0 0 0
• Import the field of 3D objects FieldObjWP6B.txt (Figure 228) and object TreeObjWP6Ac.obj. All trees will be clones
of this object (⇒ 1 ply file). Set the correct surface optical properties to the groups DARTcanopy and DARTtrunk.
171
Figure 247. Importation of the 3D object TreeObjWP6Ac.objin the field FieldObjWP6B.txt.
Figure 227 shows:
* Images (WP6B_Lux): 0.56µm (a: nadir, b: oblique) and 0.9µm (c: nadir), pixel size ∆r = 0.1m, CT=2' 26".
* 2D BRF plot: - direct interpolation of the 360 x 90 BRF map. Nsamples: 50 (d: WP6B_Lux) & 103 (e: WP6B_Lux_BRF).
(0.56µm) - interpolation of brf.txt that stores mean values of DART images and interpolations of the BRF
map for all upward discrete directions (here: 103 + plus directions around hot spot). It is usually
smoother than the direct 2D BRF plot. Nsamples = 50 (f: WP6B_Lux) and 103 (g: WP6B_Lux_BRF).
* 1D BRF plot (solar plane, 4 bands): interpolation of brf.txt. Nsamples = 50 (h: WP6B_Lux) & 103 (i: WP6B_Lux_BRF).
 BRF plots become smoother with increasing Nsamples.
 Due to its 1° resolution, the BRF map, and therefore the direct 2D BRF, tends to underestimate the hotspot (by
more than 13% at 0.56µm with Nsamples=103). brf.nc, and therefore its associated 2D BRF plot, is more accurate at
the hotspot if the hotspot image is simulated (reflectance from image has priority over reflectance from BRF map).
 With small Nsamples=50, the random noise can lead to maximal reflectance in the neighborhood of the hotspot.
 BRF is minimal for very oblique directions. This effect decreases if Nscene repetition is increased.
a)
� 𝟎𝟎.𝟓𝟓𝟓𝟓 =0.035
𝝆𝝆
b)
� 𝟎𝟎.𝟓𝟓𝟓𝟓 =0.073
𝝆𝝆
c)
� 𝟎𝟎.𝟗𝟗 =0.4597
𝝆𝝆
172
Nsamples = 50
ρ0.4µm
ρ0.56µm
ρ0.66µm
h)
f)
d)
ρ0.9µm
Nsamples = 103
ρ0.4µm
ρ0.56µm
ρ0.66µm
e)
g)
ρ0.9µm
i)
Figure 248. DART-Lux. ∆r=0.1m. θs=30°, φs=225°. Images: 0.56µm (a: nadir, b: oblique), 0.9µm (c: nadir); CT=2' 26".
2D BRF (0.56µm ): d,e) direct interpolation of BRF map; f,g) interpolation of ρ in brf.nc (from BRF map
+ hotspot image). h,i) 1D BRF (4 bands, solar plane): interpolation of ρ in brf.nc.
3) Creation of a scene with different tree species: WP6C (copy of WP6Aa_FT)
Objective: scene with several tree species (i.e., crown shape,..) + Option "Exact location + Random dimensions".
Scene: 20m x 20m. 4 DART-created trees (2 tree species: 0, 1). Table 80 shows the tree file  (species, x, y, and
possibly Leaf area), the DART-tree GUI menu , and tree parameters  per species.
Figure 228 shows the scene mock-up and nadir images from DART-FT at ∆r=0.5m and DART-Lux at ∆r=0.1m.
Tree position file
Species ID POS_X POS_Y LAI
_
0
0
1
1
5
14
6
14
5
6
15
14
150
300
200
300
Species 1
Species 0
Tree locations (x, y)
(6m, 15m), (14m, 14m)
(5m, 5m), (14m, 6m)
Height below crown
1m
3m
0.3m
0.3m
Trunk Diameter below crown
Height within the crown
Shape
Crown


Height
Horizontal section
1m
1m
Truncated cone
Ellipsoid
12m
9m
Radius: bottom =4m, top=0m
1st axis = 2nd axis = 8m
Empty and/or leaf cells: Holes a=0, b=1, % full cells =0.5
a=0, b=1, % full cells =0.5
Table 76. Setting DART-created trees.  Tree position file.  DART-created trees menu.  Tree species parameters.
a)
b)
� = 0.0710
𝝆𝝆
c)
� = 0.0713
𝝆𝝆
Figure 249. a) 3D scene mock-up. Nadir images: b) DART-FT, ∆r=0.5m; c) DART-Lux: ∆r=0.1m. 0.56µm.
4) Importation of 3D tree: WP6D (copy of WP6Aa_FT)
Objective: to import a 3D tree (i.e., 3D object made of facets) (WP6Da) and a field of 3D trees (WP6Db).
Scene: 10m x 10m. 4 bands {0.4µm, 0.56µm, 0.66µm, 0.9µm}.
173
 - For DART-FT: the illumination grid must be consistent with facet dimensions for getting accurate results.
- DART-created trees can be ignored () or removed (). Here, we remove them ().


a) WP6Da
• Import and display the 3D tree 'benjamina.obj', and rename its groups (Figure 229.a, b)
The tree is located in folder "Dart\database\3D_Objects\Tree\Aesthetic_Trees\Deciduous". It is made of
25800 triangles that belong to 2 groups: 1 group for trunk and branches and 1 group for leaves. Specific
properties are assigned per group. To view each group individually, display the tree with the '3D View' option
(Figure 229.b, c), then, select a group (Figure 229.a, d). Groups can be named "Trunk" and "Leaf".
• Define colors and assign them to the groups: menu "Colors / Custom colors" (Figure 229.a)
The color of a facet sets its material. The file input\dart.typ lists all defined materials, including DART materials.
• Set the tree location (x=y=4) and scale factor (1.8 for all axes): menu "Object / Geometric properties"
• Assign optical properties per group of facets: menu "Object / Groups / Group" (Figure 229.e)
The "double face" option is needed for the group "Leaf" to get scattering on the 2 faces of leaf facets. It is not
needed for the group "Trunk" because the trunk facets have normals that are oriented towards trunk outside.
• Run DART and create the color composite image with the RGB nadir images (Figure 229.f)
b)
a)
c)
d)
f)
e)
Figure 250. a,b) Importation of a 3D tree. c,d) The tree mock-up. e) Properties of the trunk. f) Color composite.
b) WP6Db (copy of WP6Da)
• Remove the 3D tree. Then, there is no individually imported 3D object (Figure 230: )
• Import a Field of objects  and 2 3D models "Citrus CISY1"  and "CISY4"  (Figure 230)
Figure 230 shows the 3D mock-up of the scene and a color composite of DART nadir images.


// Species, location xyz, Scale factors, Rotations
complete transformation
0 3.0 2.0 0 2.0 2.0 2.0 0.0 0.0 26.3
0 7.3 2.5 0 1.5 1.5 1.5 0.0 0.0 96.1

1 8.0 7.3 0 2.0 2.0 2.0 0.0 0.0 33.8
1 3.0 7.5 0 2.0 2.0 2.0 0.0 0.0 15


Figure 251. Field of 2 types of trees. a) Menu. b) Field file. c) Mock-up. d) DART-Lux nadir image. ∆r=2cm.
174
5) Transformation of an imported 3D triangle tree into a turbid tree: WP6E (copy of WP6Da)
3D trees made of many facets (e.g., 106 per tree) can need huge CT and RAM. DART-Lux greatly reduces them by
simulating trees as clones of several 3D trees, with xyz scalings and rotations per tree. There is another solution
presented here with DART-FT: facets are transformed into turbid medium volumes. Note that CT can be much
larger for turbid trees than for facet trees if Nturbid volumes is huge conversely to Nfacets. For DART-FT, CT and accuracy
for "turbid" trees usually decrease with coarser spatial resolution, and they mostly depend on Nfacets for facet trees.
• WP6E_FT: the 'Triangle → Turbid' transformation can be done at any spatial resolution (Figure 231) with predefined turbid optical properties, and user specified or automatically derived LAD and LAI.
a)
b)
c)
d)
e)
Figure 252 : Transformation "Triangle → Turbid". 4 spatial resolutions: a) 0.5m, b), 0.25m, c) 0.1m, d) 0.05m.
Figure 232 shows nadir reflectance images, ρ� and CT at 0.56µm (∆r=0.1m, 0.2m, 0.3m). With ∆r decrease, we note:
- Turbid tree: CT greatly increases and ρ� accuracy improves mostly due to better shadow simulation. ρ� does not
change much if LAD is computed or pre-computed.
- Facet tree: CT remains much smaller than for the turbid tree, and ρ� remains nearly constant.
Turbid with computed LAD
Turbid with predefined LAD
∆t=90s, ρ�=0.0683
∆t=1020s, ρ�=0.0664
∆t=1020s, ρ�=0.0670
�=𝟎𝟎.0682
∆t=16s, 𝛒𝛒
∆t=97s, ρ�=0.0647
∆t=97s, ρ�=0.0652
∆t =7s, ρ�=0.0683
∆t=16s, ρ�=0.0617
∆t=16s, ρ�=0.0622
0.5m
0.25m
0.1m
Triangle
Figure 253. DART-FT scene reflectance ρ� and computation time ∆t. Facet and turbid trees. 3 cell sizes: ∆r=0.1m,
0.25mand 0.5m. Transformation "Facet → Turbid" is with pre-defined and computed LAD. 0.56µm.
175
Note: the conversion "Facets → Turbid" in DART-Lux gives similar results. However, it is not always advised
because it can give many turbid volumes, especially with large Nscene repetition, and consequently many PLY
files and very large file maket.scn, which can require very long simulation times.
• WP6E_Lux: compared to DART-FT, it is usually greatly faster, with much less RAM and radiative transfer
modeling parameters (i.e., Nscat, Nscene repetitions, Nsamples, and Russian Roulette (RR) scattering depth NRR,depth and
surviving probability PRR). Depending on 3D scenes, DART default parameters may not be optimal for the best
trade-off "Accuracy of ρscene - CT". This is illustrated here with the 10m x 10m Benjamina scene, especially at
0.9µm because convergence is slower for this band due to greater multiple scattering. DART-Lux images (Figure
233) simulated with {Nscat=300, Nscene repetitions=10, Nsamples=300} (CTref=207s) are used as references to assess how
Nscat, Nsamples and RR impact CT and relative error ερ of ρ�.
- 0.56µm: ερ < 2 10-2 ∀ Nscat ≥ 10, Nsample ≥ 10. CTs greatly vary: 7" if Nscat = Nsample = 10; 154" if Nscat = Nsample = 102.
- 0.9µm: Nscat ≥ 30 ⇒ ερ < 10-2 ∀ Nsample. CT =14s and ερ = -7 10-3 for {Nscat = 30, Nsample = 10}. RR decreases CT,
especially for small Ndepth, but increases the image variance. For {Nscat=100, Nsample=50], CT=18" if Ndepth=10,
CT=24" if Ndepth=20, and CT=27" if Ndepth=30, whereas CT=34" without RR. CT tends to be proportional to
Nsample, and slowly increases with increase of Nscat. The optimal parameters depend on the expected accuracy
on ρscene and Monte Carlo noise in images. Here, {Nscat=102, Nsample=50, Ndepth=30} can be a good choice.
0.06869
0.01193
0.08267
0.38082
Figure 254. DART-Lux nadir reflectance images. They are used as reference images. CT = 208".
0.9µm: zoom
Nscat
+ 300: 0.38082
a)
b)
Nscat
�𝟎𝟎.𝟓𝟓𝟓𝟓µ𝒎𝒎 . b) 𝛒𝛒
�𝟎𝟎.𝟗𝟗µ𝒎𝒎 . c) 𝜺𝜺𝛒𝛒�𝟎𝟎.𝟗𝟗µ𝒎𝒎 . d) CT0.9µm. No Russian Roulette.
Figure 255. DART-Lux ρ�(Nsamples) for Nscat = 10 to 102. a) 𝛒𝛒
176
Avg: 0.3806
Min: 0.0384
Max: 1.2674
S.D.: 0.2477
Avg: 0.3815
Min: 0.0207
Max: 1.7937
S.D.: 0.2643
a)
b)
Avg: 0.3809
Min: 0.0478
Max: 1.2420
S.D.: 0.2459
c)
ρ�=0.3809, CT=6"
ρ�=0.3803, CT=6"
Avg: 0.3809
Min: 0.0389
Max: 1.3376
S.D.: 0.2479
Avg: 0.3803
Min: 0.0222
Max: 2.2465
S.D.: 0.26222
d)
ρ�=0.3809, CT=66"
ρ�=0.3804, CT=34"
ρ�=0.3815, CT=8"
e)
Figure 256. DART-Lux images. No RR: Nscat=102, Nsamples = 10 (a), 50 (b), 102 (c). RR: Nsamples = 10 (d), 50 (e). ∆r=0.05m.
6) Comparison of DART methods for simulating vegetation: WP6F
DART-FT: vegetation is simulated with facets (triangles) or voxels filled with turbid medium (i.e., turbid voxels)
that represent leaves and twigs. Conversely to turbid voxels, facets are independent of DART voxels, which
simplifies multi-scale studies. Hence, for vegetation-facet, computation time (CT) depends mostly on the
number of facets (Nfacets). For vegetation simulated with turbid voxels, CT depends mostly on the number of
turbid voxels (Nturbid voxels). A usual initial step is to determine the optimal vegetation simulation mode. It is a
trade-off between "accuracy" and "CT and computer memory". It mostly depends on Nfacets and Nturbid voxels.
DART-Lux: no use of voxels, and great CT / RAM decrease, especially if fields of 3D objects are used.
Scene: 4 bands (0.4µm, 0.56µm, 0.68µm, 0.9µm). 40mx40m horizontal ground. ∆x=∆y=∆z=1m. Tree at (20m,
20m). LAI = 2.14. ρleaf = ρgrass rye. Four tree simulation methods are considered.
CT and scene reflectance ρscene depend on the tree simulation mode (Figure 236):
177
a) Facet-tree (imported): cherry tree with scale factor 30. It has 2 groups: 'leaf' (15966 facets) and 'wood' (3628
facets). It is the best trade-off for "CT vs. accuracy", because Nfacets is small.
b) Derived turbid-tree: group 'leaf' of facet-tree 'a' is transformed into 'turbid', keeping more or less its geometry.
c) DART-created ellipsoidal turbid tree with dimensions of tree 'a' without trunk (Φtrunk=0m): Htrunk below crown=1m,
Hcrown=33m, Φcrown=0m. The trunk and branches are those of 3D tree 'a'.
d) DART-created ellipsoidal turbid tree 'c' with crown randomly filled with 0.03m2 / 0.3m2 / 3m2 facets. If facets
are very small (⇒ very large Nfacets), tree 'd' is equivalent to tree 'c' (i.e., ρscene(tree d)≈ ρscene(tree c)), but CT
can become huge. The ideal Nfacets is a trade-off between accuracy and CT. Here, with 3m2 leaves, CT decreases
by a factor 20, while keeping the ρscene relative difference ≈0.01.
Notes: - trees 'c' and 'd' cannot exactly mimic facet tree 'a'. For example, here, their dimensions are the extreme
dimensions of the facet tree 'a', which is not optimal.
- facet tree 'd' can be more realistic than turbid tree 'c', although turbid tree 'c' is often considered as a reference.
LAI=2.14
a)
Computer time: 13s
ρ0.4µm=0.028, ρ0.56µm=0.091
ρ0.68µm=0.12, ρ0.9µm=0.327
b)
Computer time: 60s
ρ0.4µm=0.027, ρ0.56µm=0.087
ρ0.68µm=0.124, ρ0.9µm=0.303
0.003m2
c)
Computer time: 188s
ρ0.4µm=0.024, ρ0.56µm=0.078
ρ0.68µm=0.109, ρ0.9µm=0.304
0.3m2
d)
d)
Computer time: 188s
ρ0.4µm=0.024, ρ0.56µm=0.078
Nfacets:116813 ρ
0.68µm=0.108, ρ0.9µm=0.303
3m2
Computer time: 22s
ρ0.4µm=0.024, ρ0.56µm=0.078
Nfacets:14965 ρ0.68µm=0.108, ρ0.9µm=0.301
f)
Computer time: 10s
ρ0.4µm=0.024, ρ0.56µm=0.079
Nfacets:4780 ρ0.68µm=0.108, ρ0.9µm=0.307
Figure 257. Four tree simulation methods. DART-FT. a) Cherry tree. b) Turbid tree derived from tree 'a'. c)
Tree with dimensions of 'a' filled with turbid medium and with 0.03m2 (d), 0.3m2 (e) and 3m2 (f) facets.
178
VII.8 TOPOGRAPHY: WP7
Objective: to study environmental / topographic effects in a satellite image.
"Transition: TOA ↔ BOA"
No atmosphere RT (⇒ no BOA atmosphere illumination ⇔ SKYL = 0)
Smaller mesh size of BOA irradiance 0.01m
TOA or BOA illumination: Spectral irradiance (database)
"Flux "Flux tracking parameters"
tracking"
"Spectral intervals" Spectral band: [0.70µm 0.70 µm] : λmean=0.7. ∆λ=0µm. Mode R
"Products" /
Earth scene first order scattering
"BRF/BTF products" Maximal zenith angle of images: 1°
"Earth scene"
"θs = 50°, φs = 225°"
Database: Lambertian_mineral
⇒ ρ=1
Table: "reflect_equal1_trans_equal0_0", Name: "Lamb_ro=1"
Cell: ∆x = ∆y = 1m, ∆z = 0.5m, Scene: ∆X = 40m, ∆Y = 4m, Ground: "r=1"
"Earth scene:
- / "House"
Urban" / "Buildings" - / "House" / "Wall"
/ "Building"
- / "House" / "Roof"
Type of roof: Classic
Wall: (0,0), (40,0), (40,4), (0,4); zwall = 0m. ρwall = r=1
Roof : (20,0), (20, 4); zroof = 10m. ρroof = r=1
"Direction input parameters"
"Optical & Temperature properties" /
"Lambertian"
Table 77. Parameters that must be modified are indicated. The house roof is used to simulate topography.
1) Reflectance of a slope with a given sun illumination direction: WP7A
Objective: to study how slope reflectance varies with the illumination direction (scene = 2 slopes of a roof).
Ωnadir 50°
Ωs
Ωslope
10m
40m
Figure 258: a) Scene: house roof. b) 3D view. Ωv: view direction. Ωslope: slope perpendicular. Ωs: sun direction.
• Display DART nadir images at 1st order and iteration X (Figure 238).
Figure 259:
DART simulation of the slopes.
a) Order 1. b) Order X.
a)
b)
 Figure 238: - the observed mean 1st order reflectance ρ1,obs,roof of roof slopes are 0.517 and 1.27, respectively,
� .Ω
�
Ω
whereas the reflectance of roof material is ρroof=1. Why? Note: ρ1,obs,roof =ρroof. � s� roof .
Ωs .Ωnadir
- Why does the reflectance of each roof slope decreases with altitude in image IterX?
 Option
decreases a lot computer time. It computes 1st order reflectance only.
179
2) Reflectance as a function of solar time: WP7B
Objective: ρslope(solar time), without and with atmosphere R.T.
Scene (Toulouse) coordinates (menu "Earth scene":Figure 239): Long. = 1.45°, Lat. = 43.617°, altitude = 200m.
- Solar time (menu "Direction input parameters"): June 21, 2019, time = 12h.
- Atmosphere: USTD76 gas model, rural aerosol (Vis=5km). Manual / constant geometry: dZ=500m, HMA=4km,...
• Create the sequence: 7h, 9h, 11h, 13h, 15h, 17h, 19h
a)
c)
Figure 260 :a) Coordinate of the scene (i.e., Toulouse
city). b) Date (solar time). Combined with the scene
coordinate, it gives the local sun direction. c) A
rotation of the sun direction can mimic a scene
rotation. Compared to the scene rotation, the
advantage is to work with exactly the same mock-up
without any geometric distorsion.
b)
• Run the sequence without atmosphere and with atmosphere R.T.
Results are stored in the LUT, and its data are displayed with the mode "Time". Figure 240 shows nadir reflectance
images at 7 solar times for 2 cases: without (SKYL=0) and with atmosphere RT, the angles (θsun, φsun) of the 7 sun
directions, and the time variation of reflectance for nadir and oblique viewing (41°, 30°) directions.
 Early morning and late afternoon, ρNorth slope,BOA > ρSouh slope,BOA, conversely to the rest of the day. Why?
 At 19h, ρNorth slope,BOA ≈ 0, except at the top, if SKYL=0. It is not null if atmosphere R.T. is simulated. Why?
 TOA nadir reflectance is always smaller than BOA nadir reflectance. Why?
9h
(41°, 75°)
11h
(23°, 34°)
13h
(24°, 322°)
15h
(43°, 283°)
17h
(64°, 261°)
19h
(85°, 242°)
BOA: No atmosphere
Solar time: 7h
(θsun,φsun):(63°,97°)
a)
180
BOA: Atmosphere R.T.
TOA: Atmosphere R.T.
b)
c)
d)
Figure 261: Nadir images (BOA without (a) and with (b) atmosphere, TOA (c)) and time variation
of TOA and BOA reflectance for nadir and oblique viewing directions. DART 5.7.4 V1085.
3) DEM creation with option "Repetitive scene" and "Infinite slope"
Objective: to create a slope with the tool DEMGenerator (cf. III.5.1) and to study its reflectance
Scene: ∆X=40m, ∆Y=4m. ∆x=∆y=1m, ∆z=0.5m. No atmosphere (SKYL: 0). θsun=50°, φsun=225°. Illumination grid: 5mm.
• Create a slope (i.e., DEM) with option 'Create Topography' in menu 'Earth scene / DEMGenerator':
- DEM kind: select the option "Theoretical DEM Building"
- DEM properties: set option "Generalized valley" and parameters of Figure 241.
- Create the DEM: run the module "DEMGenerator" with
in the Simulation Editor or
directly from the menu "Run". Then, 2 triangles are created per pixel (x,y) of the DEM (cf. dart handbook.pdf).
- Set the option "Presence of topography". Option "3D view" (Figure 241). displays the 3D DEM.
3.1 Scene creation with option "Repetitive scene": WP7Ca (copy of WP7A)
• Select the option "Repetitive scene" (default option) in the menu "Earth scene" and run the Maket module.
The "View Scene 2D" and "View Scene 2D" menus display the 2D and 3D views (Figure 241) of the scene created
by the "Maket" module, respectively. Being infinite with a repetitive pattern, the scene contains a nearly vertical
"wall" with an altitude range from the scene left side altitude to the scene right side altitude.
181
b)
a)
c)
d)
Figure 262: Slope creation with the tool "DEM_Generator". a) Menu. b) Input and 3D view of the DEM
used for creating the mock-up. 2D x-z (menu 'View Scene 2D') and 3D (menu 'View Scene 2D') views
of the 3D scene created with the "Repetitive scene" option (c) and with the "Infinite slope" option (d).
Figure 242 shows the 1st scattering order and IterX nadir images.
 Iter 1 image has 2 values only: 0.766 and 0.94. Why?
 In IterX image, slope reflectance increases from lower to higher altitude. Why?
Figure 263: Nadir images of a slope. Order 1
(a) and iteration X (b).
a)
b)
182
3.2 Scene creation with option "Infinite slope" WP7Cb (copy of WP7Ca)
Scene: ∆Y=10m and "infinite slope" option.
 At any iteration, DART images are identical to images at Iter1. The slight spatial variation
of slope reflectance ρ*slope (Figure 243) is due to the finite dimensions of the cells ∆rcell,
triangles ∆rtriangle (2 triangles per pixel of the raster DEM) and illumination mesh grid ∆rillumin.
Here, ρ*slope ∈ [0.7656 0.7658] with ∆rillumin = 5mm.
Figure 264: Nadir image of a slope.
Simulation with "infinite slope" option.
.
3.3 Scene creation with a3D object derived from the option "Infinite slope" WP7Cc (copy of WP7Cb)
A DART flat ground is made of 2 triangles. Hence, the "triangle" ground radiative budget (RB) is represented by 2
triangles only, and there is a unique ground scattering event per cell of the current simulation. Very often, one expects
that RBground and scattering occur at a spatial resolution ∆rexpected independent of the cell dimension ∆rcell of the current
simulation. For that, the ground surface should be made of triangles with dimension ∆rtriangle equal to ∆rexpected. A
solution is to import a 3D object made of triangles with ∆rtriangle=∆rexpected, and to use it as a DEM. The Maket module
with option
creates this 3D object: it creates a DSM (Digital Surface Model) with all triangles
of the DART scene. If the scene contains only the ground surface, and if the ground is simulated using a raster DEM
with spatial resolution ∆rexpected, then the DSM is a 3D object DEM with spatial resolution ∆rexpected.
• Create the DEM 3D object with "Maket + option
"; then, copy it to the simulation input folder.
• Import the DEM 3D object, and specify that you use it as a DEM. Remove the use of the raster DEM.
 DART nadir image is equal to the image directly created with option "infinite slope" (Figure 243).
 The tool Topography/Object creation (script convertDEMtoOBJ.py) creates a 3D object from a raster DEM image:
Path_to_Python\python Path_to_Script\convertDEMtoOBJ.py Path_to_DEM.mp# double 150 1 1 1 1
 Softwares as Blender (www.blender.org) create 3D DEM objects. Here, the Excel file Obj_Coordinates.xlsx creates
the 3D object Generalized_Valley.obj with facets in different groups, for example for studying facet RB.
4) Reflectance of a highly reflective V shaped landscape (69° N, 49°W): WP7D
Objective: to assess the minimal number of iterations for albedo convergence.
Simulation: TOA → BOA transfer: analytic. θs=30°, φs=0°. λ=0.56µm. 80 iterations. Scene albedo threshold: 10-7 s.
B'
- ∆x=∆y=∆z=1m. ρground=0.95.
z
Scene:- φn=350°: a φn rotation of the scene would complexify the scene in
the xyz reference. In order to avoid that, set the scene along Ox axis
.
(φn=360°) and use a 10°
- Height of the 2 plateaus: ∆h1 = ∆h2 = 350 m
- Zenith angle of the 2 slopes: θ1 = θ2 = 80°
- Distance of valley from origin: AE = 75 m. Valley width: EF = 2 m
C'
B
∆h1
A (0,0,0)
φn
x
d1
C
G
θ1
I'
G I
E'
∆h2
D
E
J'
θ2
d2
F H
Figure 265: the DEM
 The file dart.txt stores the scene albedo A, the extrapolated scene
albedo and the corresponding relative error per iteration n.
Figure 245 shows these products. It appears that 14 iterations are
needed in order to get the extrapolated albedo with a relative error
less than 10-3.
Figure 266. Scene albedo as a function of
the number of iterations.
183
J
5) BRF and BTF of "Slope + Vegetation plot simulated with facets": WP7E
Note: the layer is simulated as facets because the use of turbid cells is often
inaccurate. Indeed, some turbid cells are below the slope and cells being
either 0% or 100% filled, the layer top has an unrealistic roughness.
turbid
cells
facets
a) Creation of a slope 3D object defined as an horizontal ground surface: WP7Ea
Create dsm.obj with "Maket + option
". Scene "DX=30m, DY=1m. ∆x=∆y=∆z=0.2m".
b) brf/btf(LAI, sun direction, slope) of "slope + vegetation layer simulated with triangles (0.003m2)": WP7Eb
Scene: DX=10m, DY=1m. ∆x=∆z=1m. 0.56µm, 0.9µm, 10µm. θsun=30°, φsun=0°. Solar plane sampled. M=50 subfaces for accurate hot spot simulation. DEM = dsm.obj with ρloam brown intermediate. 10mx1m vegetation plot
simulated with facets (0.003m2). ρleaf='leaf_deciduous', spherical LAD. T∈[290K 310K]. LUT=only product.
_
_
Sequence: LAI: 0, 1, 3; Scene slope: 0, 20°, 50°; Scene azimuth angle: 0°, 45°
0.56µm
10µm
1D view
a)
2D view
3D view
b)
b)
Figure 267. 2D and 1D graphs. a) ρscene,0.56µm(θview, φview) and TB,scene,10µm(θview, φview) extracted from the LUT by the tool
'View/Directional refl./Extract. from LUT'. b) LUT plots: ρslope,0.56µm(θview) and TB,slope,10µm (θview) for {LAI: 0,
1, 3; slope: 0°, 20°, 50°; φsun=φview=angle offsets=0°: solar plane}. Curves are smoother with smaller facets.
6) Inversion of satellite image in terms of surface reflectance: WP7F
Objective: to derive material reflectance ρloc(x,y) from an atmospherically corrected satellite image ρsat (x,y,Ωv).
• Scene (Figure 248.a): 40m x 40m. ∆x=∆y=∆z=0.5m. Imported pyramid {center: (20m, 20m), scale factor 8, ρpyramid
=0.2, ρground = 0.1}. θsun=45°, φsun=90°, SKYL = 0. Illumination grid: 0.02m. Add the satellite direction θv=0°.
• Run DART with option "
: Energy conservation" to create the ortho-rectified satellite
image ρsat (x,y,Ωv) (Figure 248.b). Store it in the folder "WP7F/input/Satellite".
• Run 'Topography' tool (III.7.6; Figure 93): result in 'WP7F/Corrected'. Nmax iterations = 4. Thresholdmean reflectance = 10-5.
_
 The procedure stops at iteration 4. Figure 248.b shows the surface reflectance image ρloc(x,y). Verify that:
ρ�pyramid =0.2, σ
�pyramid =1.2 10-5, ρ�ground =0.1, σ
�ground =3 10-6.
a)
b)
4 iterations
184
1 iteration
c)
4 iterations
Ortho-image
Non ortho-image
4 iterations
d)
Figure 268. a) 3D scene. b) Nadir DART ortho-image ρsat (x,y) and surface reflectance image ρloc(x,y). SKYL=0
(WP7F). c) θv=0°, SKYL=0.3 (WP7F_nadir_SKYL). d) θv=30°, φv=0°, SKYL=0.3 (WP7F_oblique_SKYL).
a)
b)
c)
Figure 269. a) Scene (WP7F_plane): ρpyramid=0.2, ρcone=0.15, ρplane=0.25, ρground=0.1, ρbanana=0.05. SKYL=0.3. b) DART
image. c) Surface reflectance image: ρpyramid=0.1988, ρcone=0.1496, ρplane=0.25, ρground=0.0999, ρbanana=0.05001.
7) Inversion of a satellite image (Bassies mountain area) as ρground(x,y) (cf. VII.5-WP5Bb): WP7G
Scene: ∆X=4.9km, ∆Y=5.4km, ∆x,y,z=50m, DEM (…\CoverMap\Bassies\Bassies_DEM50). λ=0.56µm. Analytic model.
Simulation: add a nadir direction. The image to correct will be created for this direction.
WP7Ga: • Import the CoverMap "Bassies_nosnow50.mp#" (descriptor "Bassies_CoverMap_Descriptor.txt"). Plots
are surfaces (rock (concrete): ρrock=0.10975, vegetation (grass rye): ρveg=0.2626).
• Run DART to create the image (Figure 249.c) to correct: ρsat ∈ [0.019 0.288], ρ�sat = 0.118).
WP7Gb: • Save WP7Ga as. Then, keep the DEM only and set ρground=1 with a multiplicative factor, because the
image result is the "multiplicative factor" image. Plots can be removed by deleting the plots.xml file.
• Run the "Topography correction" tool. The image of surface reflectance has 2 peaks centred on
ρsat,rock≈0.1105 and ρveg≈0.2635 (Figure 249.e), as expected.
b)
a)
d)
c)
e)
Figure 270: Inversion of Bassies satellite image. a) DEM. b) Cover map. c) Satellite image to correct and its
histogram. d) DART image at 1st iteration (ρloc=ρ�sat =0.118). e) Surface reflectance image and its histogram.
185
VII.9 LIDAR: WP8
1) Horizontal ground surface: WP8A
Objective: waveform of a single Lidar pulse for an horizontal ground surface.
Objective: LiDAR Light propagation mode: Forward (Bi-directional)
Transition: TOA ↔ BOA: No atmosphere RT (TOA=BOA)
Number of threads in DART tracking: Nb cores of your computer
"LiDAR"
Number of random signals per interception in atmosphere:1
Forward parameters (only if solar noise is simulated): default values.
LiDAR mode: Single pulse. Energy of each pulse (mJ): 1.
LiDAR parameters
Area of LiDAR sensor: 0.1m2. Diameter of laser beam generated: 0.0 mm.
Laser scanning mode: ALS. Definition of footprint and FOV: Radii.
LiDAR geometry
Waveform storage above / below scene minimum altitude: 3000m / 1m
Footprint and FOV: Central direction (θv=φv=0°) & Center (xo = yo = 20m)
Radii Footprint: 9m. FOV: 10m.
ALS LiDAR platform altitude: 5km
Spectral intervals/Spectral band Central wavelength: 1.062µm, Bandwidth: 0µm
Forward parameters
Maximal number ofiterations: 20. Triangle storage method: Unindexed
Max. scattering order: 60 Target pixel size: 1m Nscene repetition: 1 Periodic save: 
Target sample density / pixel (images): 5 104 Max. rendering time per image: 0
Bi-directional parameters
Russian Roulette:  Cut-off depth: 6
Products
Convolved waveform: . Photons image: . Photons information: 
Direction input parameters
Sun zenith angle: 30°, Sun azimuth angle: 225°
Name: ground. Database: Lambertian_mineral.db. Model: reflect=1_trans=0_0
"Optical & Temperature
Surface /
properties"
"Lambertian" Multiplicative factor (same for all bands):  (0.01, 0, 0, 0) ⇒ ρground = 0.01
"Earth scene"
Cell: ∆x=∆y=∆z=1m (Bi-Dir: not used). Scene: ∆X=∆Y=40m. Ground: ground"
+
R
Table 78. Parameters for WP8A and WP8B. Lidar half reception angle is atan( FOV ).
altitude
The field of view (red) is larger than the footprint (orange).
40m
• Run DART, then display the waveform ("View/ Lidar / Mono pulse") and Lidar images ("View/ Image")
1mJ pulse has Nphot=
Pulse energy: 1mJ
Photon energy: hν=1.87048 10-19
= 5.3462 1015 photons, simulated by Nphot DART =105 DART photons.
File "stat_illumination_MC0.txt" (folder "output/BAND0"): scattering maximum order, number of LiDAR photons
emitted (Nphot), incident on the ground (Nground), absorbed, scattered, measured (Nmeasured), etc.
2π θfp
ρground At ∫0 ∫0 cos4 θ.sin θ.dθ.dφ
ρground At 1- cos5 θfp
Nphot ρground At cos4 θ
Nmeasured =∫∆Ω
.
.
.dΩ=
N
∙
∙
∙
=N
∙
∙ 2∙
phot
phot
2π θfp
π
H2
π
H2
π
H 5.(1- cos θfp )
fp ∆Ωfp
∫0 ∫0 sin θ.dθ.dφ
At: LiDAR aperture area. Beam divergence half angle θfp << 1 ⇒ lim
1- cos5 θfp
θfp →0 5.(1- cos θfp )
=1 ⇒ Nmeasured =Nphot .
A
ρground At
. 2
π
H
 Check: Nground = Nphot = 5.3462 1015 and Nmeasured=68070 (it is divided by 102 if LiDAR altitude H is multiplied by 10).
• "View / Lidar / Mono pulse"
- Total and 1st order non-convolved and convolved waveforms (Figure 271): the horizontal axis shows the
number of photons or the energy, the left vertical axis shows the absolute time or time relative to the ground,
and the right vertical axis shows the absolute distance or distance relative to the ground.
- 3D cloud of apparent and exact scatterer points (
option) and scattering volumes (
option)
(Figure 272). For flat bare ground, the apparent and exact 3D locations of last scattering location are identical
since there is no multiple scattering. In the histograms (i.e., number of measured photons per energy value), the
least energetic photons can be hidden using a sliding cursor (Figure 272.d,e). For flat bare ground, the 2D Gauss
distribution of the emitted pulse explains that the footprint edge scatters relatively little energy to the sensor.
186
• "View / Image". LiDAR images (Figure 273) help to analyze LiDAR results. Their reference is the LiDAR frame
(i.e., label 'Lidar') or the simulated scene (i.e., label 'MaketFrame'). Here, for a LiDAR at nadir, the 'MaketFrame'
and 'Lidar' images are equal. LiDAR (incident) pulse image (Figure 273.a) and LiDAR BOA image (Figure 273.b)
↓
↑
are the number of emitted Nphotons
and received Nphotons
photons in LiDAR frame. The LiDAR reflectance image
(Figure 273.c) is the ratio
↓
↑
πNphotons
at BOA that head to the LiDAR within Min{Δω
LiDAR (x,y), ΔΩLiDAR }
, with LiDAR field of view
Nphotons at (x,y)∈footprint at BOA ∙ cos θLiDAR(x,y) ∙Min{ΔωLiDAR (x,y), ΔΩLiDAR }
∆ΩLiDAR, solid angle ∆ωLiDAR(x,y) under which (x,y) sees the LiDAR aperture, and θLiDAR(x,y) LiDAR direction for (x,y).
 Central (9mx9m) LiDAR reflectance image ρfootprint ∈ [0.00989, 0.01009]. It is not exactly 0.01. Why?
Photon number
2,500 5,000 7,500 10,000 12,500 15,000
st
Figure 271. Lidar 1 and multiple order waveforms from ground. They are equal if there is no atmosphere.
b)
a)
c)
e)
d)
Figure 272. Per scatterer option: a) Exact and b) apparent 3D location of last scattering; c) Histogram of photons in
a,b). Per volume option: exact 3D location of last scattering d) without and e) with user specified energy threshold.
Figure 273.
LiDAR images.
Values change with
simulations, except
if option "Results are
identical if…" is set.
LiDAR (incident) pulse
a)
LiDAR BOA
LiDAR reflectace
c)
b)
2) Horizontal ground surface and atmosphere: WP8B
Objective: waveform of a single Liadar pulse for an horizontal ground surface.
187
• Save WP8A as WP8B. Then, define an atmosphere with mono-band (monospectral) parameters" (Figure 254):
optical depth of scattering gases equal to 4, no absorbing gases and no aerosols. The waveform (Figure 255) is
more or less the sum "Ground signal through the atmosphere" + "Signal from the atmosphere". It depends on the
parameter “Advanced mode / LiDAR → Nrandom = Number of random signals per interception in atmosphere”.
 The atmosphere signal increases with altitude conversely to atmosphere density? Why?
 The waveform is "better" if Nrandom = 20 (Figure 255.a) instead of 1 (Figure 255.a). Why?
Figure 274. Parameters of the atmosphere.
a)
Photon number
b)
Photon number
Figure 275. Lidar waveform.
3) Urban scene: WP8C
Objective: waveform in presence of two horizontal surfaces at two different altitudes.
Altitude: 10km
Stored waveform: 1m (below), 3m (above) ⇒ signal: z ∈[-1m 4m]
"Spectral band"
Central wavelength: 1.55µm, Bandwidth: 0µm
Model: tile_capitoul. Name: "roof".
Database:
"Optical and Temperature properties" / "Lambertian"
Model: concrete_grey. Name: "ground".
Lambertian_mineral
Model: brick_red. Name: "wall".
"Earth scene"
Ground optical property: ground
Wall & Roof optical property: roof and wall
"Earth scene: Urban elements" / "Buildings" / "Building"
House / Type of roof: Basic without thickness
"LiDAR parameters"
"LiDAR geomertry"
Table 79. Parameters for WP8C.
188
(0m, 0m, 2.5m) (0m, 20m, 2.5m) (0m, 40m, 0m)
Horizontal
Ground
roof
Footprint
b)
a)
(40m, 0m, 2.5m) (40m, 20m, 2.5m) (40m, 40m, 0m)
Figure 276: Simulated scene: house and ground. a) 2D view. c) 3D view.
• Run DART and display the waveform
In Figure 257, the 1D waveform (a, b) has 1 peak for the ground and 1 peak for the horizontal roof, with 17ns (i.e.,
2.5 m distance) between the 2 peaks, and the 3D graphs display scattered energy:
- per scatterer: per actual (d) and per perceived (e) location of the last scatterer. Each vertical bar of (f) represents "
Total measured energy * 10-3". The distance between the extreme bars gives the normalized energy range per
scattering event in terms of actual photons. Its height is the associated number of scattering events (i.e., number of
DART photons) in the simulation. The cursor cn be moved to hite least energetic photons in the 3D displays.
- per volume (i.e., scene cell): per actual (g) and per perceived (h) location of cell. The histogram horizontal axis (i)
shows the energy scattered per cell. The vertical axis shows the number of cells that scatter a given energy per cell.
Photon number
a)
b)
c)
0 -2.00e+001 -5.996e+000 0.00e+000
1 -1.90e+001 -5.696e+000 0.00e+000
2 -1.80e+001 -5.396e+000 0.00e+000
3- - - -1780e+001
- - - - - - - - - -5.096e+000
- - - - - - - - - - 2.63e+005
-----------
19994.910
19994.910
19994.910
20000.002
20000.002
20000.002
1
1
1
1
1
1
9.80E-11
9.80E-11
9.80E-11
3.95E-10
3.95E-10
3.95E-10
3
3
3
20
20
20
12
12
12
2
2
2
0
0
0
1
1
1
1.89E+01
1.89E+01
1.90E+01
2.41E+01
2.40E+01
2.40E+01
19 -1.00e+000 -3.00e-001
0.00e+000
20 0.00e+000
0.00e+000
4.70e+005
-21- - -1.00e+000
- - - - - - - - - -3.00e+001
- - - - - - - - - - -2.10e+002
-------26 6.00e+000
1.799e+000
2.28e+002
1.00E+01
1.00E+01
1.00E+01
2.15E+01
2.15E+01
2.14E+01
1.89E+01
1.89E+01
1.90E+01
2.41E+01
2.40E+01
2.40E+01
Number of scattering
events per energy level
Apparent last 3D scattering
Exact 3D last scattering
2.55E+00
2.55E+00
2.55E+00
0.00E+00
0.00E+00
0.00E+00
1.00E+01
1.00E+01
1.00E+01
2.15E+01
2.15E+01
2.14E+01
2.55E+00
2.55E+00
2.55E+00
-1.40E-07
-1.36E-07
-1.37E-07
Scattering event
Perceived scattering event
Data shown in 3D graphs
e)
d)
Exact location of last
scattered energy / cell
g)
f)
Number of cells
per energy level
Apparent location of last
scattered energy / cell
h)
Actual cell location
Perceived cell location
Data shown in 3D graphs
i)
Energy of a scattering event (i.e., number of photons)
Figure 277. a) 1D raw/convolved waveform. b) 1D raw waveform (lidar_dart_wave.txt): bin number, time (ns)
and number of photons. c) Data per measured photon (file phtonInformations.binary) are shown
per scattering event (d,e,f) or cell volume (g,h,i), either per exact (d,g) or apparent (e,h) location of
last scattering; a cursor manages the display of least energetic scatterers in 3D graphs (f, i).
189
• Display LiDAR images with "View/ Images"
For a single pulse, the signal of usual LiDAR systems is a 1D data array (e.g., waveform). DART can display it as
images (Figure 258) in terms of number of photons / pixel in order to help in understanding simulation results.
- 3 images in LiDAR reference (plane perpendicular to view direction). a) LiDAR emitted pulse at BOA level.
c) Photons backscattered along LiDAR direction at BOA level. d) LiDAR reflectance image. It gives the
reflectance of scene elements. This image can be useful for testing the accuracy of LiDAR simulations.
- 1 image in scene reference (PhotonReachedGround_MaketFrame): photons that reached the ground b).
↑
↑
 Ground scatters more photons than the horizontal roof: Nground
≈ 4.787 105, Nroof
≈ 2.637 105. Why?
LiDARPulse
PhotonReachedGround_
MaketFrame
LiDARBOA_MaketFrame
LiDARBOA_Reflectance
0.21
0.38
0.21
a)
b)
c)
0.38
d)
Figure 278: LiDAR images.
4) Topography: WP8D
Objective: variation of the LiDAR waveform with the slope of a 40m x 40m bare ground plane surface.
• Create 6 slopes (0°, 5°, 10°, 30°, 45°, 60°): use "DEMGenerator" (Table 84.b) and parameters in (Table 84.b).
a)
Output DEM
filename
DEM0.mp#
DEM5.mp#
DEM10.mp#
DEM30.mp#
DEM45.mp#
DEM60.mp#
Height of Zenith angle Distance of valley
1st plateau of 1st slope from origin
0m
0°
40m
3.5m
5°
40m
7.05m
10°
40m
23.09m
30°
40m
40m
45°
40m
69.28m
60°
40m
b)
Table 80. a) Parameters for creating 6 DEMs. b) Menu with parameters for the 60° slope.
• Run the 6 simulations with the 6 DEMs and display the resulting waveforms (Figure 259).
 Verify that the peaks of the waveforms correspond to the DEM mean altitudes.
 Why waveforms with slopes < 45° have discontinuous shapes?
Figure 279: Lidar waveform of a slope with 6 angles: 0°, 5°, 10°, 30°, 45° and 60°.
190
5) Homogeneous turbid vegetation scene: WP8E
Objective: LiDAR waveform of a 5m thick turbid vegetation layer (LAI = 5) over an horizontal ground (Figure 260).
"LiDAR geometry"
"Spectral band"
"Optical & Temperature "Lambertian"
properties"
"Vegetation"
"Earth scene"
"LiDAR parameter"
"Earth scene: Plots" / "Plot"
Altitude: 800km, Rfootprint: 10m, RFOV: 14m Sensor area: 1m2
Central wavelength: 1.55µm, Bandwidth: 0µm
Database: "Lambertian_vegetation", Model: Grass rye Name: ground
Database: "Lambertian_vegetation", Model: Grass rye Name: grass rye
Ground optical property name: ground
Bottom height: 1m, Height: 5m, LAI: 5
Vegetation optical property name: grass_rye
Table 81: DART parameters for WP8E.
Figure 280: Vegetation plot over a horizontal bare ground.
 The waveform (Figure 261) has 2 peaks. Why?
 Apparent scatterer location: - there are scatterers 'below' the ground, but no above the plot. Why?
- the waveform is nearly 100% 1st order at its upper part. Why?
Exact scattering location
Apparent scattering location
Photon number
Figure 281. a) 1st order and total waveforms, convolved and not convolved. b) 3D display of last scattering location.
 Schematic inversion of 1st order lidar signal in terms of LAI and rground
Let a vegetation plot with LAI = LAI plot and ground reflectance ρground. The file stat_illumination_MC0.txt (Photons_Order1.xls)
gives the number Nphot,scene,in of incident photons in the footprint, and the numbers Nphot,ground,mes,1 and Nphot,plot,mes,1 of ground
and plot 1st order photons measured by the LiDAR, respectively. Here, there is no atmosphere. The Lidar is at nadir (θ=0°), at
A
an altitude H=800km with an area A=1m2. It is viewed from the ground with the solid angle ∆Ωlidar = 2 ∙ cos 3 θlidar .
ρground
total leaf area along direction Ωs
Ground: Nphot,ground,mes,1 =Nphot,scene,in ∙e-G(Ωs)∙LAIplot ∙
∙∆Ωlidar with G(Ωs )=
. For
total leaf area
π
T(Ωs ,Ωv )
-G(Ωs )∙LAIplot T(Ωs ,Ωv )
-2
Plot: Nphot,plot,mes,1 =Nphot,scene,in ∙(1-e
)∙
∙∆Ωlidar . Here:
≈ 5.14*10 .
∆Ω
∆Ω
dart
H
A
a spherical LAD: G(Ωs)=0.5.
dart
with T(Ωs,Ωv) = leaf transfer function (lib_phase/0.grass_rye_ScatteringFunction) for incident direction Ωs = Ωlidar to discrete
direction (Ωv, ΔΩdart) that comprises the LiDAR direction (Ωlidar ,∆Ωlidar ) ". Here: θlidar =θv =0.
⇒ LAIplot =-
1
G(Ωs )
∙ ln (1-
Nphot,plot,mes,1 ∙∆Ωdart
Nphot,scene,in ∙T(Ωs ,Ωv )∙∆Ωlidar
) and ρground =
π
∆Ωlidar
∙
Nphot,ground,mes,1
Nphot,scene,in
∙
1
-G(Ωs )∙LAIplot
e
Here: - stat_illumination_MC0.txt: Nphot,scene,in = 7.8 1015, Nphot,ground,mes,1 = 77.42 (theory: 77.3), Nphot,plot,mes,1 = 571.47 (theory: 574.09)
- rground=0.243, T(Ωs ,Ωv )=0.00648, ΔΩdart =0.1263, ΔΩlidar =1.56 10-12.
This schematic inversion gives: LAIplot = 4.896 and rground = 0.243. Here, its use with 1st and multiple order photons (i.e., actual
LiDAR) does not work. It is less accurate, because actual LiDARs contain multiple order. Here, there is no solution with all
scattering order photons. A possible solution is to consider the shape of the waveform with 𝛚𝛚𝐥𝐥𝐥𝐥𝐥𝐥𝐥𝐥 being an unknown.
191
6) 3D vegetation: WP8F
Objective: waveform of "3D cherry tree + plane ground" is simulated with the tree crown simulated as a set of facets
(Figure 262.a), then as a set of turbid cells derived from the crown simulated with facets (Figure 262.d).
"LiDAR geometry" Altitude: 10km, Rfootprint: 15m, RFOV: 17m Zenith: 30° Azimuth: 225° Sensor area: 1m2
"Spectral band"
Central wavelength: 1.064µm, Bandwidth: 0µm
Database: "Lambertian_ mineral ", Model: clay_brown Name: ground
"Optical & Temperature properties"
Database: "Lambertian_vegetation", Model: bark_spruce_stem Name: bark
/ "Lambertian"
Database: "Lambertian_vegetation", Model: grass_rye Name: grass_rye
"Earth scene"
Cell dimensions: x=0.5m, y=0.5m. Ground optical property name: ground
Source: .\Tree\Accurate Trees\Merisier_Adulte.obj (http://amap.cirad.fr/en)
"Earth scene: 3D imported object" / Scale factor: x=20, y=20, z=20
"Ponctual objects"
Leaves optical property (double face): grass_rye
TrunkAndBranches optical property: bark
"LiDAR
parameter"
Table 82: DART parameters for WP8F. The leaves and trunk of the tree are triangles.
For the facet- and turbid-trees, Figure 262 shows the cloud of last scattering points (b,e), and the corresponding
3D (c,f) / 1D (g,h) waveforms and 2 Lidar FOV images: "ground incident photons" in scene reference (i.e.,
ellipse) and "BOA LiDAR signal" in Lidar reference (i.e., disk). The closeness of facet- and turbid-derived results
illustrates the interest of the transformation 'facet → turbid'. Its use is advided or not depending on.
a)
c)
b)
f)
e)
d)
LidarBOA
g)
a)
b)
c)
d)
Turbid-tree
Facet-tree
PhotonReachedGround_MaketFrame
h)
Figure 282. For the fact- and turbid- tree: 3D exact (b,e) and apparent (c,f) positions of last scatterers, 1st/total
scattering order waveform (g,h), and LiDAR images.
192
7) 3D triangle tree + Atmosphere: WP8G
Objective: waveform with atmosphere (Aerosol: Rural V=5km; Gas: Mid-Latitude summer) above and in the
Earth scene (Figure 263).
Atmosphere signal
a)
b)
c)
d)
Photon number
Figure 283: a) Earth scene. Top view (b) and front view (c) of apparent location of last scattering events. d) Waveform.
8) Multi-pulse ALS acquisition: WP8H
Objective: Lidar scanner acquisition for the scene {bare ground, 3D triangle tree, no atmosphere}.
Figure 264 shows the ALS scan grid and the input parameters in order to simulate it:
- Swath begin and end positions (x, y) on the ground.
- Azimuth angle (squint angle): if sensor scan direction is not perpendicular to the flight direction.
- Control Point (CP): position (x, y) on the ground and look angle at CP.
- Grid: azimuth separation (meter) and range separation (rad or meter) of the acquisition grid.
- "Multithread" option. Indeed, pulse information is specific per pulse.
Figure 265 shows the 3D multi-pulse "convolved waveform" (b) and its individual components (a).
Single pulse
Photon counting
Discrete return
TLS
Half angles
Absolute distance from LiDAR
Lidar scanning acquisition
Each node of the mesh indicates a lidar footprint.
Figure 284. Menu for creating an ALS scanner acquisition.
193
a)
Figure 285.
"Lidar Multi-pulse" graph. a) Selection
menu. Node (17, 16) is selected. b)
Waveform of node (17,16). c) 3D convolved
waveform for each Lidar pulse. Blue color is
for lower energy levels.
c)
b)
9) Multi-pulse TLS acquisition: WP8I
Objective: TLS simulation of same scene as WP8H.
 The volume to store (file LIDAR_IMAGE_FILE.binary) depends on TLS range and angular resolutions. It can be huge
a)
b)
Figure 286. TLS simulation. Direction (θ=110°,φ=180°) is from target to TLS. a) Menus. b) TLS 3D view.
10) Single-pulse Lidar waveform with solar noise: WP8J
Objective: LiDAR signal with solar noise for a scene with 10 cherry trees and 1 classic building (Figure 267).
Solar noise: LiDAR with solar noise Photon number: 105
"LiDAR
"Spectral band"
Central wavelength: 1.064µm, Bandwidth: 0.001µm
parameter"
"LiDAR geometry" Altitude: 10km, Rfootprint: 12m, RFOV: 15m, Sensor area: 0.1m2.
Sun zenith angle: 30°, Sun azimuth angle: 225°
"Direction input parameters"
Database: "Lambertian_mineral ", Model: soil_vegetation Name: ground
"Optical
&
Temperature Database: "Lambertian_ mineral", Model: roof_tile_cement_red_new Name: roof
properties" / "Lambertian"
Database: "Lambertian_vegetation", Model: bark_spruce Name: bark
Database: "Lambertian_vegetation", Model: grass_rye Name: leaf
Cell dimensions: dx=0.5m, dy=0.5m Earth scene: X=30m Y=30m
"Earth scene"
Optical property: ground
Type of roof: classic
"Earth scene: urban elements"/
Wall 3D points: (16, 16, 4) (16, 28, 4) (28, 28, 4) (28, 16, 4), Optical property: roof
“building”
Roof classic 3D points: (16, 22, 7) (28, 22, 7), Optical property: roof
Field description file: CherryTree.txt
"Earth scene: 3D imported
Source file: \Tree\Accurate Trees\CherryTree\Merisier_Adulte.obj Scale factor: 1, 1, 1
object" / "objects fields"
Leaves property (double face): leaf TrunkAndBranches property: bark
Table 83. DART parameters for WP8J.
Solar noise is computed by simulating the radiance of the LiDAR ground FOV due to the reflectance of sun radiation.
It adds a constant number of photons to the LiDAR signal. Here, it is very small. It would be higher with a smaller
sun zenith angle. Also, its relative importance would be larger with a smaller Lidar pulse energy.
 DART-FT simulation of solar time is slow compared to LiDAR simulation. It is greatly faster with DART-Lux.
194
LidarBOA (no solar noise)
a)
b)
e)
ima_camera_lidar_SN_0_0_VZ=000_0_VA=000
b) _0
LiDAR/LidarBOA_MaketFrame.mp#
LidarBOA (with solar
e)
ima_camera_lidar_SN_0_0_VZ=000_0_VA=000_0
noise)
LiDAR/LidarBOA_MaketFrame.mp#
c)
d)
f)
d)
f)
Figure 287. a) 3D scene; b) LiDAR waveform with solar signal; c) Solar noise reflectance of total scene; d) LiDAR
footprint in (c). e) Lidar (photons) BOA image without sun. f) Lidar (photons) BOA image with sun.
11) Lidar discrete return (point cloud): WP8K
Objective: ALS point cloud simulation of same scene as WP8J.
DART-RC and DART-Lux LiDAR simulate waveforms and transform them into point cloud that they store to file
DetectedPoints.txt. Two transformation methods are available: i) DART external process (script DART2LAS.py
based on laspy library); ii) DART internal processing.
 Why are there very few points returned from the ground under the trees?
 Why are there holes in the top view of point cloud? What factor affects the area of holes?
 Why are the apparent reflectance of two roofs different? What factor affects the apparent reflectance?
b)
b)
a)
a)
195
Figure 288. ALS 3D point cloud. a) Menus. b) CloudCompare display: color by intensity value (apparent reflectance).
12) Lidar photon counting with atmosphere and solar noise: WP8L
Objective: ALS photon counting simulation of MABEL instrument. Same scene as WP8J, with sun and atmosphere.
Photon count (i.e., file DetectedPoints.txt) is internally simulated by DART or computed by applying the DART
python script "photoncounting.py" to the DART simulated waveform binary file. Solar noise is computed with the
"Pushbroom" option or "Camera" option (a solar noise image is computed per LiDAR node ⇒ very time consuming).
 Solar noise is present in the entire vertical space. Why?
 Which factors do influence the density of solar photons?
a)
b)
b)
a)
Figure 289. ALS photon counting. a) Menus. b) 3D photon points in vertical ranges [-1000m 3000m] and [-5m 20m].
13) High-efficiency Lidar simulation: WP8M
Objective: relative efficiency of DART-Lux LiDAR and DART-RC to simulate single-pulse waveforms (Figure 270).
First, the consistency of DART-Lux LiDAR and DART-RC is verified using a large number of photons: for Nphot
=108, their waveforms are nearly equal (R2=1, rRMSE=0.01; Figure 270.b). Using them as a reference, DART-Lux
LiDAR and DART-RC are run with increasing Nphot: their resulting waveforms gradually converge to the reference
(Figure 270.c,). However, for a same Nphot, the DART-Lux waveform is closer to the reference (Figure 270.d). For
example, for Nphot=103: R2=0.991 and rRMSE=0.17 for DART-RC, whereas R2=0.995 and rRMSE=0.1 for DART-Lux.
 Why does the waveform gradually converges if the photon number increases?
 Why is DART-Lux LiDAR mode more accurate than DART-RC with the same photon number?
196
DART Ray Carlo (Nphot
DART Lux (Nphot=108)
=108)
5
0
20000
40000
60000
10
5
0
0
0
DART Ray Carlo (Nphot=103)
DART-Lux (Nphot=105)
DART-Lux (Nphot=104)
DART-Lux (Nphot=103)
Elevation [m]
Elevation [m]
5
Reference (Nphot=108)
DART Lux (Nphot=103)
Reference (Nphot=108)
DART-Lux (Nphot=106)
10
10
Elevation [m]
15
15
15
0
20000
40000
60000
0
20000
40000
60000
Photon number
Photon number
Photon number
Figure 290. a) Scene and LiDAR footprint and FOV. b) DART-Lux and DART-RC waveforms (Nphot=108). b) DARTLux waveforms with various Nphot. c) DART-Lux and DART-RC (Nphot=103) with reference waveform.
Lidar photon counting with atmosphere and solar noise
Photon counting can be simulated by applying a python script to DART simulated waveforms. Photon counting
devices tend to have much smaller bin lengths (e.g., 0.1 ns) and higher pulse repetition frequencies that waveform
LiDARs (bin length: 1-10ns; 20 points / m2). The provided python script has solar noise option. It processes
waveforms to assess the probability to measure photons. Then, random pulling is used to state if a photon is detected
in a given bin. If it is detected, its 3D position is stored. Then, 3D plotting gives the photon counting LiDAR beam.
For a sensor with quantum efficiency = 0.015, detector dead time = 2.5ns and dark count rate = 100 kHz:
python photoncounting.py LIDAR_IMAGE_FILE.binary photons.txt 0.015 2.5 100
a)
d)
b)
c)
e)
Figure 291. Lidar multi-pulse acquisition for the St Sernin district of Toulouse (France).
a) Toulouse geometric database. b) DART-FT reflectance image. c) Multi-pulse Lidar image (800 x 520m). 560nm. 10µJ. Footprint
diameter: 50cm. Sensor area: 0.15m2. Sensor height: 1km. Acquisition rate: 1ns. Resolution: 0.25x0.25m (16 points / m2). Platform
azimuth: 0°. Look angle at swath center: 0°. 6.656 106 Lidar pulses (103 photons/pulse). Lidar images process with SPDlib software.
197
VII.10 Airborne and in-situ sensors (UNDER DEVELOPMENT): WP9
Objective: to simulate sensors (camera, push-broom) with a non null field of view (FOV). For DART-FT, pushbrooms
and frame cameras are above the Earth scene, and pinhole and spherical cameras are in the Earth scene.
DART-Lux "pinhole camera" simulates cameras outside and inside the Earth scene.
1) Pinhole and spherical camera with horizontal bare ground: WP9A
Objective: to introduce DART-FT cameras (Figure 20) for the case of a simple horizontal bare ground.
Scene: 40x40m. ∆x=∆z=0.5m. ρground=0.5. θs=30°, φs=225°. Mode "Infinite slope". Small transparent (tdir=1) facet
(isocele triangle: 0.02m x 0.01m) at zfacet=30m (this altitude allows one to use a DART-FT within scene camera).
Cameras: - frame camera (above scene): x=y=20m, z=40m, vertical downward looking:
θ=0°
- spherical (radius: 0.1m, θFOV,max : 90 ⇒ view of hemisphere) and pinhole (sensor: 0.54x0.54m, focal: 0.1m)
cameras: zcam=15m < zfacet, 1000 x 1000 pixels, Rep=0 & 10 scene repetitions (θmax =53° & 88°), upward
(θcam=0°⇒ image Camera_xx_VZ=180_VA=0) and downward (θcam=180°) vertical looking. Camera image
πxL
(i,j)
.
coordinates (i,j) and viewing angles (θv,φv) are linked by equations (Figure 20). ρcamera (i,j) = BOA camera
irradiance
DART-FT sun / atmosphere illumination of pixel j of an upward looking camera is simulated with rays from mesh
elements i the BOA plane (without "penumbra" option: sun surface radiance is spatially constant and isotropic):
π.R2
π.R2
- Sun solid angle subtended: ΔΩsun = 2 sun from the camera and ΔΩsun,i ≈ 2 sun ≈ 6.8 10-5sr from BOA. l = distance.
lsun-camera
lsun-BOA
E
I
- BOA direct sun energy that is measured: ∑i=1 χij .Lsun,BOA,i (Ωi ).ΔΩsun,i .ΔPi .cosθi with Lsun,BOA,i (Ωi ) = sun,BOA .
cosθi .ΔΩsun,i
with ΔPi = D2 = area of DART-FT BOA illumination mesh element i that the camera pixel j sees within ΔΩsun .
2
I.D2 = sun projection on BOA = ΔΩsun .lBOA-camera .
χij = direct transmittance "ΔPi - camera pixel j" along (Ωsun,i , ΔΩsun,i ).
- Atmosphere radiance Latm,BOA,i (Ωi ) is the result of the interpolation on atmosphere radiance in DART discrete
directions neighbor of Ωi . For an isotropic atmosphere: Latm,BOA,i =
Eatm,BOA
π
Camera radiance images and dart.txt values are consistent. Figure 272 shows images of upward / downward looking
pinhole and spherical cameras. Here, the option "Penumbra" is not set. Therefore, the upward looking camera only
measures atmosphere radiation. Although this camera does not see the sun, the propagation of sun radiation is
simulated: the downward looking camera sees the correct upward radiation whatever the option "Penumbra".
DART-FT E ↑ (downward camera: VZ=0°)
Spherical
camera
Pinhole
camera
Lground=214.3
Lground=214.3
Rep=0
Lground=214.3
Lground=214.3
Rep=10
DART-FT E ↓ (upward camera: VZ=180°)
Latm=125.94
Latm=125.94
Latm=125.94
Latm=125.94
Rep=0
Rep=10
Figure 292. Spherical (top) and pinhole (bottom) camera images (1000 x 1000). Downward (left) / upward
(right) looking directions. Option "Penumbra" is not set. Scene repetition is Rep = 0 and 10.
* dart.txt: - EBOA =1346.52 W/m2/µm (⇒ L�↓ =428.61 W/m2/sr/µm),
- Esun,BOA =950.87 W/m2/µm (⇒ Lsun,BOA ≈ 1.615 107 W/m2/sr/µm)
- Eatm,BOA =395.64 W/m2/µm ⇒ Latm=125.94 W/m2/sr/µm
- Mground =673.24 W/m2/µm (ρground=0.5) ⇒ Lground=214.3 W/m2/sr/µm
↓
*: Simulation
- No penumbra: Espherical
(Rep=0 / 10) = 394 / 395.64 W/m2/µm ≈ Eatm,BOA ⇒ L�↓spherical = Latm
Properties.txt
198
↓
- Penumbra: Espherical
(Rep=0 / 10) = 1671.7 / 1500.1 W/m2/µm (in simulation.properties.txt > EBOA
↑
- Penumbra or not: Espherical
(Rep=0 / 10) = 671.25 / 673.26 W/m2/µm ≈ Mground ⇒ L�↑spherical ≈ Lground
* Upward camera images: - L↓spherical,atm = L↓pinhole,atm (Rep=0 / 10) = 125.94 / 125.94 W/m2/sr/µm
- No penumbra: L↓spherical,sun = L↓pinhole,sun (Rep=0 / 10) = 0 W/m2/sr/µm
- With penumbra: Max [L↓spherical,sun ] + Latm (Rep=0 / 10) = 3.86 107 / 3.86 107 W/m2/sr/µm
- With penumbra: Max [L↓pinhole,sun ] + Latm (Rep=0 / 10) = 3.82 107 / 3.82 107 W/m2/sr/µm
* Downward camera images: L↑spherical = L↑pinhole (Rep=0 / 10) = 214.3 / 214.3 W/m2/sr/µm ⇒ Mground =673.24 W/m2/µm
2) Pinhole and spherical camera with a 3D scene element: WP9B (copy of WP9A)
Objective: to introduce the DART cameras with a simple 3D scene element over horizontal bare ground.
Scene: 40mx40m. ∆x=∆z=0.5m. House: h=30m, ρground=ρwall=0.5, ρroof=1. θs=30°, φs=225°. Mode "Infinite slope".
.
Figure 273 shows the nadir satellite image, the image of a downlooking camera at 40m altitude, and the images of the
cameras defined in WP9A. It illustrates that ρcamera (Ωv )=ρsatellite (Ωv ); for example, "Central pixel of the downward
π.L
(0°)
=SKYL.
spherical camera image" = "Mean satellite nadir image". In the upward image: ρ�center = nadir
E
Satellitep
a)
b)
DART-FT: spherical downward camera (VZ=0°)
ρ�ρ�center
=0.1462
center=0.1452
c)
Rep=0
Rep=10
DART-FT: pinhole downward camera
ρ�center =0.141
c)
ρ�center =0.1462
Rep=0
ρ�center =0.142
Rep=10
BOA
Pinhole camera
over the scene
ρ�center =0.1452
�=0.4872
𝝆𝝆
DART-FT: spherical upward camera (VZ=180°)
ρ�center =0.2938
ρ�center =0.2938
Rep=0
Rep=10
DART-FT: pinhole upward camera
ρ�center =0.2938
Rep=0 and 10
d)
ρ�center =0.144
Figure 293. DART spherical camera. a) House (h=30m) in a 40mx40m scene. ρground=ρwall=0.5, ρroof=1.
b) DART-FT reflectance nadir satellite image and downward nadir frame camera (h=40m).
c) DART-FT downward/upward pinhole and spherical cameras (h=15m). Rep=0 and 10 scene repetitions. CT=220s.
d) DART-Lux downwar looking pinhole camera image (same as in c). Rep=10. CT=20s.
199
Pin hole camera image of a flat surface with a house. The camera is at 4 different altitudes (vey low to
high). The camera is located at different altitudes on the red vertical axis.
Φs = 0°
Φs = 90°
Φs = 180°
Φs = 270°
Top: camera image (θs = 50°, zs = 140m). Bottom: orthographic projection image (θs = 50°, zs = ∝)
8) Specular reflectance and polarization: WP3H-Lux (CT=56")
Objective: multi-spectral specular polarized reflectance images of a 3D scene (2 houses, 2 palm trees; Figure 1)
Scene: - 60x80m. ∆r=0.25m. θs=30°, φs=225°. SKYL=0 to highlight polarization. 4 bands: 0.4 /0.55 /0.68 /1µm, mode R.
- Flooded ground. Specular (ni: air, nt: water, roughness: 0.05, ∆τ: 0) + lambertian base (loam sandy brown fine).
- Houses (DART created). Walls: concrete_brown (x 0.7). Roof: tile_capitoul.
- Trees (palm_tree.obj). {(10m, 20m), x3}. {(20m, 27m), x2. Leaves: specular (ni: air, nt: plastic, roughness:
0.1, ∆τ: 0.02) + Lambertian base (grass_rye). Coconuts and trunk: Lambertian (bark_eucalyptus).
_
_
_
- Mirror (square.obj). {(30, 34.95) x (27, 29, 1)}. Specular interface (ni: air, nt: silver, roughness: 0, ∆τ: 0).
200
- Nsampling / pixel: 10. Nsampling / direction = 102 for final BOA BRF map (5 for simulating "Earth-Atmosphere coupling").
DART-FT: to simulate specular radiation, set
in advanced mode.
BOA
Nadir
3km
Nadir
TOA
Nadir
Specular
(30°, 45°)
Hot Spot
(30°, 225°)
Oblique
(30°, 315°)
Specular
(30°, 45°)
Hot Spot
(30°, 225°)
Oblique
(30°, 315°)
Polarization: Q component
of Stokes vector (30°, 45°)
Polarization: Q component
of Stokes vector Nadir
0.4µm
Oblique BOA
- Perspective projection -
Oblique BOA
- Parallel projection -
Nadir
- Parallel projection -
Note: the ground has the same specular configuration in each satellite image (parallel projection: ∆Ωv=0) conversely
to camera images (perspective projection: ∆Ωv≠0) where only part of them is in the specular configuration.
Figure 294. BOA/TOA reflectance and polarized images. θs=30°, φs=225°.
Row 1) BOA, Sensor and TOA nadir satellite images (i.e., parallel projection).
Row 2) BOA oblique (specular, hot spot, (30°, 315°)) satellite images.
Row 3) BOA oblique (specular, hot spot, (30°, 315°)) images with perspective projection.
Row 4) BOA polarized radiation in the specular direction and at nadir, plus the 2D BRF plot of reflectance at 0.4µm.
201
VII.11 RAMI EXPERIMENT: RUN OF DART USING PYTHON SCRIPTS: WP10
Objective: to run DART simulations with Python scripts and to compare results with those of RAMI 3 experiment
(http://rami-benchmark.jrc.ec.europa.eu/HTML/Home.php).
Comparison of radiative transfer models applied to RAMI-3 scenes: angular reflectance products (ground, vegetation
1st and multiple scattering), for 3 spectral bands (NR1, red: 650nm, NIR: 860nm), a few sun zenith angles (usually: 0°,
30°, 60°), 4 LAI (1, 2, 3, 5) and 3 LADs (erectophile: ERE, planophile: PLA, uniform: UNI). Scenes are turbid (i.e.,
"ground + vegetation plot") and discrete (i.e., tree = set of turbid cells or 3D distribution of disks: Figure 274). We have
{ρg,nr1 = 1, ρl,nr1 = τl,red = 0.5}, {ρg,red = 0.127, ρl,red = 0.0546, τl,red = 0.0149}, {ρg,nir = 0.159, ρl,nir = 0.4957, τl,nir = 0.4409}.
Figure 295. RAMI 3D scenes: turbid (top) and discrete (bottom). DART provided scripts simulate
/ manage all RAMI scenes except the conifer forest and the real zoom-in scene.
1) Copy Python scripts (CreateRamiSimulations, LaunchRamiSimulations, ExtractDataROMC, SavePlotsRomc) from folder
'\bin\python_script\ScriptsRami' to the level of provided DART simulation 'RAMI\core', and modify their settings: 'set
DART_LOCAL=*', 'set DART_HOME=*', 'set RamiSimulationFolder=*' to specify correct paths. Names of all RAMI
cases that DART scripts manage are in 'ListRamiSimulations.py'.
2) Run "CreateRamiSimulations.bat": it creates 3.N simulations that are copies of the root simulation, with N
resulting from the variable input parameters that you specify (Table 80). Each simulation among the N
simulations corresponds to a specific combination of these variable input parameters.
Note: for Linux, the file extension of the scripts is *.sh instead of *.bat for windows.
3) Run "LaunchRamiSimulations.bat": it launches the N simulations.
4) Run "ExtractDataROMC.bat": it extracts the reflectance products of the N simulations, stores them in the folder
"RomcResults" with ROMC (RAMI) format. Python script "SavePlotsRomc.bat" can create graphs (pdf format).
5) Zip files in folder "RomcResults", upload the zip file on http://romc.jrc.ec.europa.eu/Home.php and follow steps
given in \bin\python_script\ScriptsRAMI\Doc\RAMI_Submit_Results_ROMC.pdf.
Variable parameter and parameter name
LAI: turbid: 0LAI, discrete: 1LAI requestedNumber
LAD: ERE, PLA or UNI
requestedTurbid
Mode: turbid (TUR), discrete (DIS) requestedLad
Sun zenith angle: 0 20 30 50 60 requestedSza
Variable parameter and parameter name
Spectral band: NR1, NIR, RED requestedSpectralBand
Number of cells on z axis
requestedNumberOfCellsOnZAxis
Number of cells on x,y axes requestedNumberOfCellsOnXYAxis
Number of DART iterations numberOfIterations
Table 84. Parameters. Valid combinations are in http://romc.jrc.ec.europa.eu/WWW/PAGES/ROMC_Model/ROMC_Model_View.php
Figure 296. Example of
automatic comparison of DART
results with RAMI 3 "mean
reflectance" values.
202
VII.12 MAPPING GLOBAL SUN RADIOMETRIC QUANTITIES (OUT OF DATE): WP11
Objectives: to map TOA / BOA / Sensor radiometric quantities for any date and world region, and to compute their time
variation (hourly, daily,..) for any world coordinates. These quantities correspond to sensor
measurements (i.e., radiance, reflectance, brightness temperature) or terms of the Earth-Atmosphere
radiation budget (e.g., irradiance, exitance, albedo).
1) Africa radiance maps measured by a geostationary satellite
The mapping method has 2 steps:
Step 1. Create a root simulation (e.g., 1m x 1m bare ground scene, 1m resolution). Sensor view direction is defined
by satellite location which allows its automatic up-date with new scene location.
Step 2. Run the python script "worldGlobalMap.py" (Figure 276) to run scripts that create / run sequences of
simulations and store results in text files and png images. Run run.bat command with Windows operating
system. Python scripts are in folder "DART\bin\python_script\RadiometricMaps":
- DARTDao.py: it reads DART input and output parameters in the simulation.properties.txt file.
- worldGlobalMapSequenceLauncher.py: runs the sequence, sets parameters, radiance data,…
- worldGlobalMapImageGenerator.py: it creates PNG images with the world Python basemap.
- worldGlobalMapUtility.py: utilities for all Python scripts
- os, sys, string, math, array, time
- numpy
- mpl_toolkits.basemap
- pylab
- scipy
- matplotlib
Figure 297. Python command line and Python libraries and extensions that are used.
Parameters of worldGlobalMap.py (Figure 277):
- Name of the root simulation: baseSimulationName = 'simulation_name'
- Coordinates of the region to map: minimal / maximal latitude and longitude 2.
- Number of steps in latitude and longitude. Computation time increases with the number of steps.
- List of dates (year, month, day): dateList = [RGMDate(year = 2012, month = 3, day = 21),…]
- List of time (hour, minute, second) in UTC: timeList = [Time(hour=5,minute=44,second=37),…]
- Flag (True or False) to create / run sequences of simulations, and flag to create images
- Number of simulations to run in parallel
- Results to map (BOA.irradiance,… ; cf. Table 89). Their names are in the simulation.properties file.
Products
BOA irradiance (no atmosphere coupling)
BOA irradiance (with atmosphere coupling)
BOA exitance (with atmosphere coupling)
BOA albedo or temperature (with atmosphere coupling)
Sensor irradiance
Sensor albedo or temperature
Sensor exitance
TOA albedo or temperature
TOA irradiance
TOA exitance
Names in "simulation.properties.txt" file, for band 0
dart.band0.BOA.irradiance
dart.band0.COUPL.irradiance
dart.band0.COUPL.exitance: ........
dart.band0.COUPL.albedoOuTemperature
dart.band0.Sensor.irradiance
dart.band0.Sensor.albedoOuTemperature
dart.band0.Sensor.exitance
dart.band0.TOA.albedoOuTemperature
dart.band0.TOA.irradiance
dart.band0.TOA.exitance
Table 85. Some DART products that can be mapped. Their names are in the simulation.properties file)
2
France: [42N 52N], [-5E 9E]. USA: [24N 49N], [-125E -65E]. Africa: [-35S 38N], [-18E 52E]. Europe: [35N 72N], [-25E 50E]
203
Figure 298. Part of script worldGlobalMap.py that sets the region coordinates (here, Africa), dates, products,...
a) Creation of a root simulation (Table 90).
"Flux-tracking"
"Flux tracking"/…/"Spectral band"
"Flux tracking"/…/"Products"
Radiative transfer method: Flux-tracking
Passage from TOA to BOA: Radiative transfer simulation
Mode T+R, λmoy = 0.45µm, 0.65µm, 0.9µm, ∆λ=0µm
Radiance Products
Maximal zenith angle of images: 30°
OrthoImages (+ Irradiance,…) + Energy conservation
Exact date: June 21, 2012
"Direction input Sun angles or date
parameters" / "Add" / "Single direction" Lat = 0°, Long = 17°, Altitude=35800km (Figure 279)
"Optical and Temperature properties"
/ "Lambertian …."
"Earth scene"
"Earth scene: Atmosphere"
Database: Lambertian_mineral.db
Table: loam_gravelly_brown. Name: "ground".
Cell: ∆x = ∆y = 1m, ∆z = 1m ; Scene: ∆X = 1m, ∆Y = 1m
Phase function's name: ground
Aerosol model: RURALV23, Gas model: USTD76
Atmosphere BRF/BTF/Radiance TOA
Atmosphere geometry: Manual (dZMA = 0.5km, MA=4km, dZHA = 8km)
Table 86. Parameters to modify in the root simulation.
The satellite view direction is added as a single (fictive) direction. It is derived from the user specified
scene and satellite coordinates (altitude, longitude, latitude).
Folder "'simulation_name\results\coordinate_values\date_value\time_value" in the root simulation stores the
products. Its name indicates the region coordinates, date and time. It stores (Figure 278) all spectral bands
bounds (bands.txt file), the coordinates all DART simulations (latlon.txt file) and 1 folder per product (text file +
png image: interpolated map) per spectral band:
- 3 satellite (default) products: TOA, BOA and atmosphere radiance for the satellite view direction.
- user selected radiometric products: BOA / TOA / Sensor irradiance, Coupl_exitance, radiance,…
Notes: - NOAA module (www.esrl.noaa.gov/gmd/grad/solcalc/) computes sun direction for any date and location.
- Module (www.solar-noon.com/) gives UTC time of solar noon anywhere. At (Lat 0°, Lon 0°) it is ±15'.
204
Figure 299. Folders that store the 6 user required results.
Figure 300. The satellite viewing direction is added by setting its location (Latitude, Longitude, Altitude).
b) Create radiometric maps of Africa
i) Modify the script worldGlobalMap.py to set: region (Africa: [-35S 38N], [-18E 52E]), date (e.g., June 21, 2012),
time (e.g., 12h UTC), products (e.g., TOA irradiance, BOA irradiance, atmosphere radiance) in addition to
TOA / Sensor / BOA upward radiance (satellite view direction).
 First, use 4 steps in latitude and longitude for testing the method with short computation times.
ii) Run the command: python worldGlobalMap.py, and tyhen, display results.
a)
a)
b)
b)
c)
c)
205
a)
b)
c)
Figure 301. BOA (top), atmosphere (middle) and TOA (bottom) radiance (W/m2/µm), for a geostationary
satellite. a) 0.45µm. b) 0.65µm. c) 0.9µm.
Application of the mapping method to Europe (35N-72N, -25E-50E) is shown on Figure 281.
a)
b)
a)
c)
b)
c)
Figure 302. Atmosphere (top) and satellite TOA (bottom) radiance (W/m2/µm). a) 0.45µm. b) 0.65µm. c) 0.9µm.
2) Time evolution of TOA radiance for some African cities
DART can compute the time variation of reflectance and radiance associated to a satellite with a given position, for
any Earth location. Here, this is illustrated with African cities: Algiers (36.42°N, 3.13°E. UTC+1), Cairo (30.2°N,
31.13°E. UTC+2), Dakar (14.4°N, 17.25°W. UTC), Pretoria (25.45°S, 28.11°E. UTC+2), Mogadiscio (2.02°N,
45.21°E. UTC+3) and Luanda (8.50°S, 13.14°E. UTC+1).
Step 1: create the sequences of interest. Figure 282 shows the sequence associated to Algiers at 8hUTC.
a)
b)
c)
Figure 303. Sequence Algiers at 8h UTC.
206
Step 2: run the sequences, using the script "dart-sequence.bat" in folder "tool" (Figure 283).
a)
b)
Figure 304. Command line (a) that launches the sequences Algiers8h and Algiers12h.
Step 3: run the python script that extracts LTOA, Lsensor, LBOA, atmosphere Latm and useful (Lu = LTOA - Latm) radiance values
from all sequences (Figure 284), and stores them in the "results" folder (1 folder per sequence).
Figure 305. Python script that retrieves radiance values.
Figure 285 shows LTOA, Latm and Lu at 16hUTC for the African cities, as measured by a geostionary satellite. The
"Sensor" curve corresponds to the Earth site at satellite nadir.
Latm (W/m2/sr/µm), 16h UTC, 550nm
Alger
Cairo
Dakar
Luanda
Mogadiscio
Pretoria
Sensor
LTOA (W/m2/sr/µm), 16h UTC, 550nm
Alger
Cairo
Dakar
Luanda
Mogadiscio
Pretoria
Sensor
50
40
Lu (W/m2/sr/µm), 16h UTC, 550nm
Alger
Cairo
Dakar
Mogadiscio
Pretoria
Luanda
Sensor
20
20
30
20
10
10
10
0
0
0
0
100
200
300
Day
0
100
200
300
Day
0
100
200
300
Day
Figure 306. Python script that retrieves radiance values.
The above method processes automatically several sequences. If few sequences are run, then retrieving results
directly from the DART SQL database may be faster and simpler. Figure 286 displays results that are stored in the
DART SQL database: TOA (red), atmosphere (green), 1st order atmosphere (blue) and BOA radiance (cyan) and
reflectance values for for Algiers city and a sequence of 365 days at 16hUTC. BOA reflectance is constant, because
the Earth surface has a lambertian and constant reflectance.
 In Figure 285, during summer in northern hemisphere, radiance is larger. It is coherent with smaller local sun
zenith angle. Why ρTOA, ρatm, ρatm,1 are smaller?
207
LTOA
ρatm
Latm
ρTOA
Latm,1
ρatm,1
ρBOA
LBOA
a)
b)
Figure 307. Daily radiance (a) and reflectance (b) for a geostationary satellite, at 16hUC. Algiers.
3) Update of atmosphere database with AERONET and ECMWF data
Here, we use atmosphere files that are in the folder Atmosphere of the DART database: 3 files from AERONET
and 12 temperature files from ECMWF database.
Radiative transfer method: Flux-tracking
Passage from TOA to BOA: Radiative transfer simulation
"Flux-tracking"
"Flux tracking"/…/"Spectral band"
Mode T+R, 11 spectral bands (cf. Table 84)
Radiance Products
Maximal zenith angle of images: 30°
OrthoImages (+ Irradiance,…) + Energy conservation
Exact date: June 21, 2012
"Flux tracking"/…/"Products"
"Direction input Sun angles or date
parameters" / "Add" / "Single direction" Lat = 0°, Long = 17°, Altitude=35800km (Figure 230)
Database: Lambertian_mineral. Table: loam_gravelly_brown. Name: ground.
Database: Lambertian_vegetation. Table: bark_spruce Name: epicea.
Table: grass_rye. Name: grassrye. LAD: Erect. T: 300K
Database:
/ "Vegetation"
Table: leaf_deciduous. Name: acacia. LAD: Sph. T: 300K
Lambertian_Vegetation
Table: grass_dry. Name: grassdry.LAD: Erect. T: 300K
Temperature
Thermal Function ID: T_savane. Mean temp.: 305K. Delta temp.: 5K
Cell: ∆x = ∆y = 0.5m, ∆z = 0.1m. Scene: ∆X = ∆Y = 15m. Alt. = 376m, 7°N, 355°E
"Earth scene"
Phase function's name: ground. Thermal Function: T_savane
Phase function: grassrye. Bottom height: 0m. H: 0.4m. σH: 0.1m, LAI: 1.8
"Earth scene: Plots / Add / Plot" - Vegetation
Phase function: grassdry. Bottom height: 0m. H: 0.1m. σH: 0.03m, LAI: 1.2
Name: Acacia.
Geometric properties - Position: X=Y=7.5 m, Scale Factor: X=Y=0.25, Z=1
Source File:
Group "trunk": remove it. Group "leaves": conversion with predefined LAD,
"Earth scene:
3D imported broadleaves_acacia01.obj Phase function: Acacia, LAI: calculated LAI
object / Add
Name: Trunk.
Geometric properties - Position: X=Y=7.5 m, Scale Factor: X=Y=Z=0.01
ponctual object"
Source File:
3 Groups: same properties. No conversion.
cylinder_36Triangles.obj Phase function : Epicea, T: T_savane
Aerosol model: RURALV23, Gas model: USTD76
"Earth scene: Atmosphere" with database Atmosphere BRF/BTF/Radiance TOA
Atmosphere geometry: Manual (dZMA = 0.5km, MA=4km, dZHA = 8km)
"Optical and
Temperature
properties"
/ "Lambertian"
Table 87: Parameters to modify in the root simulation.
λo
∆λ
0.443nm 0.020 nm
0.490nm 0.065 nm
0.560nm 0.035 nm
λo
∆λ
0.665 nm 0.030 nm
0.842 nm 0.115 nm
1.610 nm 0.09 nm
λo
∆λ
2.190 nm 0.180 nm
3.900 nm 0.880 nm
8.700 nm 0.800 nm
λo
∆λ
10.80 nm 2.00 nm
12.00 nm 2.00 nm
Table 88: Selected spectral bands. Bands 0 to 6 are Sentinel-2 bands.
208
Figure Figure 287 illustrates an application of DART simulations. It shows hourly Lu, Lsensor noise and Lu relative
δLu(SNR)
, with SNRref = 129 at λref (Sentinel 2 data), for a grass savannah. These
change due to sensor noise ηSNR =
Lu
values allow one to compute the domain of validity of Lu, acquired by a geostationary satellite, for given sensor
SNR (Signal to Noise Ratio) and relative accuracy of radiance measurements. Here, Lu is valid over [8h 17h30]
(vertical red lines), if the expected radiance accuracy is 3%.
A
E
η(SNR)
0.02
Ƞ(SNR)
Lu
Sensor noise x10
0.015
Lu and Lsensor noise
4
(W/m²/sr/µm)
3
Validity:
8h-17h30
2
0.01
443nm, SNRref = 129,
Precision Lu = 3%
0.005
0
1
0
0
5
10
15
20 Hours
Figure 308: Hourly Lu, Lsensor noise and ηSNR and the domain of validity of Lu acquired by a geostationary
satellite. February 7, 2005. Grass savanah (7°41'N, 5°01'W, altitude: 376 m))
Note: work funded by CNES for studying the potential of a high spatial resolution geostationary satellite.
209
VII.13 SATELLITE IMAGE INVERSION (UNDER DEVELOPMENT): WP12
1) Inversion of vegetation RS image: LAI and ρground: WP12A
Here, the inversion is made in 3 steps:
1) To create the image to invert.
The scene {20m x20m, ∆x=∆y=1m, ∆z=0.25m } is made of 4 plots with plot height = 1m and plot LAI = 0, 1, 3
and 5. Leaf spectral properties are defined by "Leaf_deciduous" database. Ground reflectance is ρground = 0.22 in
all bands. We have 3 spectral bands: 0.55µm, 0.65µm and 0.9µm Sun direction is vertical. DART images are
created without any oversampling.
2) To create a LUT with a sequence ({LAI, ρground} values encompass the {LAI, ρground} of the image to invert)
Root simulation: {1mx1m. ∆x=∆y=1m. ∆z=0.25m. 3 bands: 0.55µm, 0.65µm, 0.9µm. 1 vegetation plot}. 330
simulations: 11 values of ρground from 0 to 1 (∆=0.1) and 30 values of LAIplot from 0 to 6 (∆=0.2).
 In order to reduce computer time and memory, do not store images and all iteration orders.
Once the LUT of scene reflectances ρscene is created during the sequence, create the LUT of coefficients that is
used by the inversion procedure. (cf. Module_User_manual), LUT_Coefficient).
3) Inversion of the image created in step 1, with the LUT_Coefficient created in step 2.
For that, the 3 images of step 1 are renamed "Green", "Red" and "NIR" and are copied in the input directory of
the current simulation.
a)
b)
c)
d)
Figure 309: a) Scene that is used for creating the image to invert. DART images at 0.55µm (a), 0.65µm
(c) and 0.9µm (d).
2) Inversion of urban RS image: urban material optical properties: WP12B
210
Annex 1: DART Python modules / scripts
Python modules are provided in folder "DART\bin\python_script (Table 93), with usage in their code or Readme files.
Python module (*.py)
Folder
Objective
To invert a time series of EBOA(t) in terms of a
cloud_aod_factor_inversion
AerosolOpticalDepthInversion
time series of aerosol / cloud optical depth
*
atmosphereFilesExporter,…
AtmosphereFilesConverter
To import / export DART atmosphere files
*
BroadbandBatch,…
BandTools
Broadband, Spectra, Spectral indices…
changeObjSize_unique_barycenter,…
ChangeLeavesObjSize
To scale all or part of the triangles of a 3D object
multi_field_generator
CropFieldCreation
To map a field crop
DAO,…
DAO
Creation / modification of DART Earth scene
GaussianDecomposition, DART2LAS
DART2LAS
Gaussian decomposition, DART to LAS format
*
DatabaseFileParser,…
DatabaseManager
DART databases management (import, export,…)
*
convertDEMtoOBJ
DEMto3DObject
To convert a DEM into a 3D object
Many modules: LaunchDisplayLut.py*,
Displays the LUT, adds noise to the LUT,
DisplayLutAndInversion
GenerateCoefficientsForOneSimulation.py*
Inverts brf into coefficients of reflectance model
Many modules: Extract****.py
ExtractionLut
Data extraction from the LUT
ClassifySunShadeLeaves.py
Fluorescence
Classification of sun/shade adapted leaves
Fluspect_B_CX_P6.py
Run of Fluspect
Fluspect
INVERSION.py*
Inversion of leaf optical properties into Cab,…
outilsGribFiles,…
Geostationary
*
*
CreateWaves.py , TurbideToTriangles.py ObjectCreator
Creation of 3D objects
op_inversion_gui.py*, etc.
OpticalPropertiesInversion
Inversion of (rleaf, tleaf) as leaf properties
*
Inputvariables_Simulation.py , etc.
PROSPECT_DataSampling
Optimal sampling of PROSPECT input parameters
Many ***.py
python_tools
General tools
Manu=y: worldGlobalMap.py, etc.
RadiometricMaps
Map radiometric maps at continental scale
Many: ExtractRamiFiles.py, etc.
Rami
Manage and up-load brf on RAMI web site
jobsManagerExample
Sequencer
To run a sequence of simulations
*
simulationPropertiesTree,…
SimulationPropertiesViewer
topographicCorrection *
TopographicCorrection
To invert a satellite image in terms of rmaterial
trianglesFileConverter, colorComposite, ImageResample,….
Table 89. Python modules. Modules with label * are directly run from DART GUI. They are not described here.
DART GUI with menu "Tools/Python Script Launcher' (i.e., python_script_runner.bat;Figure 289) cn launch most
Python modules. For that, select the module to run and set input parameters (i.e., folders, file names, options).
Name of the Python script to run
Input parameters: folder and file names (they can be automatically input
with the above tabs "Script parameters") + Other parameters (if needed)
Figure 310. Python_script_runner.bat.
211
Inversion of in-situ irradiance in terms of aerosol and cloud parameters
DART
Goal: to get a time series of aerosol and cloud parameters ka and kc so that DART BOA irradiance EBOA,tot,Δλ
(t) (W/m2)
measured
measured
or SKYLDART
BOA,tot,Δλ (t) matches measured EBOA,tot,Δλ (t) or SKYLBOA,tot,Δλ (t), with ka(t).∆τa,λ and kc(t).∆τc,λ the aerosol and
cloud optical depths (∆τa,λ and ∆τc,λ are the aerosol and cloud spectral optical depths defined in the simulation).
Method: - bi-section algorithm: DART iterative run per date t until DART matches measurements. ka is first searched
in [0 ka,max] with kc = 0; if ka is not found, there may be a cloud, and DART is iteratively run with (ka,init,kc
variable) starting from (ka,init,kc,init) to get kc(t); ka or kc = -9999 if there is no solution. kc = 0 if kc,init =0.
It treats the 1st aerosol and 1st aerosol-cloud if there is an aerosol-cloud model; 1st and 2nd aerosol otherwise.
 If "Coupling_Gain" (i.e.,
after coupling
EBOA,tot,Δλ
E
before coupling
BOA,tot,Δλ
after coupling
measured
measured
in the EBOA,tot,Δλ
(t) file) = 1, EBOA,tot,Δλ
is adjusted to EBOA,tot,Δλ
, using DART
computer intensive "atmosphere coupling" option; else, since Coupling_Gain is usually slightly larger
before coupling
is adjusted to
than 1, EBOA,tot,Δλ
measured
EBOA,tot,Δλ
Coupling_Gain
, using DART with the "No coupling" option.
- DART simulation (example): 1mx1m bare ground with reflectance close to the actual reflectance of the
scene), Nbands (E.DART
BOA,Δλ accuracy and computation time increase with Nbands), Naerosol/cloud≥2 (prefix 'cloud' in
the 'aerosol optical properties' file name indicates an 'aerosol-cloud').
DART
 No need to simulate DART products because the method uses EBOA,λ
(t) stored in simulation.properties.txt.
Parameters: - Folder of the DART simulation (Figure 290)
measured
measured
- Irradiance text file I.txt. Per line / time: EBOA,tot,Δλ
EBOA,diff,Δλ
Year Month Day Hour Min. Sec. Coupling_Gain
 If I has too many data, you can create a new I {set of Mean(N successive data)} with
{average_time_series.py, parameter N}.
- Optional: -i ka;kc : aerosol & cloud initial multiplicative factors; default: ka,init(t) & kc,init(t) in DART simulation
-t start time; end time: inversion over [tstart tend]. Default: [0000 0 0 0 0 0 9999 0 0 0 0].
-m Iterationmax: maximal number of iterations. Default: 20.
-s ka,max : maximal aerosol optical depth. Default: 2.
-e ε1 : maximal relative error
DART
measured
|EBOA,Δλ
(t)-EBOA,Δλ
(t)|
measured
EBOA,Δλ
(t)
. Default: 0.05.
-ee ε2: maximal relative error if upper ki was found. Default: 0.
-eee εSKYL: SKYL adjustement if SKYLmeasured ∈ ]0 εSKYL[. Else Etot adjustment. Default: 0.1.
Result: anywhere (option –d); default: "simulation_name.result.txt" in folder of the python module. It stores per line:
Emeasured
BOA,tot,Δλ
Coupling_Gain
measured
Emeasured
BOA,diff,Δλ -EBOA,tot,Δλ .
Coupling Gain-1
Coupling_Gain
DART
Year Month Day Hour Min Sec ka∈[0;preset ka,max] kc≥0 EDART
BOA,Δλ EBOA,diff,Δλ
DART
EBOA,Δλ
measured
EBOA,tot,Δλ
Step 1: search of ka∈[0 ka,max]
with kcloud=0.
Step 2 (if step 1 unsuccessful):
search of kcloud with ka = ka,init.
Start values of ka and kc
Precision 
ka,max=1.5


Simulation name (set with "paste folder location"
measured
File that stores EBOA,Δλ
(t)
Options of cloud_aod_factor_inversion.py
(default start / end dates are used)
Figure 311. Python_script_runner.bat. Here, it runs the script 'cloud_aod_factor_inversion.py' with DART simulation
measured
'Aerosol_Cloud_OpticalDepth' and irradiance file 'cloud_aod_inversion_irradiance_example.txt' EBOA,Δλ
(t).
212
Example: - Simulation Aerosol_Cloud_OpticalDepth: 10 bands, [250nm 2750nm]. z=149m, 35.18°E, 9.54°N.
Atmosphere: USSTD76, Rural23, k H2 O =0.3. No coupling.
measured
- EBOA,Δλ
: file 'cloud_aod_inversion_Irradiance_example.txt': ∆t=30mn, 23-24/06/2014, Coupling_Gain=1.02.
Figure 291 shows that Coupling_Gain ≈ cst over a day with constant atmosphere conditions.
- Inversion done with a relative error error ε=0.01 (option –e 0.01). It is much slower than if ε=0.05.
Figure 312. Hourly EBOA before coupling (BC) and
after coupling (AC) from morning to evening, for 3
atmosphere conditions: (ka,kc) = (1,0), (4,0), (4,0.3).
E
The associated gains BOA,AC are nearly constant
EBOA,BC
during the day with relatively low values: 1.017,
1.025, and 1.062. It explains that the ionversion is
made with a gain equal to 1.02, and therefore
without the "Atmosphere radiative coupling".
measured
DART
The retrieved atmosphere parameters ka(t) and kc(t) lead to EBOA,tot,Δλ
(t) ≈ EBOA,tot,Δλ
(t) (Figure 292). A few abrupt ka
changes occur early and late in the day with low irradiance values. They can be explained by experimental factors
such as the time accuracy of measurements. ka changes during the day are probably due to cloud sudden
occurrence. Basic knowledge of atmosphere conditions is useful to imptove results, for instance to pre-set a
smaller range of ka.
Figure 313. EBOA,tot,Δλ (t) and EBOA,tot,Δλ (t).
measured
DART
Nasrallah, Tunisia on 23-24/06/2014.
The inversion is done with ε=0.01
(option –e 0.01). It is much faster if
ε=0.05 ( ' instead of 90').
Note: erroneous results may indicate:
- Incorrect DART parameters: atmosphere (aerosol optical depth, water vapor content,…) and/or site coordinates.
- Incorrect time of measurements (e.g., in case of an integration time ∆t, time should correspond to ∆t/2).
213
Being re-written. cf. schematic
example in WP0M
Goal. To invert a satellite image Sλ(u,v) of a city as a map of optical property (OPi) per urban
material i at ∆rsat, using an urban geometric database.
Geometric database. basel river extracted.obj (10km x 11km. 6 groups i: DEM, roof,…).
Basel geometric database
'basel river extracted.obj'
Sentinel 2 satellite image Sλ(u,v): sat.mp# of Basel : 7km x 6.5km. 0.49µm, 0.56µm, 0.665µm.
Sentinel2 image
Satellite image inversion: op_inversion.py
_
_
6500m
7000m
Per band inversion method. First, put Sλ(u,v) in 'workspace_name/iter1/input/bandx' (x=1: 0.49µm, 2:
0.56µm, 3: 0.665µm), and set DART to create images per type of scene element and to use
factors ki,λ,n(x,y). DART is run n times. A 1st scattering order equation assesses ki,λ,n(x,y) at
n=1, and a bisection / Newton method up-dates it at n>1; the workspace stores it ∀n.
DART simulation. a) Basel 05082015.20m.3bands (: 5060mx5320mx160m, ∆x=∆z=20m. Tree file
trees updated*.txt & basel river extracted.obj; consistent coordinates) + workspace basel.
b) Basel 05082015.20m.3bands SubZone (: 438mx417mx92.5m, ∆x=∆z=0.5m, dsm.obj created
by "tools" (Figure 301); (103, 88) - (120, 105) in satellite image) + workspace sub zone1.
 In the "Optical and temperatures" menu, set "
", with
default multiplicative factors equal to 1, and
. The
inversion procedure automatically sets the option
.
_
5320m
5060m
_
417m
_
_
_
_
_
_
DART OP menu
_
_
_
kλ,i,n(x,y)
Start. Run op_inversion.bat in 'DART\bin\python_script\OpticalPropertiesInversion' to run
the GUI and specify input / output data (Figure 293) in its 4 tabs (cf. below).
Settings. An existing workspace () or data (: DART home, working simulation, DART & satellite images; option:
tree text file name, satellite image sub-zone coordinates) to create it are specified. File .settings stores it.
 In order to create a new inversion, first create an empty "workspace" folder using Windows or Unix, and then
click on the “Select” button to choose it. Do not forget to click on “Create” button after selecting the simulation.



Figure 314. Tab "Settings". Workspace name () and data to create it if 
it does not exist (): names of DART simulation, satellite image, and
tree text file, and sub-zone coordinates in the satellite image if needed.
ρsatellite: [0.0027 0.1584]
a)
ρDART: [0 0.1581] - ∆r=25m
εr,n=3=0.03, εr,n=8=0.006
b)
ρDART: [0 0.1584] - ∆r=0.5m
c)
d)
Figure 315. Reflectance images of a sub-zone (workspace_sub_zone1) at iteration n=3. a) Satellite: ∆r=25m. b) DART:
∆r=25m. c) DART: ∆r=0.5m; 25m resolution Fλ,i(u,v) impacts it. Border effects  (i.e., larger errors) occur at bottom
left & right corners since the scene and DEM are not symmetric. d) 3D view of errors: ∆r=1m.
Process. DART simulation must be previously run, because the inversion procedure does not run it. Three tabs ()
allow one to run a given iteration (
), all up to a given iteration (
) or to continue
up to a given iteration (
). At any iteration n, new maps Fm,x,n(u,v) per selected band x () and
OP m (; other OPs are constant) are derived from the comparison of satellite and DART images. They are stored
214
in folder Workspace/itern/output/bandx. At iteration n+1, they are copied in DART input/bandx folder, and DART
is run with "new OP = initial OP x Fm,x,n(u,v)". At iteration n=0, Fm,x,n(u,v)=1 ∀u,v (i.e., DART option "Use an array
of multiplicative factors" is automatically unset).
The procedure works with any user-selected numbers () of iterations, and threads for the inversion (auto:
available computer cores) and for DART (auto: number of cores set in DART). Three accuracy thresholds () can
be used per pixel (u,v): (1) a surface element with relative contribution < threshold is neglected. (2) At iteration 1,
a pixel inversion result is accepted only if Fm,x,1(u,v) < predefined Max{Fm,x,1(u,v)}. (3) At iteration n >1, a pixel is
not treated if its relative error is smaller than a threshold.
Spatial interpolations () "DART → Satellite" and "Satellite → DART" are used since pixel sizes of DART and
satellite images usually differ. Nearest neighbor method (index 0 of "Spline int…") is usually optimal.






Figure 316. Tab "Process": operation mode (), spectral bands to process (), optical properties to invert (),
computer threads and iteration number (), accuracy level (), and spatial interpolation mode ().
 The optical properties of elements that are not selected keep their initial value during the inversion procedure.
View. Data (: error estimates, images,…) are viewed per iteration () and band (), per type of product ():
- in: the DART image and the scene component images (e.g., River).
- out: maps of multiplicative factors. DART uses them for simulating images (in) t the following iteration.
The workspace stores all products: satellite image, DART images at full or satellite image size, the absolute
difference image "Satellite - DART", and the DART image and image difference histograms.




Figure 317. Tab "View": satellite image and results (: Images / Histograms / Errors) per iteration (), per band ()
and per DART output (). Options "Equalize" and "Clip" () are for improving the visual aspect of images.
Tools. - Option "Match Obj/Trees/subzone to satellite image" (): to superimpose the 3D object and/or tree file to
the satellite image. The help menu (key h) indicates all possible options.
- Options "Apply to Obj" and "Apply to tree file"n (): to copy the 3D object geometric transformations in
the 3D object "Geometric properties" section of the DART simulation, and/or create a new tree text file that
should be specified for the DART simulation. Note that an 'Untransformed tree text file' can be used.
215

Figure 318. Tab tools.
It is used to match the 3D object and the
tree file to the satellite image. The left
panel
displays
the
geometric
coordinates. It can be used also to define
a sub zone (shortcut "R").

Figure 320. Selection of sub-zone 
 A satellite image sub-zone can be defined:
in Sentinel 2 image and 'dsm.obj'.
strike key r and draw a rectangular sub-zone.
Its coordinates in DART and satellite images
appear on the screen (). To run the inversion
procedure for this sub-zone, input these DART
dsm.obj
coordinates into the sub-scene definition of a

new DART simulation and input these satellite
image coordinates into the Tab "Setting" of a
new workspace.
Simulation 'Basel_05082015.20m.3bands_SubZone' uses the sub-zone 3D object "dsm.obj" (DART
"maket" module can create it) because loading it is faster than loading 'basel_river_extracted.obj'.
Figure 322. Algorithm of the inversion method. It relies on the iterative calculation of DART
radiance images per type of element that is present in the urban landscape.
a) Sentinel 2
Iter 0
Iter 1
Iter 8
216
Figure 323. Results of workspace_basel.
a) Sentinel 2 image (2015/8/5) and DART images at 0.6
iterations n=0, 1 and 8. At n=0, OP is unique for 0.4
urban elements of the same type (e.g., roofs).
b) Relative error decreases with n (n=0: 70%, n=1: 0.2
13%, n=2: 3.3%, n=3: 1.4%, n=5: 1%,...).
0
b)
c) Larger errors occur for pixels with ρsatellite > 1.
0.04
RMSE
Relative
error
1
2
3
4
0.02
5
ρsatellite = 2.19
0
c)
 Apart from creating scene using obj file, scene can also be created using DART elements. For per element,
only one optical property can be assigned.
Figure 301 indicates the types of DART elements that can be considered for the inversion. Note that only one optical
property must be assigned pet type of element. For example, an unique optical property for all houses. The sopatial
multiplicative factor allows one to have spatially variable optical properties for the roofs.
Optical property
Earth Scene
Plots
Trees
Ground
Ground
Vegetation + Ground
Trunk
Small walls → Small wall
Lambertian
Urban
elements
Water
surface
Vegetation
Elements
Plots
Trees
Buildings → House → Wall
Buildings → House → Roof
Roads → Road
Lakes
Rivers
Vegetation
Crown
Figure 324. Types of DART elements that can be considered for the inversion. Note er optical property for each
element. For example, please do not assign different optical property to different houses.
 On-going work: accelerate DART simulations with new DART fast mode and decrease RAM with tree cloning.
217
Mapping an area with agricultural fields: multi_field_generator.py
Objective: manual creation of a field crop area. Any other scene element can be added.
Method: interactive definition of field vertices, and field (: vertices, row orientation,
distance between plants,…) and 3D plant (: rotation, scale,…) parameters
per field, possibly with an underlying image () of the study area. The
resulting field_map.txt file () can be saved and later edited. Copy and paste
is possible on any field. The command " Write DART field.txt" creates the
DART field.txt. A help (: ?) is provided.
Example: 1kmx1km
Example of DART simulation: CropFieldCreation
Selected field




Plants •
Google map: Parentis, France


DART editor
DART 3D view
Figure 325. a) DART-Lux image of the scene simulated with the field.txt file () created by the Python module
DART\bin\python_script\CropFieldCreation\multi_field_generator.py. Border effects at the top correspond to
grapevines at the bottom that are only partly in the scene. The latter ones should be removed in the field.txt file in
order to reove the border effects. b) Zoom of DART-Lux image at 2cm resolution.
218
Change the size of all or part of 3D objects: changeObjSize_***.py
Objective: to scale all or part of the triangles of an input 3D object. The output 3D object is identical to the input
3D object except that its triangles are scaled. The output 3D object appears with the same colors as the
input 3D object if the mtl file of the input object is in the folder of the output object.
2 scripts: - changeObjLeavesSize_multiple_barycenters_groups.py: triangles of a specified group are scaled and each
barycenter (center of gravity) of connected triangles of the group is preserved. Figure 303 illustrates the
scaling of the corncob of a maize 3D object.
- changeObjSize_unique_barycenter.py: all triangles are scaled, and the barycenter of all the connected
triangles is preserved.
 triangles must be logically order in the input *.obj file.
Figure 326. Run of changeObjLeavesSize_multiple_barycenters_groups.py with python_script_runner.bat
219
DART DAO: to create a scene from a LAI array (DART\bin\python_script\DAO)
Objective: to create a DART DAO turbid scene, and to derive DAO and non DAO triangle scenes for DART-FT and Lux
a) Copy the empty file dao.nfm in the DART folder. Then, DAO python scripts, for example run with
create DAO turbid and triangle scenes in the folder "output/Scene".
,
 The DAO replaces the maket module, so that running this module will destroy the scene generated by the DAO.
b) Create the simulation 'Turb': 3m x 3m scene, 1m x 1m cells, 90 bands ∈ [400;850nm], DEM, 1 Lambertian optical
property ρground = 'clay brown', 1 Vegetation optical property: default SIF parameters and leaf biochemistry / structure.
c) Run the Maket module. It generates a DAO scene with expected scene and cell dimensions.
d) Create the DAO 3D turbid scene. 2 methods are proposed:
- 3D LAI array importation (here: LAI_Array.txt: scene layers from top to bottom separated by "***")
Usage: Create_TurbidScene_From_LAI_Array.py SimulationName LAI_Array_name
- Creation of a random LAI distribution (here: LAIcell ∈ [0 1)
Usage: Create_TurbidScene_Random.py SimulationName
Scene with
"turbid cells"
c) Create the DAO 3D triangle scene from the DAO 3D turbid scene, with 5 10-3 accuracy per LAIcell.
- Save 'Turb' as simulation 'Tri' and copy the folder 'Turb\output' into 'Tri' where you remove the Vegetation optical
property and add a Lambertian optical property (it must be the same as 'Turb' vegetation optical property if 'Tri'
and 'Turb' results are to be compared). Then run the "direction" and "phase" modules (not the maket module!).
- Conversion of the turbid LAI cells as cells filled with triangles
Usage: Turbid_To_Triangles.py SimulationName triangle_cells
'triangle_cells': this folder stores N random samples of M objects that simulate a turbid cell (here: LAIm
3D object
= 0.01, 0.02, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 1) with triangles (area Atriangle = 5 10-5m2). The conversion rule is:
"triangle cell"
* Scene LAIcell < 0.5: the turbid medium is replaced by 2 triangles cells at most:
- 1st triangle cell: it can be only enlarged, by 5% at most (if expected scaling > 5% ⇒ 2nd cell).
- 2nd triangle cell: it can be enlarged or shrunk.
* Scene LAIcell > 0.5: the turbid medium is replaced by 3 triangles cells at most:
- 1st triangle cell: it cannot be scaled (if precision > 5 10-3 ⇒ 2nd cell).
- 2nd triangle cell: it can be only enlarged, by 5% at most (if expected scaling > 5% ⇒ 3rd cell).
Scene with
- 3rd triangle cell: it can be enlarged or shrunk.
Examples: - LAIcell = 0.23 (≈ 0.2 + 0.02 x 1.22472) ⇒ 2 triangle cells: LAIn = 0.2 and LAIn = 0.02 scaled by 1.2247.
"triangle cells"
- LAIcell = 0.48 (≈ 0.4 + 0.1 x 0.89442) ⇒ 2 triangle cells: LAIn = 0.4 and LAIn = 0.1 shrunk by 0.8944.
- LAIcell = 0.64 (≈ 0.5 + 0.1 + 0.05 x 0.8944) ⇒ 3 cells: LAIn = 0.5, LAIn= 0.1, LAIn= 0.05 shrunk by 0.8944.
- LAIcell = 0.93 (≈ 0.5 + 0.4 x 1.03682) ⇒ 2 triangle cells: LAIn = 0.5 and LAIn = 0.4 scaled by 1.0368.
d) DART-FT sequence (θs=30° / 60°; φs=225°); do not run the Maket module: DAO turbid & triangle scenes. ρscene ,
ρPSI and ρPSII depend on θsun. ρPSx,turbid and ρPSx,facet are very close (Figure 304). ρscene,turbid and ρscene,facet
differ. Differences decrease with smaller Atriangle (⇒ triangle cell ≈ turbid cell) and high spatial resolution DEM.
e) DART-FT / Lux sequence (θs=30° / 60°; φs=225°): save 'Tri' as 'Tri_no_DAO'. Then, remove the DAO scene and add
a field of 3D objects created with: Turbid_To_Triangles_Field.py Turb path_to_store_field.txt path_to_store_DSM.obj
Field.txt is such that you import 3 LAI objects, among 10 objects, per LAI value in folder "cellules_triangle", per
LAI ascending order. Advice: in the LUT of DART-Lux, only store results for the nadir direction.
θsun=30°
θsun=60°
Figure 327. Total, PS1 and PS2 reflectance of the turbid scene and its associated triangle scene. θs=30° and 60°.
 DAO is being adapted to create scenes that are adapted to DART-Lux, in order to reduce computer time and RAM.
220
221
Annex 2: DART Albedo and Ortho images
DART has several albedo products per scene mode (Repetitive scene, Infinite
slope, Isolated scene: Figure 46, Figure 307). Their meanings differ:
• Adart =
�
∑2π+ L
ij,Ωv .cosθv .ΔΩv
EBOA
MBOA
=
;
EBOA
L� ij,Ωv =
���
Wij (Ωv ,ΔΩv )
S.cosθv ,ΔΩv
, ij = sensor image
ARB2
xy
� ij (Ωv ,ΔΩv )= spatial mean of DART source vectors, S=Sscene if
coordinates, W
"Repetitive scene"; else S=Sslope .
�p .Ω
�v |
|Ω
cosθv
. Adart is computed without ortho-
proj
proj
proj
LIS
xy,Ω
Lxy,Ω LEC
xy,Ω
iterN+1
Int iterN
xy -Absxy
Int iterN
xy
projection procedure. It is stored in dart.txt and simulation.properties.txt.
• Radiance based albedo per DSM pixel: Axy =
ARB1
xy
EBOA
Lij,Ω
Not up to
sensor
𝐒𝐒𝐬𝐬𝐬𝐬𝐬𝐬𝐬𝐬𝐬𝐬 ("Repetitive scene")
proj
��� .Ω
� |.ΔΩv with Ω
� p ∈2π+ (horizontal sensor); L � =0 if Ω
� p .Ω
� v <0
MΔλ = ∑v Lxy,Ω� |Ω
xy,Ωv
v p v
.
E↓top,hor : irradiance of top scene (downward rays)
Ortho radiance images Lproj
xy,Ωv are interpolated Lij,Ωv sensor radiance images (stored or not) with projection method
'proj' (Figure 19): EC, IS (LISxy =Lij,Ωv .δij ), RC; they greatly differ. IS represents actual ortho-rectification. Partial pixel
proj
�EC
�IS
filling of edges of images can impact Lij,Ωv images and therefore Lproj
xy,Ωv and Axy . Usually: A xy >A dart >A xy . For
�ISxy .
perfectly smooth slopes: Adart =A
• RB-based "albedo per scene column xy": ARB1
xy =1-∑
z1
st
∑z Absorbed radiation(x,y)
order intercepted (x,y,z); folder RB ILLUDIF (sun + atm.)
with rays ↑ and ↓.
Only computed if user-RB components include 'Interception' and 'Absorption'.  No coupling and radiation from (x',y').
• RB-based "top scene albedo": ARB2
xy =
↑
MΔλ,xy
of top face per top scene cell
↓
Etop,hor
: top scene irradiance (rays ↓)
↑
. Tool 3D RB Extractor gives E↓top,hor and MΔλ,xy
.
proj
RB2
RB1
ARB2
x,y is the actual scene albedo. Scattered rays are only upward in Ax,y and Ax,y , conversely to Ax,y . For a pure
RB2
IS
IS
�RB2
�IS
infinite slope (no 3D element): A
x,y =Ax,y =Adart , with Ax,y ≠Ax,y and Ax,y ≈ local in-situ albedo (horizontal sensors).
1) Homogeneous smooth infinite slope (Ωp, ρp,Ωs→Ωv ) and direct sun (SKYL=0)
� p .Ω
� ′ <0). Exitance M↑p,x'y' . Upward exitance M↑p,x'y' in ΔΩ↑ =2π-θp (⇔ Ω
� p .Ω
� v >0).
Slope: irradiance Ep in ΔΩ↓ =2π-θp (⇔ Ω
� p. Ω
� s |+∫ ↓ Latm,Ω .|Ω
�p. Ω
�|.dΩ. ⇒ Lp,x'y',Ωv = ∫ ↓
Ep = Es.|Ω
ΔΩ
ΔΩ
ρp,x'y',Ωs →Ωv
π
ΔΩ↑
.Ep(Ωs ).dΩs
� p .Ω
� v |.dΩv > M↑p,x'y' =∫ ↑ Lp,x'y',Ω .|Ω
� p .Ω
� v |.dΩv
Mp,x'y' =∫2π Lp,x'y',Ωv .|Ω
v
ΔΩ
dart
Sensor: Radiance Ldart
i,j,Ωv =Lp,x'y',Ωv . Reflectance ρi,j,Ωv =
 Lambertian slope
+ isotropic SKYL:
proj
∫ΔΩ↓ ρp,x'y' �Ω′ ,Ωv �.Ep�Ω′ �.dΩ′
π.Ldart
i,j,Ωv
=
EBOA
EBOA
ρ=ρp .[(1-SKYL). ξps +SKYL.
A=ρp [(1-SKYL).ξps +SKYL.
proj
1+cosθp
2
], with
1+cosθp
2
].
proj
� p. Ω
�s|
|Ω
ξps = � �
|Ωn. Ωs |
1+cosθp
2
proj
proj
proj
1
π
proj
- EC: LECxy,Ωv .Δx.Δy.cosθv = ∑z LECxyz,Ωv .Δx.Δy.cosθv =∑ij Ldart
ij(xyz),Ωv .
⇒ LECxy,Ωv = Ldart
ij,Ωv .ξvp with ξvp =
�p .Ω
�v |
|Ω
cosθp .cosθv
Δx.Δy
cosθp
ΔΩ↑
θp
proj
ΔΩ↑
top view
ΔΩ↑
1+cosθp
∫ΔΩ↑ cosθv .dΩv =π.
2
�p .Ω
�v |
.|Ω
dart
� v ∈ΔΩ↑ ; else: 0 ⇒ ρEC
if Ω
xy,Ωv = ρij,Ωv .ξvp = ρp,xy .ξps .ξvp .
IS
dart
- IS: LISxyz,Ωv = Ldart
ij(xyz),Ωv ⇒ ρxyz,Ωv =ρij(xyz),Ωv =ρp,xy .ξps . It does not depend on Ωv .
 Direct sun + Lambertian infinite slope ρp (S: top scene horizontal surface):
MS
M𝒑𝒑↑
� p .Ω
� s | 1+cosθp
ρp
π.(1+cosθp )
|Ω
� p .Ω
�s|
⇒ A S = ρp .
.
since Lp,x,y = .Es .|Ω
2
cosθs
2
π
ρp
� p .Ω
�v|
� p .Ω
� s | 1+cosθp
ρp
ρp
cosθvp
|Ω
|Ω
AS
albedo: - AEC
xy = π .ξps . ∫ΔΩ↑ ξvp .cosθv .dΩv = π .ξps .∫ΔΩ↑ cosθ .dΩv = π .ξps .∫ΔΩ↑ cosθ .dΩvp = ρp . cosθ . 2.cosθ = cosθ
p
p
s
p
p
� p .Ω
�s | 1+cosθp
|Ω
1
IS
- Axy = ρp .ξps . . ∫ΔΩ↑ cosθv .dΩv =ρp
.
= AS .
π
cosθs
2
↑
= ∫ΔΩ↑ LS,xy,Ωv cosθv .dΩv =Lp,x,y .
S upward exitance: MS,x,y
DART
ΔΩ↑ =2π-θp
∀Ωv
DART ortho radiance Lxy,Ωv , ortho reflectance ρxy,Ωv , exitance Mxy and albedo Axy images.
Mxy = ∫2π+ Lxy,Ωv .cosθv .dΩv , Axy = . ∫2π+ ρxy,Ωv .cosθv .dΩv
side view
222
� s (θs=40°,φs=45°; SKYL=0).
2) Infinite slope (40mx40m, ρg =0.5), 2 ground plots (ρplot =0.2): ρ�p =0.449, direct sun Ω
(θp =30°, φp =0°) ⇒ ΔΩ↑ =5.24sr and ξps =1.163. Simulation: Slope_square_isolated_IS + File: Albedos_DART.xlsx.
Theory ⇒ ρdart
� dart
i,j,Ωv = ξps . ρp,xy ∈[0.233 0.581], ρ
i,j,Ωv =0.522. As (ρp )= 1.253. ρp ∈[0.251 0.626].
IS
�EC
�IS
AEC
xy ∈[0.249 0.623]; Axy =0.559. Axy ∈[0.217 0.542]; Axy =0.487
proj
proj
RB2
RB1
Figure 305 shows ρdart
ij,Ωv (Ωvo , Ωv1 , Ωv2 , Ωv3 ), ortho images ρxy,Ωv (Ωvo , Ωv1 , Ωv2 ) and albedo images (A xy , A xy,ztop , Axy,ztop ),
with "proj" = EC and IS, for the 3 DART modes ('Infinite slope', 'Isolated scene', 'Repetitive scene' at order 1): "Infinite slope"
EC
RB2
IS
is very close to theory: Adart =AISxy =0.487≈ARB2
z=24 ≠Axy =0.559. Note that Axy can differ from Az=24 with other topography.
z
Ground plots
y
Ground
a)
: ρ=0.2
: ρ=0.5
x
Repetitive scene: 1st order
IS
EC
Isolated (∆x=0.1m
IS
EC
IS
Infinite slope
EC
dart
ortho
Slope ρij,Ωvo =ρxy,Ωvo
d)
0.581
0.233
m=0.522
brf: 0.522
θs
z
θp
b)
0.581
0.233
m=0.520
brf: 0.522
ρdart
ij,Ωv2
0.581
0.233
m=0.522
brf: 0.522
y
S
x
ρdart
ij,Ωv3
0.581
0.233
m=0.509
ρortho
xy,Ωv1
same
same
0.581
0.233
m=0.522
0.581
0.233
m=0.521
brf: 0.522
0.581
0.233
30 lines
same
same
0.582
0.233
29 lines
same
same
0.581
0.233
Min: 5 10-3
m=0.515
brf: 0.520
same
0.581
0.233
29 lines
same
0.581
0.233
Min: 6 10-5
m=0.518
brf: 0.520
same
0.581
0.233
29 lines
ρortho
xy,Ωv2
0.917
0.367
m=0.823
0.246
0.098
m=0.221
0.581
0.233
m=0.522
0.581
0.233
m=0.522
0.917
0.367
m=0.823
0.246
0.098
m=0.221
0.581
0.233
m=0.522
0.581
0.233
m=0.522
same
0.917
0.367
26 lines
0.582
0.233
25lines
S
�s
E
𝛉𝛉s
Sp
x
ρdart
ij,Ωv1
� vo
Ω
hor
Seff,Ω
v2
same
same
Maximum ARB2
ztop at center
0.246
0.0983
0.581
0.233
31 lines
𝛉𝛉p
Aortho
xy
0.623
0.249
m: 0.559
Adart : 0.487
0.542
0.217
m: 0.487
Adart :0.487
0.623
0.249
m: 0.559
Adart :0.482
0.541
0.297
m=0.484
Adart :0.482
0.623
0
m=0.356
Adart :0.356
0.532
0
m'=0.446
m=0.336
Adart :0.356
y
c)
Isolated scene + 2
upward directions
ARB1
xy
0.5
0.2
m=0.449
same
same
RB2
2
3
ARB2
z=24 : 10 dir Az=24 : 10 dir
0.567
0.324
m=0.483
same
0.522
0.075
m=0.310
0.528
0.320
m=0.484
same
0.476
0.078
m=0.316
same
same
same
0.5
0.2
0
same
0.512
0.156
m=0.356
0.477
0.170
m=0.359
same
same
Figure 328. DART albedo and ortho reflectance (3 viewing directions: nadir Ωvo , Ωv1 (θv=45°, φv=180°) and Ωv2
� p (θp=40°,φp=0°) + 2 plots). Direct sun Ω
� s (θs=40°,
(θv=45°, φv=0°) of a 40m x 40m scene (i.e., Ox parallel slope Ω
φs=45°). ∆x=∆z=1m, except for "Isolated scene" where ∆x=0.1m to decrease border effects. a) Scene nadir and
3D views. b) Scene vertical profile with 3 viewing directions. c) Schema that explains that ARB2
xy,z=24 is maximum
dart
in the scene central part. d) DART sensor images ρij,Ωv for Ωvo , Ωv1 , Ωv2 and Ωv3 (θv=45°,φv=90°), ortho-images
proj
RB1
RB2
ρxy,Ωv for Ωv1 and Ωv2 , and albedo images Aortho
xy , Axy and A xy .
223
3) Infinite homogeneous slope (ρp=1, θp=φp=30°): slope azimuth rotation is simulated with {
: -30°,
φp=0°}. θsun=40°, φsun=45°. SKYL=0. Viewing directions Ωvi of section 2). (Figure 306, simulation: Slope_rectangle_IS)
DART-Theory
Theory
< 10-3. ρISxy,Ωv =ρxy,Ωv =0 or ≈ ρp .
� p .Ω
�s
Ω
cosΘs
EC
EC
=1.271 ∀Ωv. ρEC
xy,Ωv ∈ [0 (if Ep=0) 5.4]. ρxy,Ωv1 =1.097, ρxy,Ωv2 =0.636,
EC
IS
RB,1
EC
IS
RB,2
ρEC
xy,Ωv3 =1.638. Ax,y =1.363 (theory: 1.369). Ax,y =1. Adart =Adart =Ax,y =Ax,y =1.185; it is > 1 because Ep > Ehorizontal surface.
 Slope + isotropic SKYL: ρ=ρp .[(1-SKYL).
� p .Ω
�s
Ω
cosΘs
Figure 329. Slope: reflectance and albedo
images. ρp=1, Ωslope(30°,30°). Ωsun(40°,45°).
+SKYL.
1+cosθp
2
DART 3D view
of the slope
], A=ρp [(1-SKYL).
a) Infinite slope: radiance-derived albedo.
b) Infinite slope: RB-derived albedo.
� p .Ω
�s
Ω
cosΘs
+SKYL.
1+cosθp
2
].
1+cosθp
2
ρ(41°,33°)
ρ(θv =0)
=1.2713
=1.2713
ARB2 =+Z exit(x,y)
=1.185
+Z exit = 1.185
AIS =1.185 AEC =1.363
ARB1 =1-
∑⬚
z Absorbed radiation(x,y)
st
∑⬚
𝒛𝒛 1 order intercepted radiation(x,y)
Tool "3D Radiative
Budget Extractor"
c) Repetitive scene.
Repetitive scene
Nadir: order 1
0.866
Figure 330. Albedo: infinite slope mode,
without air in the landscape.
Nadir: iterX
0.990
A, Aproj , ARB2
Irradiance Exitance
ρ(41°,33°) =1.237
AEC =0.8103
ARB1
Irradiance Exitance
Irradiance:
only direct sun / atmosphere
landscape + sun / atmosphere
mostly pure landscape
Exitance:
only landscape
exitance
Simulation of field measured albedo Afield. Apart ARB1
x,y , DART albedos (i.e., irradiance) are defined with the irradiance
of the horizontal top scene surface. The exitance is that of an horizontal surface for the "Repetitive scene", and for
ARB2
x,y . It is a variable horizontal surface for the "Isolated scene" and "Infinite slope". Therefore, an oblique surface,
Afield should be simulated with 2 fish eye cameras (option: "inside scene") with given sensor dimensions and
orientation: 1 camera gives local irradiance and 1 camera gives local exitance. (Wu et al., 2018, JGR-A). Less advised
Interception by face 1
RB-based method: Afield =
for a "double face" facet with sensor dimensions and orientation.
Interception by face 2
Figure 331. Simulation of in-situ measured
albedo Afield with cameras.
A, AIS and ARB2
ARB1
224
4) Lambertian slope (θp=40°,φp=0°, ρg=0.5) + Vegetation plot (LAI=0.5, h=0.2m, leaf
size 0.003m2, default leaf biochemistry). Atmosphere radiative transfer.
DART-Lux and FT (Infinite_slope_Vegetation_plot): 2 sun directions. ∆x=1m, Infinite slope.
Landsat band 7: 2.2µm
Landsat band 1: 0.44µm
- DART-FT: ∆illu=0.1m (it is too large). Ndir=100 and 400 directions: larger
Ndir ⇒ more accurate illumination, exitance. Niterations=10.
- DART-Lux: Nsamples per pixel=2000 and ∆t=60".
DART-FT: SKYL=0.4854
ρBOA,nadir,iterX
Adart,iterX
�IS
AiterX A
xy,iterX
θsun=70°, φsun=0°
θsun=70°, φsun=45°
DART-FT
DART-Lux
DART-FT
DART-Lux
Ndir=100 Ndir=400 Hybrid Pure MC Ndir=100 Ndir=400 Hybrid
0.6713 0.6654
0.5220 0.5204
0.500
0.500
0.394
0.393
0.421
0.420
0.333
0.332
-
ARB2
BOA,iterX 0.501
ρBOA,nadir,coupl 0.6484
Adart,coupl 0.483
�IS
0.409
A
DART-FT: SKYLcoupl=0.5187/0.519 Acoupl xy,coupl
ARB2
BOA,coupl 0.484
DART-Lux: SKYL=0.519/0.512
ρnadir,TOA 0.5547
TOA AdartTOA 0.4944
�ISxy,TOA 0.382
A
ρBOA,nadir,iterX 0.9262
Adart,iterX 0.728
DART-FT: SKYL=0.0248
�IS
0.550
AiterX A
xy,iterX
RB2
DART-Lux: SKYL=0.029
0.729
A
DART-Lux: SKYL=0.4855
0.499
0.6438 0.6398
0.484
0.409
-
-
0.395
0.5117
0.386
0.327
0.394
0.5109
0.386
0.327
0.5096
0.3850
-
0.483
-
0.387
0.386
-
0.553 0.5512 0.5571
0.4984 0.4953
0.384
0.9247 0.9168
0.733
0.552
-
0.4588
0.4336
0.3157
0.7072
0.569
0.427
0.4603
0.4368
0.3174
0.7064
0.571
0.427
0.4336
-
0.733
0.9241 0.9168
0.733
0.551
-
-
0.570
0.7069
0.569
0.427
0.571
0.7061
0.570
0.427
0.7065
0.5684
-
0.729
0.733
-
0.570
0.571
-
0.7748
0.5922
0.448
0.7328 0.7675 0.7527
0.5970 0.5931
0.450
0.5927
0.4628
0.3466
0.5925
0.4649
0.3473
0.4601
0.4628
-
BOA,iterX
DART-FT: SKYLcoupl=0.0257/0.0256
DART-Lux: SKYL=0.0.0258
ρBOA,nadir,coupl 0.9254
Adart,coupl 0.728
�IS
0.550
Acoupl A
xy,coupl
ARB2
BOA,coupl
ρnadir,TOA
TOA Adart
�ISxy,TOA
A
-
-
-
Table 90. DART-FT and DART-Lux albedo A and nadir reflectance ρ for a slope (ρground=0.5) with grass (LAI=0.5).
To reduce computer time: decrease Niterations (DART-FT) and Nsamples per pixel (DART-Lux).
DART-FT becomes more accurate and closer to DART-Lux if its illumination grid is denser.
225
Annex 3: AERONET and ECMWF data
This section informs how to get and import AERONET and ECMWF data for their use with DART.
I. AERONET (https://aeronet.gsfc.nasa.gov)
AERONET provides the aerosol optical depth (AOD), inversion products, and precipitable water, including daily
and monthly averages, derived from spectral observations (λ�/Δλ (nm): 340/2, 380/4, 440/10, 500/10, 675/10,
870/10, 937/10, 1020/10, 1640/25) in hundreds world sites. AOD is computed for three data quality levels: 1.0
(unscreened), 1.5 (cloud-screened), and 2.0 (cloud screened and quality-assured).
1) Download AERONET data
• AOD and Aerosol Inversion products: https://aeronet.gsfc.nasa.gov/cgi-bin/webtool_aod_v3
a) Section "AEROSOL OPTICAL DEPTH (V3)-SOLAR", left of the menu (Figure 332), click on "Download Tool"
b) Select the study site, choose the desired dates (take at least 1 month), check "Level 1.5"or "Level 2" in "Aerosol
Optical Depth (AOD) with Precipitable Water and Angstrom Parameter" and "Total Optical Depth based on
AOD Level*", then choose "All points", "Daily averages" or "Monthly averages" in "Data Format".
If available, data are downloaded as a .lev15 or .lev20 zipped file.
Figure 332. AERONET web site: AOD.
226
• SSA (single scatter albedo), ASY (asymmetry parameter): https://aeronet.gsfc.nasa.gov/cgi-bin/webtool_inv_v3
a) Section "AEROSOL INVERSIONS (V3)", left of the menu (Figure 333), click on "Download Tool".
b) Select the site, desired dates (at least 1 month), "Single Scattering Albedo" and/or " Asymmetry Factor ", then
a format for "Data Format".
If available, data are downloaded as a zipped file that stores a .ssa and an .asy file to extract.
Figure 333. AERONET web site: SSA and ASY.
227
2) Interpolation and adaptation of AERONET data to DART
The objective is to create a DART atmosphere database by interpolating / extrapolating the AERONET data (i.e.,
data at at least 4 wavelengths: 440 nm, 675 nm, 870 nm and 1020 nm) to data at any wavelength λ, for sea level.
These data are the AOD, gas optical depth (Rayleigh scattering, CO2, CH4, O3, H2O), SSA and asymmetry
parameter g of the phase function for at least). The gas and aerosol optical properties in the DART atmospheric
database are given at wavenumbers from 10 to 40015 cm-1 (i.e., wavelengths from 1000 to 0.25 µm), for the gas
and aerosol models defined in the MODTRAN model. In short, AERONET provides AODA,z’(λo) at altitude z’ and
wavelength λo, but we need AODA,z=0(λ). Below, A is the index for AERONET data and db for DART database.
• Asymmetry parameter: g
AERONET gives only 1 asymmetry parameter for the aerosol phase function. It is the "forward scattering"
parameter g1 of the DART atmospheric database (table aHG per aerosol model). Therefore, the "small" aerosol
back-scatter peak is neglected: g2=0, and multiplicative factor a=1. It results that the Phase module of DART
computes g1(λ) with a linear spectral interpolation on gA(440), gA(675), gA(870) and gA(1020) for λ ∈ [440
1020nm], with g1(λ) = gA(440) ∀λ < 440nm and g1(λ) = gA(1020) ∀λ > 1020nm, and {g2(λ)=0, a(λ)=1 ∀λ}.
• Aerosol optical depth: AOD
AODA,z is at 440nm, 675nm, 870nm, 1020nm, and possibly 1640nm and 340nm, at the site altitude z.
λ
- Spectral interpolation at site altitude z': AODz' (λ)= AODA,z' (λ0 ) . � 0 �
λ
βλ1 -λ2
with βλ1 -λ2 the Angström coefficient (the AERONET Angström coefficients are not used) computed with
AODA,z' (λ1 ) and AODA,z' (λ2 ) for λ ∈ [λ1 λ2 ]. For example, for the interval [440 675 nm], we have:
AODA,z' (675) = AODA,z' (440) . �
440 β440-675
675
�
⇒ β440-675 =
AOD(675)
)
AOD(440)
440
ln( )
675
ln (
It gives β440-675 , β675-870 , β870-1020 , and β340-440 and β1020-1640 if AODA,z' (1640) and AODA,z' (340) exist.
340 β
) 340-440
λ
440
AODA (440) . ( )β340-440
λ
If AODA(340) exists, and therefore β340-440 : - For λ ∈ [0 440 nm]: AODz' (λ) = AODA (340) . (
- For λ ∈ [440 675 nm]: AODz' (λ) =
440 β
) 440-675
λ
675
AODA (675) . ( )β675-870
λ
If AODA(340) does not exist: - For λ ∈ [0 675 nm]: AODz' (λ) = AODA (440) . (
- For λ ∈ [675 870nm]: AODz' (λ) =
1020 β
) 870-1020
λ
If AODA(1640) does not exist: - For λ > 870 nm: AODz' (λ) = AODA (1020) × (
870 β
) 870-1020
λ
1640 β
AODz' (λ) = AODA (1640) . ( ) 1020-1640
λ
If AODA(1640) exists, and therefore β1020-1640 : - For λ ∈ [870 1020nm]: AODz' (λ) = AODA (870) . (
- For λ > 1020nm:
- AOD spatial extrapolation to z=0km: AODA,0 = AODA,z' .
∞
∫0 N(z).dz
∞
∫z' N(z).dz
= AODA,z' .
N0,db
Nz' ,db
with N(z) the aerosol normalized vertical density profile (aECP table per aerosol model) for a finite number
of altitudes (z integer in km) in the DART database. N0,db=N(z=0km). Nz'=N(z') is usually computed with an
exponential law of scale factor Hi that links Ni at level i, to Ni+1 at level i + 1:
z -z
- i+1 i
Ni+1 = Ni . e
⇒ Hi = -
Hi
(zi+1 - zi )
N
ln i+1
Ni
Therefore, a-priori knowledge of scale factors not needed to compute Nz,db for z' between levels i and i+1:
(z'-zi )
i+1 - zi )
Ni+1,db
ln
Ni,db
- (z
-(z'-zi )
Hi
-
Nz' =Ni,db . e
= Ni,db . e
-(z'-zi )
= Ni,db . (
Ni+1,db zj -zi+1
)
Ni,db
Knowledge of Nz’,db leads to AODA,0 at any wavelength: AODA,0(λ) = AODA,z’(λ) .
N0,db
.
Nz
228
• Aerosol single scattering albedo: SSA
SSA is computed for wavelengths of DART database with a linear interpolation on SSAA values (440nm,
675nm, 870nm, 1020nm), and as a constant value outside the interval [440.1020 nm].
- λ < 440 nm: SSA(λ) = SSAA(440)
- λ ∈ [440 - 675nm]: linear interpolation between SSAA(440) and SSAA(675)
- λ ∈ [675 – 870nm]: linear interpolation between SSAA(675) and SSAA(870)
- λ ∈ [870 - 1020nm]: linear interpolation between SSAA(870) and SSAA(1020)
- λ > 1020 nm: SSA(λ) = SSAA(1020)
• O3 transmittance at z=0km: TO3 (λ)
TO3 (λ) is derived from AERONET ODO3 ,A,z' (675) using O3 normalized vertical profile NO3 ,z (table gECP).
If z'∈[i i+1], at z=0km and λ=675 nm: ODO3 ,A,0 (675) = ODO3 ,A,z' (675) .
AODO3 ,A,z' is assumed to be proportional to the total quantity of O3:
OD
with fO3(675) =
NO3 ,0
NO3 ,z'
with NO3 ,z' = NO3 ,i . (
NO3 ,i+1 NO3 ,i
)
z'- zi
zi - zi+1
(675)
ODO3 (λ) = ODO3 ,db (λ) . ODO3,A,0(675) = ODO3 ,db (λ) . fO3(675)
ODO3 ,A,0 (675)
ODO3 ,db (675)
O3,db
the relative O3 quantity in AERONET compared to DART database.
The equality ODO3 ,db (675) = -ln[TO3,db(675)] (table gTrans) leads to:
TO3 (λ) = e-ODO3 (λ) = e-ODO3,db (λ)×fO3 (675) = [TO3 ,db (λ)]fO3 (675)
- H2O transmittance at z=0km: TH2 O (λ)
Using ODH2O,A,z'(1020) measured over [1015 1025nm] and the height scale HH2O,db (cf. DART Handbook):
-
z'
ODH2O,A,0 (1020) = ODH2O,A,z'' (1020) . e HH2O,db
Due to its strong spectral variability, ODH2O is computed as: ODH2O(λ) = ODdb(λ) .
interval of ODH2O,db,i in the DART database (∑i δλi =1025-1015).
ODH2O,A,0 (1020) . ∑i δλi
∑i ODH2O,db,i . δλi
with δλi =
Using AODH2O,db,i=-ln[TH2O,db(λi)], we get:
TH2 O (λ)= e-ODH2O (λ) = e-ODH2O,db (λ).fH2O (1020) =[TH2 O,db (λ)]fH2O (1020) with fH O (1020)=
2
- Transmittance of scattering gasses at z=0km: Tg,scat,0 (λ)
ODH2O,A,0 (1020) . ∑i δλi
∑i ODH2O,db,i . δλi
The optical depth ODg,scat derived from ODg,scat,A,z' of scattering gasses at λo = 440nm, 675nm, 870nm and
1020nm and altitude z’, and the height factor Hg,db of scattering gasses (cf. DART Handbook) give 𝑻𝑻𝒈𝒈,𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔,𝟎𝟎 (𝝀𝝀):
-
z'
ODg,scat,A,0 (λo ) = ODg,scat,A,z' (λo ) . e Hg,db with ODg,scat,db(λo)=-ln[Tg,scat,db(λo)]
Tg,scat (λ)=e-AODscat (λ) =e-AODscat,db (λ).fscat (λo) =[Tg,scat,db (λ)]fscat (λo) with {fscat (λo )=
ODscat,A,0 (λo )
ODscat,db (λo )
; fscat(λo)=1 if Tscat,db(λo)=1}
- λ < 440 nm: Tg,scat(λ) = [Tg,scat,db(λ)]fscat (440)
- λ ∈ [440 675nm]: Tg,scat(λ) = [Tg,scat,db(λ)]fscat [𝟒𝟒𝟒𝟒𝟒𝟒,𝟔𝟔𝟔𝟔𝟔𝟔](𝛌𝛌)
- λ ∈ [675 870nm]: Tg,scat(λ) = [Tg,scat,db(λ)]fscat [𝟔𝟔𝟔𝟔𝟔𝟔,𝟖𝟖𝟖𝟖𝟖𝟖](𝛌𝛌)
- λ ∈ [870 1020nm]: Tg,scat(λ) = [Tg,scat,db(λ)]fscat [𝟖𝟖𝟖𝟖𝟖𝟖,𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏](𝛌𝛌)
- λ > 1020 nm: Tg,scat(λ) = [Tg,scat,db(λ)]fscat (1020)
with fscat[λ1,λ2](λ) the factor fscat linearly interpolated between fscat(λ1) and fscat(λ2) at λ.
- Absorbing gas transmittance (CO2, CH4, CO, N2O, O2, N2, HNO3, SO2, NO2, NO, NH3, other gases): Tg,abs(λ)
AERONET gives the optical thickness of CO2 and CH4. We assume that these gases vary like the scattering
gases in the gas model chosen in the DART database as CO2, CH4, CO, N2O, O2, N2, HNO3, SO2, NO2, NO,
NH3,.. are well mixed with the scattering gases. Therefore, we use the same factors as for the scattering gasses:
229
- λ < 440 nm: Tg,abs(λ) = [Tg,abs,db(λ)]fscat (440)
- λ ∈ [440 - 675nm]: Tg,abs(λ) = [Tg,abs,db(λ)]fscat [𝟒𝟒𝟒𝟒𝟒𝟒,𝟔𝟔𝟔𝟔𝟔𝟔](𝛌𝛌)
- λ ∈ [675 – 870nm]: Tg,abs(λ) = [Tg,abs,db(λ)]fscat [𝟔𝟔𝟔𝟔𝟔𝟔,𝟖𝟖𝟖𝟖𝟖𝟖](𝛌𝛌)
- λ ∈ [870 - 1020nm]: Tg(λ) = [Tg,abs,db(λ)]fscat [𝟖𝟖𝟖𝟖𝟖𝟖,𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏](𝛌𝛌)
- λ > 1020 nm: Tg(λ) = [Tg,abs (λ)]fscat (1020)
↑↓
- Upward - Downward transmittance for absorbing gases: Tgas
.
abs
It is approximated as a product of the above transmittance values:
↑↓
Tgas
≈ (TCO2 . TCH4 . TCO . TO3 . TH2O . TN2O . TO2 . TN2 . THNO3 . TSO2 . TNO2 . TNO . TNH3 . Tother gases)².
abs
II. ECMWF data
The ECMWF database stores climatological data at 3h time intervals in a day, on the whole globe (resolution 1.125°
x 1.125°). The data is in .grib or NetCDF format. Here, we consider the retrieval of:
- Atmospheric temperature profiles, given by atmospheric level: 60 atmospheric layers, up to 0.1hPa or about 35.6
km altitude (model level: temperature)
- Soil temperatures (surface: skin temperature)
1) Download the data on "Atmosphere Data Store" in the section "CAMS global reanalysis (EAC4)"
Web site: https://ads.atmosphere.copernicus.eu/cdsapp#!/dataset/cams-global-reanalysis-eac4?tab=form. An
account is needed to download ECMWF data.
Go to the "Download data" section, in Variable open the "Multi level" menu select "Temperature", then in
"Model level" select all, in "Date" choose the desired date, in "Time" choose the desired time where the interval
or time is, in "Area" choose "Restricted Area" and define the location with longitude and latitude, in "Format"
choose "NetCDF", accept the terms of use then press "Submit Form”.
2) Time Interpolation
ECMWF provides atmospheric and surface temperatures every 3 hours (from 0h to 21h). They can be linearly
interpolated at higher frequencies (for example every 0.5 h).
III. AERONET and ECMWF data to DART database
1) Aerosols-Gases.py
Usage: - To read AERONET and ECMWF atmosphere data.
- To create files of atmosphere data and to insert them into DART SQL atmosphere database.
• Open the python script runner, then enter script parameters:
-copy: add tables or copy database (use "yes" if you want to make a copy of the DART atmospheric database)
-f_i: input DART database file (between apostrophes). Example: '…\DART\database\dart_atmosphere.db'
-f_o output DART database (between apostrophes). Suffix .db if you copy. Ex.: '…\dart_atmosphere_NASA_KSC.db'.
-f_AOD: AERONET AOD file path (.lev20). Put the path of the file between 2 apostrophes ‘…‘.
-l_AOD: line corresponding to the desired date. Enter a number that corresponds to the chosen date line.
-m_a: aerosol model: DESERV76, FOGADV02, FOGRV05,MARITV23, RURALV23, RURALV5, URBANV5, TROPOV50
-n_aAOD: AOD table name (AOD + SSA). Enter it with suffix _aAOD. Ex.: NASA_KSC_MF_aAOD.
-f_SSA: AERONET SSA file path. Put the path of the file between apostrophes ‘…‘.
-l_SSA: line corresponding to the chosen date. Enter a number that corresponds to the chosen date line.
-f_ASY: AERONET ASY file path (Henyey Greenstein parameter) with file path between apostrophes ‘…‘.
-l_ASY: line corresponding to the desired date. Enter a number that corresponds to the chosen date line.
-n_aHg: HG (Henyey Greenstein) table name. Enter it with suffix _aHG. Ex.: NASA_KSC_MF_aHG. -f_gaz:
AERONET AOD file path (.tot_lev20). Put the path of the file between 2 apostrophes ‘…‘.
230
-m_g: choice of gas model: MIDLATSUM, MIDLATWIN, SUBARCSUM, SUBARCWIN, TROPICAL, USSTD76.
-n_gTRANS: TRANS table name (Transmittance). Enter the desired table name and end with “_gTRANS”.
-f_nc: ECMWF data file path (.nc). Put the path of the file between apostrophes ‘…‘. Ex.: 'D:\path\12h.nc'.
-f_txt: ECMWF file (.txt). Path and name of the extracted file between apostrophes. Ex.: 'D:\path\12h.txt'.
-h1: time (decimal hour such as 9.5; no hour and minutes) of 1st ECMWF data. Put 0 if there is no interpolation
-h0: time (decimal hour such as 9.5; no hour and minutes) between the 2 intervals. Ex.: 13,5 for 13H30.
-i: 'yes' for interpolation between 2 times if the chosen time is unavailable on ECMWF; else 'no' (no interpolation).
-n_gTEMP: TEMP table name. Enter the desired table name with suffix _gTEMP. Ex.: NASA_KSC_MF_gTEMP
Note: the file "DART\bin\python_script\AERONET_ECMWF\Input_parameters.txt" is an example of input
parameters for the site KSC (28.46376°N, 80.66348°W, z=1.2m) of NASA in Florida.
231
Figure 334. ECMWF web site.
.
232
Annex 4: Forest simulation with DART-Lux
Objective: to illustrate the use of DART-Lux to simulate images (here: nadir image) and BRF of forests, with a
comparison with DART-FT where leaf elements are simulated as turbid volumes and 0.01m2 facets.
Scene: 155m x 205m plot of Howland forest, USA. 45.2N, 68.73W. 2003/07/06, 11h. 0.45µm, 0.55µm, 0.65µm, 0.78µm;
∆λ=0.05µm. trees_Howland.txt: 750 aspen trees (type 0), 7239 hemlock trees (type 1). Optical properties:
aspen_low / aspen_low_bf for aspen leaf upper / bottom faces, hemlock_low for hemlock leaf, bark_howland for
trunks, sandy_loam_brown for ground. Spatial resolution: 0.5m.
a)
b)
Figure 335. Howland forest plot. DART-FT trees are simulated as turbid volumes (a) and 0.01m2 facets (b).
To optimize DART-Lux, trees must be clones of a limited number of basic 3D trees simulated with facets. Since, trees
of the same type in trees_Howland.txt are proportional, any tree of each tree type (i.e., aspen, hemlock) can be a
reference tree that can be used to create a basic 3D tree. Here, the larger tree of each tree type is the "reference": trunk
height below crown = 12.81m for aspen and 11.57m for hemlock.
Tree crowns are ellipsoids for aspen and cones for hemlock. The simulation Create_tree_ellipsoid creates a 3D object
(default name: dsm.obj) using a trees.txt file that stores the dimensions of the reference aspen tree with a location
(here: (5m, 5m)) in the center of a small square scene (here: 10m x 10m). This tree is also defined by the expected
LAD (here: spherical) and a plausible LAI (here: LAIinit=1). Here, the resulting 3D object ((i.e., tree_ellipsoid.obj)
contains 10018 triangles that make up the tree and ground scene facets. It is transformed into the basic tree_ellipsoid.obj
by manually adding a comment mark (//) at the start of the 2 lines ("f 1 2 3" and "f 4 5 6") that define the 2 triangles
of the ground scene. Similarly, the simulation Create_tree_cone creates a dsm.obj that is manually transformed as the
tree_cone.obj. Then, the file trees_Howland.txt is manually transformed into the file Field_3D_objects.txt that stores the
field (i.e., xyz location, scaling and rotation) of the two 3D objects (i.e., tree_ellipsoid.obj, tree_cone.obj); the scaling
values of the 2 reference trees are equal to 1.
Then, the maket module is run with the Howland scene and the optional product "Triangle area products" / "By type /
color", after having set a specific color name per group (i.e., trunk, leaves) of the two 3D objects. The file "input /
dart.typ" stores the code associated to each color name; here: 102 for aspen and 103 for hemlock. The file
simulation.properties.txt gives the area of scene elements per code (i.e., color name). Here, "Leaf (102) aspen area =
11434m2", which implies LAIaspen = 0.3598 instead of 0.4. Similarly, "Leaf (103) hemlock area = 115460m2", which
implies LAIaspen = 3.634 instead of 3.6. In order to get the correct aspen and hemlock LAI values, the two 3D objects
are xyz scaled: 0.4/0.3598 instead of 1 for aspen, and 3.6/3.634 instead of 1 for hemlock, which allows the maket
module to give the correct LAI values: LAIaspen=0.4 and LAIhemlock=3.6.
Figure 317 shows the evolution of DART-Lux scene reflectance ρscene as a function of time. After 30s, the relative
accuracy on ρscene is already better than 10-3. DART Lux and DART-FT do not give exactly the same ρscene. This is
due to the fact that DART Lux does not yet simulate leaves with different optical properties on its 2 faces.
Table 95 shows the DART-FT and DART-Lux RAM needs and computer times. As expected, DART-Lux is much
faster and needs much less RAM than DART-FT. The RAM demand increases very little if the 3D models are more
accurate (e.g., facets of 0.001m2 instead of 0.01m2).
233
0.78µm
0.45µm
Difference (%)
30s
60s
90s
120s
150s
180s
210s
240s
270s
300s
330s
0.45µm
5.90E-04 6.67E-04 -3.48E-05 -1.76E-04 -5.21E-04 -4.52E-04 -3.38E-04 -1.39E-04 -2.61E-05 1.15E-04
0
0.55µm
2.26E-04 4.68E-04 -2.81E-04 -2.66E-04 -5.12E-04 -3.83E-04 -2.81E-04 -1.16E-04 -1.46E-05 1.05E-04
0
0.65µm
1.00E-04 2.02E-04 -3.66E-04 -4.82E-04 -8.97E-04 -6.02E-04 -4.26E-04 -1.22E-04 -2.32E-05 1.30E-04
0
0.78µm
5.64E-04 9.80E-04 5.60E-05 1.70E-05 -1.35E-04 1.41E-06 -5.27E-06 -3.77E-06 6.46E-05 6.98E-05
0
Figure 336. DART-Lux scene reflectance with time, from 30s to 330s.
ρ�=0.03843
ρ�=0.03781
ρ�=0.0409
ρ�=0.04089
Figure 337. DART-FT: a) "turbid" and b) "0.01m2 triangles". DART-Lux: c) 30s (left) and d) 230s.
DART-FT: turbid
RAM
3.1Gb
∆t
19'
DART-FT: facet
34Gb (0.01m2 facets)
200'
Number: facets, cells
184339 non null cells
25558399 surfaces. Per cell: [30 2476]
Triangles.txt: 2.6Gb
maket: < 0.22Gb (0.01m2)
< 0.28Gb (0.001m2)
Camera position: (77.5, 102.5, 80000)
DART-Lux: facet
[1' 6']
Scene objects count: 35666, 74150,...?
dart: < 0.62Gb (0.01m2)
< 0.63Gb (0.001m2)
Table 91. RAM and computer time (∆t) requirements of DART-FT and DART-Lux. Howland forest.
234
Annex 5: Field of trees that are the clones of a DART created 3D (facet) tree
Approach: create the 3D tree 3D_tree.obj with Maket module, then the field of trees, then the scene.
�����𝐭𝐭𝐭𝐭𝐭𝐭𝐭𝐭 = 0.008
Target scene: 100m x 100m, LAIscene = 4, Ntrees = 500 ⇒ mean �������������
𝐋𝐋𝐋𝐋𝐋𝐋𝐋𝐋 𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐭𝐭𝐭𝐭𝐭𝐭𝐭𝐭 = 80m2 and 𝐋𝐋𝐋𝐋𝐋𝐋
Step 1: DART 3D tree creation (simulation "Create_3D_tree")
- Scene: horizontal bare ground scene with a tree (mean
dimensions, �������������
𝐋𝐋𝐋𝐋𝐋𝐋𝐋𝐋 𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐚𝐭𝐭𝐭𝐭𝐭𝐭𝐭𝐭 = 80m2) in its center. Here,
the scene size is 100 x 100m in order to be adapted to
any tree crown horizontal dimension, and the area of
the facets of the tree crown is 0.003m2 (smaller facet
area and larger the computer volume of the 3D tree).
- Run Maket (adapted to DART-FT, and soon DARTLux) after setting its only product "3D object". It gives
the 3D object "dsm.obj" that stores all facets of the tree
and the 2 facets of the ground.
- 3D_tree.obj: dms.obj whose you comment out the 2
ground faces (i.e., // f 1 2 3 and //f 4 5 6).
Resulting
facet-tree
Step 2: Creation of the field of trees "field_3D_trees.txt"
Any tool (e.g., TreeReport.txt of DART created trees) can give "field_3D_trees.txt". Here, Excel file
create_field_tree.xlsx is used with parameters for tree position (Ntrees, radius of tree presence) and dimensions. Note
the use of independent random numbers for tree dimensions with thresholds to avoid too large and too small trees.
Step 3: Scene creation (simulation 3D_scene)
100m x 100m scene with 500 trees using 3D_tree.obj and field_3D_trees.txt. Figure 319 shows results.
Here, in addition to the scene creation, the Maket module computes the area (Aleaf = 40744.2m2, Atrunk = 11167.8
m2, Aground = 10000 m2) per scene element. As expected, LAIscene ≈ 4. In order to get exactly 4, a DART python
code can scale the leaves; note that if xscale = yscale = zscale, LAI = LAIo x �𝐱𝐱 𝐬𝐬𝐬𝐬𝐬𝐬𝐬𝐬𝐬𝐬 .
Figure 338. DART 2D / 3D scene and RGB image. ρground: loam_gravelly_brown. ρleaf: rass_rye. ρbark: bark_deciduous.
235
Annex 6: Optimal domain of leaf variables to get leaf optical properties
The domain of PROSPECT/FLUSPECT input parameters should be defined using prior information on the correlation
between these parameters, and per parameter of interest. Feret et al. (2011) compute joint distribution, marginal
distribution and correlations using 700-1200 leaf samples (Nsamples depends on type of chemical constituent) from
various sources (ANGERS, LOPEX, A. Gitelson, A. Richardson, …). Figure 320 shows marginal distributions for
Chl, Car, EWT and LMA, and Figure 321 shows co-distributions, including the Leaf structure parameter N. Samples
are created by a multivariate normal random numbers function (e.g. ‘mvnrnd’ in Matlab) using the mean value of
each variable and the covariance matrices.
Figure 339. Marginal distribution for leaf chemical constituents.
Figure 340. Pairwise co-distribution of leaf chemical and structural constituents.
Leaf variables must verify PROSPECT constraints: leaf chemical constituent > 0, and leaf structure ∈ [0 3]
If the dataset is aimed to estimate a variable x, the distribution of x may be converted from normal to uniform. Then,
one gets a larger number of variable combinations, and one divides the range of variation of x into n equal intervals,
with a same number of samples selected from the initial dataset.
If canopy variables vary, these variables are generated using user’s distribution merged to the leaf variables. Example:
random selection of LAI using a uniform distribution, independent from leaf variables. However, correlations between
LAI and Chlorophyll content may be considered.
236
Annex 7: List of abbreviations
θsun: sun zenith angle (° or rd)
φsun: sun azimuth angle (° or rd)
ρx: reflectance of scene element x
τx: transmittance of scene element x
Ω: solid angle (sr)
ALA : Average Leaf Angle (° or rd)
BOA: Bottom of Atmosphere
BRF: Bi-directional reflectance factor
DART: Discrete Anisotropic Radiative Transfer
Es: sun irradiance (usually for a surface perpendicular to sun direction) (W/m2 or W/m2/µm)
EBOA: sun + atmosphere irradiance of an horizontal surface at BOA altitude (W/m2 or W/m2/µm)
ETOA: sun irradiance of an horizontal surface at TOA altitude (W/m2 or W/m2/µm)
Hot spot: configuration such that the sun is in the back of the sensor.
LAI: Leaf Area Index
ul: leaf volume density (m2 leaves / m3)
L: radiance (W/m2/sr or W/m2/sr/µm)
LAD: Leaf Angle Distribution
LUT: Look Up Table. It stores values in a table.
M: exitance (W/m2 or W/m2/µm)
Nadir image: image acquired at the vertical (i.e., view zenith angle is 0).
NDVI: Normalized Difference Vegetation Index
NIR: Near infrared
RT: radiative transfer
Simulation: set of input parameters that define a DART simulation.
SIF: Sun Induced chlorophyll Fluorescence
TIR: Thermal Infrared
TOA: Top of Atmosphere
UV: Ultraviolet
VIS: Visible
237
Download