% QARTS3 Defines setting fields for arts calculations % % The function defines all mandatory Qarts fields. Most fields are initiated % to {}, that indicates that no value has been specified. No data will be % transferred to arts for fields later not given a non-{} value. The % settings are converted to control files by *qarts3cfile*. % % This function is organised in such way that *qcheck* and *qinfo* can be % used. % % Allowed formats differ between the fields, see *qarts3.txt* found in % folder documentation/qarts. % % FORMAT [Q,I] = qarts3 % % OUT Q Setting structure (with all fields set to {}). % I Includes same fields as Q, where the content of each field % is a description string (used by *qinfo*). % 2020-08-19 Created by Patrick Eriksson. function [Q,I] = qarts3 %----------------------------------------------------------------------------- Q.ABSORPTION = {}; I.ABSORPTION = [ ... 'Description of how gas absorption shall be calculated/obtained. ',... 'Existing options are:', ... '# {} : Nothing is added, absorption assumed set in other ways.',... '# [] : Nothing is added, absorption assumed set in other ways.',... '# A series of workspace method calls. Format as for WSMS_AT_START.' ]; %----------------------------------------------------------------------------- Q.ATMOSPHERE_DIM = {}; I.ATMOSPHERE_DIM = [ ... 'Triggers to call AtmosphereSetXD, where X is the value of the field.' ]; %----------------------------------------------------------------------------- Q.CHECKS_DO = false; I.CHECKS_DO = [ ... 'Boolean to automatically insert *atmfields_checkedCalc* and most other ',... 'similar checks. Not included are: sensor_checkedCalc.' ]; %----------------------------------------------------------------------------- Q.GAS_SPECIES = {}; I.GAS_SPECIES = [ ... 'Specification of gas species tags. A struct array with the field:', ... '# ',... '# Tag group data, following *arts_tgs_cnvrt*.' ]; %----------------------------------------------------------------------------- Q.HSE = {}; I.HSE = [ ... 'Variables associated with hydrostatic equilibrium. A structure with the ',... 'sub-fields:',... '# ',... '# Flag to enforce hydrostatic equilibrium. If true, the WSV *z_field*',... 'is recalculated by *z_fieldFromHSE* (note that a "first guess" *z_field* ',... 'must be provided).',... '# ',... '#

Pressure for reference point. Matches the WSV *p_hse*.',... '# ',... '# Calculation accuracy. Matches the WSV *z_hse_accuracy*.',... '# ',... '#If the field is unset, no action is taken. This equals to set Q.HSE.ON ',... 'to false. Note the setting Q.T.HSE which controls the calculation of t-',... 'jacobians. The two settings are treated as independent, but should ',... 'be set to the same value (true/false), otherwise inconsistencies will ',... 'be introduced.' ]; %----------------------------------------------------------------------------- Q.INCLUDES = {}; I.INCLUDES = [ ... 'Paths to control files to be included. These files will be included ',... 'at the top of the control file.',... '# The atmlab setting ARTS_INCLUDES is recognised. To include the ',... 'standard arts general definition file, select:',... '{''ARTS_INCLUDES/general.arts''}' ]; %----------------------------------------------------------------------------- Q.INPUT_FILE_FORMAT = 'binary'; I.INPUT_FILE_FORMAT = [ ... 'The file format for arts input files. That is, the format of the files ',... 'created in Matlab to be read by arts. Possible options are ''binary'', '... 'and ''double''. The binary option, that is default, should be most '... 'efficient. Use ''double'' if you want to visually inspect the files ',... 'generated. (The option ''float'' is not allowed, as this is not always '... 'sufficient for frequency data.)' ]; %----------------------------------------------------------------------------- Q.J = {}; I.J = [ ... 'Description of Jacobian or retrievals quantities. ',... 'Existing options are:', ... '# {} : Nothing is added, Jacobian assumed set in other ways.',... '# [] : Is taken as no Jacobian shall be calculated. Workspace method calls ',... 'for this is automatically added.',... '# A series of workspace method calls. Format as for WSMS_AT_START.' ]; %----------------------------------------------------------------------------- Q.PARTICLES = {}; I.PARTICLES = [ ... 'Description of how particle properties. ',... 'Existing options are:', ... '# {} : Nothing is added, the properties assumed set in other ways.',... '# [] : Is taken as no particles shall be used. Workspace method calls ',... 'for this is automatically added.',... '# A series of workspace method calls. Format as for WSMS_AT_START.' ]; %----------------------------------------------------------------------------- Q.RAW_ATMOSPHERE = {}; I.RAW_ATMOSPHERE = [ ... 'If set, a "raw atmosphere" is read. This is the main file name for the ',... 'raw atmosphere. See further ''arts -d AtmRawRead''.',... '#Data in the fields T, Z and ABS_SOECIES.ATMDATA are included at a later ',... 'stage and will then overwrite the data from the raw atmosphere. This ',... 'gives thus some flexibility to mix data from different sources.' ]; %----------------------------------------------------------------------------- Q.RAW_ATM_EXPAND_1D = {}; I.RAW_ATM_EXPAND_1D = [ ... 'Boolean to expand an 1D raw atmosphere to set dimensionality. If set to ',... '1, the WSM *AtmFieldsCalcExpand1D* is used instead of *AtmFieldsCalc*.',... 'This variable is only used if RAW_ATMOSPHERE is set.' ]; %----------------------------------------------------------------------------- Q.SENSOR = {}; I.SENSOR = [ ... 'Description of how absorption shall be calculated/obtained. ',... 'Existing options are:', ... '# {} : Nothing is added, sensor assumed set in other ways.',... '# [] : Is taken as no sensor shall be included. Workspace method calls ',... 'for this is automatically added.',... '# A series of workspace method calls. Format as for WSMS_AT_START.' ]; %----------------------------------------------------------------------------- Q.WSMS_AT_HALFWAY = {}; I.WSMS_AT_HALFWAY = [ ... 'Workspace method calls to include at approximately halfway. ',... 'Format as for WSMS_AT_START.' ]; %----------------------------------------------------------------------------- Q.WSMS_AT_END = {}; I.WSMS_AT_END = [ ... 'Workspace method calls to include at the end of the control file. ',... 'Format as for WSMS_AT_START.' ]; %----------------------------------------------------------------------------- Q.WSMS_AT_START = {}; I.WSMS_AT_START = [ ... 'Workspace method calls to include at the top of the control file. These ',... 'calls are only preceded by possible settings set by INCLUDES.',... '# Method calls are specified as an cell array of strings. For example, if ',... 'no inclusion files are used, these calls could be useful to include',... '# { ''VectorSet(abs_n2,[0.7808])'', ''abs_cont_descriptionInit'' }' ]; %----------------------------------------------------------------------------- Q.Z_SURFACE = {}; I.Z_SURFACE = [ ... 'As the arts WSV with the same name but included in teh control file at a ', ... 'later stage. Allowed formats follow standard WSVs.' ]; %-----------------------------------------------------------------------------