% QARTS Defines setting fields for ARTS calculations % % The function provides default values for all recognised fields and a % description of each field. Default value is normally NaN, but % exceptions exist when some standard choice exists. To list default % values just type 'qarts'. % % This function is organised in such way that *qcheck* and *qinfo* % can be used. % % FORMAT [Q,I] = qarts % % OUT Q Setting structure with default values for all recognised fields. % I Includes same fields as Q, where the content of each field % is a description string (used by *qinfo*). % 2004-09-07 Created by Patrick Eriksson. function [Q,I] = qarts %----------------------------------------------------------------------------- Q.ABS_LOOKUP = NaN; I.ABS_LOOKUP = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.ABS_SPECIES = []; I.ABS_SPECIES = [ ... 'Specification of gas species tag groups.', ... '# Atmlab format for tag groups is specified in * arts_tgs_cnvrt*. ',... 'This field and J.ABS_SPECIES are most easily set by *q_gas_species*.' ]; %----------------------------------------------------------------------------- Q.ANTENNA_DIM = 1; I.ANTENNA_DIM = [ ... 'As the ARTS WSV with the same name.', ... '# This field can be ignred, depending on setting of SENSOR_RESPONSE.' ]; %----------------------------------------------------------------------------- Q.ATMOSPHERE_DIM = NaN; I.ATMOSPHERE_DIM = [ ... 'As the ARTS WSV with the same name.' ]; %----------------------------------------------------------------------------- Q.BATCH = NaN; I.BATCH = [ ... 'Batch calculations.',... '# Ignored if set to NaN or 0.',... '# Otherwise a structure is expected. The structure is described in ',... '*qarts_batch*. Type ''qinfo(@qarts_batch);'' for ',... 'further information.' ]; %----------------------------------------------------------------------------- Q.CLOUDBOX = NaN; I.CLOUDBOX = [ ... 'Handling of cloudbox/scattering.',... '# If field set to NaN or 0, the cloudbox is not activated and thus ',... 'no scattering calculations will be performed.',... '# Otherwise a structure is expected. The structure is described in ',... '*qarts_cloudbox*. Type ''qinfo(@qarts_cloudbox);'' for ',... 'further information.' ]; %----------------------------------------------------------------------------- Q.EMISSION_AGENDA = {'emissionPlanck{}'}; I.EMISSION_AGENDA = [ ... 'As the ARTS WSV with the same name.', ... ' WSMs are listed as an array of strings, with possible arguments.', ... '# Default matches standard LTE emission calculation.' ]; %----------------------------------------------------------------------------- Q.F_GRID = NaN; I.F_GRID = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.IY_SPACE_AGENDA = { 'Ignore(rte_los){}', 'Ignore(rte_pos){}', ... 'MatrixCBR(iy,f_grid){}' }; I.IY_SPACE_AGENDA = [ ... 'As the ARTS WSV with the same name.', ... ' WSMs are listed as an array of strings, with possible arguments.', ... ' See PPATH_STEP_AGENDA for a practical example on format to use.', ... '# Defualt is corresponds to cosmic background radiation.' ]; %----------------------------------------------------------------------------- Q.J = NaN; I.J = [ ... 'Definition of jacobians to calculate.',... '# No jacobian calculations if set to NaN or 0. Otherwise this must be ',... 'a struct matching definition in *qarts_jacobian* or correspond to the ',... 'ARTS WSV *jacobian_quantities*. In the fist case, type ',... '''qinfo(@qarts_jacobian);'' for further information. In the later case,',... 'a file name or a variable are accepted.' ]; %----------------------------------------------------------------------------- Q.LAT_GRID = NaN; I.LAT_GRID = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.LON_GRID = NaN; I.LON_GRID = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.MBLOCK_AA_GRID = NaN; I.MBLOCK_AA_GRID = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# This field can be ignored, depending on setting of SENSOR_RESPONSE.',... '# If the antenna dimension is 1, this variable can be left as NaN.', ... ' For 2D antennas it has to be set even if the sensor does not include an', ... ' antenna.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.MBLOCK_ZA_GRID = NaN; I.MBLOCK_ZA_GRID = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# This field can be ignored, depending on setting of SENSOR_RESPONSE.',... '# This has to be set even if the sensor does not include an antenna.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.OPT_PROP_GAS_AGENDA = { 'ext_matAddGas{}', 'abs_vecAddGas{}' }; I.OPT_PROP_GAS_AGENDA = [ ... 'List of WSMs to include in agenda *opt_prop_gas_agenda*.', ... ' WSMs are listed as an array of strings, with possible arguments.', ... ' The WSMs ext_matInit and abs_vecInit are automatically included as first',... ' WSMs. Default setting is:',... '# {''ext_matAddGas{}'',''abs_vecAddGas{}''}' ]; %----------------------------------------------------------------------------- Q.PPATH_STEP_AGENDA = NaN; I.PPATH_STEP_AGENDA = [ ... 'As the ARTS WSV with the same name.', ... ' WSMs are listed as an array of strings, with possible arguments.', ... ' An example showing how an agenda definition looks like:', ... '# Q.PPATH_STEP_AGENDA={''ppath_stepGeometric{10e3}''}' ]; %----------------------------------------------------------------------------- Q.PRE_RTE_WSMS = NaN; I.PRE_RTE_WSMS = [ ... 'Workspace method calls to include just before execution of *RteCalc*.', ... ' Method calls are specified as an cell array of strings, as for agendas.', ... ' This field can be used to include method calls connected to an agenda,',... ' but more efficient calculations are obtained if the method call is', ... ' outside the agenda. An example:',... '# Q.IY_SPACE_AGENDA = { ''Copy(iy,i_space){}'' };',... '# Q.PRE_RTE_WSMS = { ''MatrixCBR(i_space,f_grid){}'' };',... '#If field equals NaN, no methods are included' ]; %----------------------------------------------------------------------------- Q.P_GRID = NaN; I.P_GRID = [ ... 'Has the same functionality as the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.R_GEOID = constants( 'EARTH_RADIUS' ); I.R_GEOID = [ ... 'Geoid radius. A spherical geoid will be assumed if the field value is a',... ' a scalar. Otherwise it is assumed that the field holds a matrix of', ... ' correct size. Note that *wgs84* is part of Atmlab and can be used to set',... ' the field value (e.g. Q.R_GEOID=wgs84(2.Q.LAT_GRID);).' ]; %----------------------------------------------------------------------------- Q.RAW_ATMOSPHERE = NaN; I.RAW_ATMOSPHERE = [ ... 'Main file name for a raw atmosphere. See further ''arts -d AtmRawRead''.',... ' This variable is only used if USE_RAW_ATMOSPHERE = 1.' ]; %----------------------------------------------------------------------------- Q.RAW_ATM_EXPAND_1D = 0; I.RAW_ATM_EXPAND_1D = [ ... 'Boolean to expand an 1D raw atmosphere to set ATMOSPHERE_DIM. If set to ',... ' 1, the WSM *AtmFieldsCalcExpand1D* is used instead of *AtmFieldsCalc*.',... ' This variable is only used if USE_RAW_ATMOSPHERE = 1.' ]; %----------------------------------------------------------------------------- Q.REFR_INDEX_AGENDA = NaN; I.REFR_INDEX_AGENDA = [ ... 'As the ARTS WSV with the same name.', ... ' If PPATH_STEP_AGENDA does not involve refraction, this field can be', ... ' left as NaN.',... '# WSMs are listed as an array of strings, with possible arguments.', ... ' See PPATH_STEP_AGENDA for a practical example on format to use.' ]; %----------------------------------------------------------------------------- Q.RTE_AGENDA = {'RteStd{}'}; I.RTE_AGENDA = [ ... 'As the ARTS WSV with the same name.', ... ' WSMs are listed as an array of strings, with possible arguments.', ... '# Default matches standard RTE calculation.' ]; %----------------------------------------------------------------------------- Q.SENSOR_LOS = NaN; I.SENSOR_LOS = [ ... 'As the ARTS WSV with the same name.' ]; %----------------------------------------------------------------------------- Q.SENSOR_POS = NaN; I.SENSOR_POS = [ ... 'As the ARTS WSV with the same name.' ]; %----------------------------------------------------------------------------- Q.SENSOR_RESPONSE = NaN; I.SENSOR_RESPONSE = [ ... 'As the ARTS WSV with the same name.', ... '#1: No sensor is included if set to NaN or 0.',... '#2: If the sensor response matrix shall be calculated from basic', ... ' characteristics, the field can either be a string cell array with WSM', ... ' calls that can be directly passed to qtool or a Qarts sensor structure,',... ' as defined in *qarts_sensor*. Other fields that must/may be specified',... ' here include ANTENNA_DIM and MBLOCK_ZA/AA_GRID.',... '#3: The last option is to specify each variable associated with the',... ' sensor individually. This field can then be the name of a XML file or',... ' a Matlab sparse matrix. Other fields that must be specified for this',... ' option include: ANTENNA_DIM, MBLOCK_ZA/AA_GRID and',... ' SENSOR_RESPONSE_F/ZA/AA/POL.' ]; %----------------------------------------------------------------------------- Q.SENSOR_RESPONSE_AA = NaN; I.SENSOR_RESPONSE_AA = [ ... 'As the ARTS WSV with the same name.', ... '# This field can be ignored, depending on setting of SENSOR_RESPONSE.',... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.SENSOR_RESPONSE_F = NaN; I.SENSOR_RESPONSE_F = [ ... 'As the ARTS WSV with the same name.', ... '# This field can be ignored, depending on setting of SENSOR_RESPONSE.',... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.SENSOR_RESPONSE_POL = NaN; I.SENSOR_RESPONSE_POL = [ ... 'As the ARTS WSV with the same name.', ... '# This field can be ignored, depending on setting of SENSOR_RESPONSE.',... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.SENSOR_RESPONSE_ZA = NaN; I.SENSOR_RESPONSE_ZA = [ ... 'As the ARTS WSV with the same name.', ... '# This field can be ignored, depending on setting of SENSOR_RESPONSE.',... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.STOKES_DIM = NaN; I.STOKES_DIM = [ ... 'As the ARTS WSV with the same name.' ]; %----------------------------------------------------------------------------- Q.SURFACE_PROP_AGENDA = { ... 'InterpAtmFieldToRteGps(surface_skin_t,t_field){}', ... 'Ignore(rte_los){}', 'surfaceBlackbody{}' }; I.SURFACE_PROP_AGENDA = [ ... 'As the ARTS WSV with the same name.', ... ' WSMs are listed as an array of strings, with possible arguments.', ... ' See PPATH_STEP_AGENDA for a practical example on format to use.' ]; %----------------------------------------------------------------------------- Q.T_FIELD = NaN; I.T_FIELD = [ ... 'As the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.USE_RAW_ATMOSPHERE = NaN; I.USE_RAW_ATMOSPHERE = [ ... 'Boolean to decide if T_FIELD, Z_FIELD and VMR_FIELD shall be used', ... ' (option 0) or RAW_ATMOSPHERE (option 1).' ]; %----------------------------------------------------------------------------- Q.VMR_FIELD = NaN; I.VMR_FIELD = [ ... 'As the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.Y_UNIT = 'RJ'; I.Y_UNIT = [ ... 'Radiance unit. The following options are supported:', ... '# ''1'' : Basic radiances [W/m2/Hz/sr]',... '# ''RJ'' : Conversion to brightness temperature by Rayleigh-Jeans.',... '# ''Planck'' : Conversion to brightness temperature by Planck.' ]; %----------------------------------------------------------------------------- Q.Z_FIELD = NaN; I.Z_FIELD = [ ... 'As the ARTS WSV with the same name.', ... '# Can be given either as the name of a XML file, or as a Matlab',... ' variable.' ]; %----------------------------------------------------------------------------- Q.Z_SURFACE = NaN; I.Z_SURFACE = [ ... 'Surface altitude (above geoid). A constant altitude will be assumed if',... ' the field value is a scalar. Otherwise it is assumed that the field',... ' holds a matrix of correct size.' ]; %-----------------------------------------------------------------------------