The Aspen configuration is stored in XML format. There are two files: aspen.xml and aspen.dtd. aspen.xml contains the actual configuration values, while aspen.dtd defines the syntax of the aspen.xml file.

XML elements are delineated by start and end tags, and are nested to create a hierarchical data structure. aspen.xml observes the following structure:

<aspenConfig>
<active>dropsonde</active>
<set name="sample">
    <option name="ReportObservedPos" type="bool">
        <current>false</current>
        <default>false</default>
    </option>
    .
    .
    .
    <option immediate="true" name="CallSign" type="string">
      <current>CALL</current>
      <default>CALL</default>
    </option>
    <option immediate="true" name="IcaoIndex" type="numeric">
        <current>1.000000</current>
        <default>1</default>
    </option>
</set>
<set name="dropsonde">
.
.
.
</set>
</aspenConfig>

Thus, the Aspen configuration contains one entry (<active>), designating which named configuration set is active, followed by one or more named configuration sets (<set>). Each configuration set contains a list of configuration options (<option>), with the current and default values for each option. Each option has a designated type:

  • bool – boolean, with a value of either true or false.
  • numeric – A floating point numeric value.
  • string – A text string.

An option may also be marked with immediate=true to effect an immediate save of the option when it is changed. It is useful for some options to be saved immediately after they are changed, before closing the sounding in Aspen, so that when the next sounding is analyzed, it will immediately use the new version of the option. For instance, if the dropsonde operator on the Hurricane Hunter aircraft opens a sounding, and then changes the ICAO value for the TEMP message, it is likely that all soundings opened during the same run of Aspen should use this value for the ICAO string. An immediate save allows the configuration to be updated, without having to close that sounding.

The case of the configuration item name is critical. It must be matched exactly as shown.

QC algorithm parameters

WindSmoothWL int
WindQCWL int
WindDynCor bool
WindDynCorWL int
WindBuddySlope double
WindQCDev double
WindDisableQCFilter bool
WindOutlier double
WindDisableOutlierCheck bool
WindSats int
WindDisableSatsCheck bool
WindErrorHigh double
WindErrorLow double
WindDisableErrorCheck bool
WindVVdelta double
WindVVPresWL int
BlendLength int
WindEquilTime double
WindDisableW bool
PresSmoothWL int
PresQCWL int
PresBuddySlope double
PresQCDev double
PresOutlier double
PresDisableOutlierCheck bool
PresOffset double
PresMonoCheck bool
TdryQCWL int
TdryDynCor bool
TdryDynCorWL int
TdryQCDev double
TdryOutlier double
TdryDisableOutlierCheck bool
TdryOffset double
TdryBuddySlope double
TdrySmoothWL int
RHSmoothWL int
RHQCWL int
RHBuddySlope double
RHQCDev double
RHOutlier double
RHDisableOutlierCheck bool
RHOffset double
RHThreshold bool
GPSPosBuddySlope double
GPSPosQCWL int
GPSPosQCDev double
GPSAltBuddySlope double
GPSAltQCWL int
GPSAltQCDev double

Processing parameters

DiscardBadCrcData bool
ReportObservedPos bool
DoQC int
descendingGAUS bool
ChuteArea double
UseTheoryVentRate bool
DragCoef double
DropSondeMass double
CabinTemp double
PosInterpSpan double
AltInterpSpan double
RHchoice int
QCDisclaimer string

Sonde metadata parameters

Agency string
AircraftType string
AircraftId string
Project string
Flight string
DatasetDOI string

Levels generation parameters

DoLevels bool
TdryLevelDelta double
RHLevelDelta double
WspdLevelDelta double
Wspd850LevelDelta double
WdirLevelDelta double
TropSmoothWL double

WMO message generation parameters

DoWMO bool
CallSign string
BSN string
TempMsgType int
TempAppendNNNN bool
ExcludeAbrHdr bool
UpsondeAbrHdr string
UpsondeICAO string
TempEmailAddress string
BufrOrigCenter int
BufrAddAbrHdr bool
BufrAbrHdr string
BufrOrigCenterICAO string
ACagency string
MissionStorm string
MissionId string
IcaoIndex int
AbrHdrOvr string
AtcfId string
OptIcao string
ResampleBufr bool

