functionals.conf

Variable Name and AliasesDefault ValueArguments, 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_nwF0no divide functionals by F0?
b_use_precisionno use precision of functionals for determining number of trajectories
b_output_polarized_quantities|b_polarization|b_pq_outputno output of polarized quantities?
precision|functional_precision0.010000 relative precision in (0,1] of the functionals
b_precision_major_limit|b_pmlno shall all relative functional precisions be smaller then precision?
precision_check_count|pcc1000 precision check intervall
constituents_list|clnone list of constituents to calculate Jacobians for
path_integrals|pinone list of considered path integrals
b_correct_for_optical_factors|b_cfofno e.g. for gases: calculate dI/dn instead of dI/dbeta (beta=absorption coefficient)?
b_calculate_Hessian|b_Hessianno calculate Hesse matrix?
b_event_counts|b_ecno count effective number of events?
b_eliminate_absorption|b_eano remove absorption structures by importance sampling?
b_suppress_Hessian_output|b_no_Hessian_outputno suppress output of Hessian elements?
b_suppress_Jacobian_output|b_no_Jacobian_outputno suppress output of Jacobian elements?
b_create_sensitivity_grid_fileno create (binary) sensitivity grid file?
fn_sensitivity_grid_file|fn_sgffile binary sensitivity grid file
b_create_LEC_histogram|b_LEC_histogramno create local estimate contribution (LEC) histogram?
no_LEC_bins|LEC_bins100 number of local estimate histogram bins
minimum_LEC|LEC_min|LECA0.000000 minimum LEC considered in the LEC histogram
maximum_LEC|LEC_max|LECB3.141593 maximum LEC considered in the LEC histogram
download functionals.conf

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

L[TAB]eL

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

J(G2), J(G3), J(P1), J(P2)

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:
name, N, J1, eJ1, J2, eJ2, ..., JN, eJN

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:

N, H11, ..., H1N, H21,...,H2N, ... ,HN1,...,HNN

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