functionals.conf
Variable Name and Aliases | Default Value | Arguments, Unit, Description |
---|---|---|
functionals.conf | ||
dir_base|dir_base_directory | base directory in which all subordinated files can be found | |
output_format | %.3lg | output format in printf style for doubles e.g. "%.3le" or "%.4lf" |
b_normalize_with_F0|b_nF0|b_nwF0 | no | divide functionals by F0? |
b_use_precision | no | use precision of functionals for determining number of trajectories |
b_output_polarized_quantities|b_polarization|b_pq_output | no | output of polarized quantities? |
precision|functional_precision | 0.010000 | relative precision in (0,1] of the functionals |
b_precision_major_limit|b_pml | no | shall all relative functional precisions be smaller then precision? |
precision_check_count|pcc | 1000 | precision check intervall |
constituents_list|cl | none | list of constituents to calculate Jacobians for |
path_integrals|pi | none | list of considered path integrals |
b_correct_for_optical_factors|b_cfof | no | e.g. for gases: calculate dI/dn instead of dI/dbeta (beta=absorption coefficient)? |
b_calculate_Hessian|b_Hessian | no | calculate Hesse matrix? |
b_event_counts|b_ec | no | count effective number of events? |
b_eliminate_absorption|b_ea | no | remove absorption structures by importance sampling? |
b_suppress_Hessian_output|b_no_Hessian_output | no | suppress output of Hessian elements? |
b_suppress_Jacobian_output|b_no_Jacobian_output | no | suppress output of Jacobian elements? |
b_create_sensitivity_grid_file | no | create (binary) sensitivity grid file? |
fn_sensitivity_grid_file|fn_sgf | file | binary sensitivity grid file |
b_create_LEC_histogram|b_LEC_histogram | no | create local estimate contribution (LEC) histogram? |
no_LEC_bins|LEC_bins | 100 | number of local estimate histogram bins |
minimum_LEC|LEC_min|LECA | 0.000000 | minimum LEC considered in the LEC histogram |
maximum_LEC|LEC_max|LECB | 3.141593 | maximum LEC considered in the LEC histogram |
Radiances
By default (empty functionals.conf
file) McArtim calculates absolute radiances L (dep. on the
solar_irradiance.txt file that is supplied). The output will be
where eL is the error of the radiance L. To abbreviate the notation in the following text, a comma (,) is used instead of [TAB] and eX will denote the (MC noise) error of the quantity X.
Radiance Derivatives
When defining the "constituents" variable, 1st derivatives of the radiance dL/dx are calculated, where x is a property
related to the respective entry in the constituents fn_cluster_data
file. The output of these derivatives
follows the output of radiances.
Three configuration settings are relevant: 1.) the order of gases in the atmosphere.conf
file line gases=...
, 2.) the order of particles in the particle=...
line and 3.) in
functionals.conf
the line constituents=
listing the gases or particles for which
functionals shall be calculated.
In the following suppose the gases line is gases=G1,G2,G3
, the particle line
is particles=P1,P2
and the constituents line in functionals is constituents=P2,G3,P1,G2
.
The structure of the Jacobian output is then
i.e. the order in the output follows the principles 1.) gases before particles and 2.) amongst the constituents: same order as prescribed in
atmosphere.conf
. This convention applies to the Hessian output format too.
The detailed output or each constituent C (i.e. a detailed format of J(C) in the description above) is clusterwise:
preceeded by the name of the constituent and the number of derivatives N which is the number of clusters of the respective constituent. The indices correspond to clusters.
Radiance Hesse Matrix
If the b_calculate_Hessian
flag is enabled, the Hesse matrix H is output row-by-row:
preceeded by the number N of rows/columns of H. The output format is the same as for radiance derivatives (see above) except that the name and the number of clusters N is omitted.
Derivatives of Light Path Integrals
For some inversion methods it is desired to have Jacobians of light path integrals such as the the derivatives of the slant column density of the oxygen dimer O4 with respect to aerosol optical properties. This document shows how to calculate these quantities using the radiances, Jacobians and the Hess matrix. Currently Hesse matrix elements containing 2nd derivatives of light path integrals are not output by the program and it is currently unlikely that it will be the case in future.
Accuracy Control and Output Format
The output_format
variable can be defined according to the format argument of the
standard C function printf. If the b_use_precision
flag is turned on, the
program will ignore the no_quadrature_trajectories
in raytracer.conf
and will continue sampling trajectories until a certain accuracy criterium with a parameter
precision
is met. If b_precision_major_limit
is set, than
precision
will be the upper limit of the functional precision (slow but precise), else
precision
will be taken as the lower limit (faster). The program checks
(this is a time consuming process in case that a large number of functionals shall be calculated)
in intervalls of precision_check_count
sample trajectories, whether the accuracy
criterium has been met. On typical linux and on windows shells, the output of the functional
calculation can be "piped" into a file using the following command line:
McArtim simulation.conf > result.txt