WMO message sending parameters

DisableKermit bool
KermitPath string
BaudRateIndex int
CommPortIndex int

User setup parameters

DataDir string
WmoSaveDir string
QCSaveDir string
RawSaveDir string
XYPlotSaveDir string
SkewTPlotSaveDir string
FixedSrcEnabled bool
FixedSrcDir string
QcDiagFile bool
GeoDBPath string
SoundingDBPath string
SynopticMapTitle string
OpenFileSeleFilter string
AutoFile bool
OpenMaximized bool

Visual parameters

PlotPixelsX int
PlotPixelsY int
NumberSkewTWinds int
SkewTtmin double
SkewTtmax double
SkewTpmin double
SkewTpmax double
TextSizePt int
FontFamily string
xyGraphPresAuto bool
xyGraphPresMin double
xyGraphPresMax double
xyGraphAltAuto bool
xyGraphAltMin double
xyGraphAltMax double
xyGraphTdryAuto bool
xyGraphTdryMin double
xyGraphTdryMax double
xyGraphRHAuto bool
xyGraphRHMin double
xyGraphRHMax double
xyGraphWspdAuto bool
xyGraphWspdMin double
xyGraphWspdMax double
xyGraphWdirAuto bool
xyGraphWdirMin double
xyGraphWdirMax double
xyGraphDzDtAuto bool
xyGraphDzDtMin double
xyGraphDzDtMax double
xyGraphLatAuto bool
xyGraphLatMin double
xyGraphLatMax double
xyGraphLonAuto bool
xyGraphLonMin double
xyGraphLonMax double

Autosave parameters

QCAutoSaveEnable bool
QCAutoSaveDir string
QCAutoSaveFmtEol bool
QCAutoSaveFmtFrd bool
QCAutoSaveFmtCls bool
QCAutoSaveFmtNc bool
QCAutoSaveFmtCsv bool
QCAutoSaveFmtBufr bool
SkewtAutoSaveFmtPng bool
SkewtAutoSaveFmtJpg bool
SkewtAutoSaveFmtSvg bool
WmoAutoSaveFmtTxt bool
WmoAutoSaveFmtCsv bool
SumAutoSaveFmtTxt bool

BatchAspen parameters

BatchSaveDir string
BatchSaveRawCLS bool
BatchSaveQCCLS bool
BatchSaveRawEOL bool
BatchSaveQCEOL bool
BatchSaveQCFRD bool
BatchSaveQCBUFR bool
BatchSaveRawCDF bool
BatchSaveQCCDF bool
BatchSaveRawCSV bool
BatchSaveQCCSV bool
BatchSaveWMO bool
BatchSaveSkewTSvg bool
BatchSaveSkewTPng bool
BatchSaveLevels bool

Per-sounding parameters

Some processing adjustments make sense to apply to a single sonde, but not to set as the default for processing all sondes. Examples of this include overriding end-of-drop time or indicating that the sonde did not hit surface. These items are by default not saved in the aspen.xml configuration file, but are part of the configuration set while Aspen is running. These parameters can be changed in Aspen via the Main tab or the Tools menu, and can be modified as command line arguments to Aspen-QC.

SetHtsMissing bool
DropsondeHitSfc bool
SfcAltUnknown bool
SfcAltOverride double
SfcPresOverride double
LastDataTimeOverride double
PresEquilTimeOverride double
RHEquilTimeOverride double
TdryEquilTimeOverride double
IgnoreLaunchAlt bool
IgnoreLaunchLat bool
IgnoreLaunchLon bool
IgnoreLaunchPres bool
IgnoreLaunchRH bool
IgnoreLaunchTdry bool
IgnoreLaunchWdir bool
IgnoreLaunchWspd bool
LaunchAltOverride double
LaunchPresOverride double
LaunchTdryOverride double
LaunchRHOverride double
LaunchWdirOverride double
LaunchWspdOverride double
LaunchLatOverride double
LaunchLonOverride double
ObsNum int
Edit me