Ginan
Loading...
Searching...
No Matches
ACSConfig Struct Reference

General options object to be used throughout the software. More...

Detailed Description

General options object to be used throughout the software.

Inheritance diagram for ACSConfig:
Collaboration diagram for ACSConfig:

Public Member Functions

void recurseYaml (const string &file, YAML::Node node, const string &stack="", const string &aliasStack="")
 
bool parse (const vector< string > &filenames, boost::program_options::variables_map &vm)
 Parse options to set acsConfig values.
 
bool parse ()
 
void info (Trace &trace)
 Print out the configuration data that has been read in.
 
void sanityChecks ()
 
void outputDefaultConfiguration (int level)
 Outputs default configuration and a configurator The default values, and descriptions of each parameter configured is output to the command line.
 
SatelliteOptionsgetSatOpts (SatSys Sat, const vector< string > &suffixes={})
 Set satellite options for a specific satellite using a hierarchy of sources.
 
ReceiverOptionsgetRecOpts (string id, const vector< string > &suffixes={})
 Set receiver options for a specific receiver using a hierarchy of sources.
 
- Public Member Functions inherited from OutputOptions
void defaultOutputOptions ()
 

Data Fields

vector< YAML::Node > yamls
 
map< string, YamlDefaultyamlDefaults
 
map< string, bool > availableOptions
 
map< string, map< string, bool > > foundOptions
 
mutex configMutex
 
map< string, set< string > > customAliasesMap
 
vector< string > configFilenames
 
vector< string > includedFilenames
 
map< string, std::filesystem::file_time_type > configModifyTimeMap
 
boost::program_options::variables_map commandOpts
 
unordered_map< string, SatelliteOptionssatOptsMap
 
unordered_map< string, ReceiverOptionsrecOptsMap
 
PropagationOptions propagationOptions
 
PreprocOptions preprocOpts
 
MinimumConstraintOptions minconOpts
 
SsrInOptions ssrInOpts
 
SbsInOptions sbsInOpts
 
AmbROptions ambrOpts
 
SsrOptions ssrOpts
 
PppOptions pppOpts
 
SppOptions sppOpts
 
SlrOptions slrOpts
 
ExcludeOptions exclude
 
StateErrorHandler stateErrors
 
MeasErrorHandler measErrors
 
AmbiguityErrorHandler ambErrors
 
OrbitErrorHandler orbErrors
 
IonoErrorHandler ionErrors
 
ErrorAccumulationHandler errorAccumulation
 
IonModelOptions ionModelOpts
 
MongoOptions mongoOpts
 
NetworkOptions netOpts
 
- Data Fields inherited from GlobalOptions
int sleep_milliseconds = 50
 
double epoch_interval = 1
 
double epoch_tolerance = 0.5
 
int max_epochs = 0
 
int leap_seconds = -1
 
boost::posix_time::ptime start_epoch { boost::posix_time::not_a_date_time }
 
boost::posix_time::ptime end_epoch { boost::posix_time::not_a_date_time }
 
string config_description = "Pea"
 
string config_details
 
string analysis_agency = "GAA"
 
string analysis_centre = "Geoscience Australia"
 
string analysis_software = "Ginan"
 
string analysis_software_version = "3.0"
 
string ac_contact = "clientservices@ga.gov.au"
 
string rinex_comment = "Daily 30-sec observations from IGS stations"
 
string reference_system = "igb14"
 
string time_system = "G"
 
string ocean_tide_loading_model = "FES2004"
 
string atmospheric_tide_loading_model = "---"
 
string geoid_model = "EGM96"
 
string gradient_mapping_function = "Chen & Herring, 1992"
 
bool simulate_real_time = false
 
bool process_preprocessor = true
 
bool process_spp = true
 
bool process_minimum_constraints = false
 
bool process_ionosphere = false
 
bool process_rts = false
 
bool process_ppp = false
 
bool process_orbits = false
 
map< E_Sys, bool > process_sys
 
map< E_Sys, bool > solve_amb_for
 
bool process_meas [NUM_MEAS_TYPES] = {true, true}
 
map< E_Sys, bool > reject_eclipse
 
string pivot_receiver = "NO_PIVOT"
 
string pivot_satellite = "NO_PIVOT"
 
bool interpolate_rec_pco = true
 
bool auto_fill_pco = true
 
bool require_apriori_positions = false
 
bool require_site_eccentricity = false
 
bool require_sinex_data = false
 
bool require_antenna_details = false
 
bool require_reflector_com = false
 
bool use_tgd_bias = false
 
double wait_next_epoch = 0
 
double max_rec_latency = 0
 
bool require_obs = true
 
bool assign_closest_epoch = false
 
bool delete_old_ephemerides = true
 
double validity_interval_factor = 10
 
E_OffsetType ssr_input_antenna_offset = E_OffsetType::UNSPECIFIED
 
map< E_Sys, vector< E_ObsCode > > code_priorities
 
map< E_Sys, E_NavMsgType > used_nav_types
 Default observation codes on L1 for IF combination based satellite clocks.
 
vector< E_ObsCode > code_priorities_default
 
double fixed_phase_bias_var = 0.01
 
bool adjust_rec_clocks_by_spp = true
 
bool adjust_clocks_for_jumps_only = false
 
bool minimise_sat_clock_offsets = false
 
bool minimise_sat_orbit_offsets = false
 
bool minimise_ionosphere_offsets = false
 
map< E_Sys, bool > receiver_amb_pivot
 fix one ambiguity to eliminate rank deficiency
 
map< E_Sys, bool > network_amb_pivot
 fix ambiguities to eliminate network rank deficiencies
 
map< E_Sys, bool > use_for_iono_model
 use system for ionospheric modelling
 
map< E_Sys, bool > use_iono_corrections
 use system for ionospheric modelling
 
bool common_sat_pco = false
 
bool common_rec_pco = false
 
bool use_trop_corrections = false
 
double predefined_fail = 0.001
 
- Data Fields inherited from InputOptions
string inputs_root = "."
 
string gnss_obs_root = "<INPUTS_ROOT>"
 
string pseudo_obs_root = "<INPUTS_ROOT>"
 
string custom_pseudo_obs_root = "<INPUTS_ROOT>"
 
string sat_data_root = "<INPUTS_ROOT>"
 
string rtcm_inputs_root = "<SAT_DATA_ROOT>"
 
string sisnet_inputs_root = "<SAT_DATA_ROOT>"
 
vector< string > atx_files
 
vector< string > snx_files
 
vector< string > nav_files
 
vector< string > sp3_files
 
vector< string > clk_files
 
vector< string > obx_files
 
vector< string > sid_files
 
vector< string > com_files
 
vector< string > crd_files
 
vector< string > vmf_files
 
vector< string > erp_files
 
vector< string > dcb_files
 
vector< string > bsx_files
 
vector< string > ion_files
 
vector< string > igrf_files
 
vector< string > egm_files
 
vector< string > cmc_files
 
vector< string > hfeop_files
 
vector< string > gpt2grid_files
 
vector< string > orography_files
 
vector< string > pseudo_filter_files
 
vector< string > atm_reg_definitions
 
vector< string > planetary_ephemeris_files
 
vector< string > ocean_tide_potential_files
 
vector< string > atmos_tide_potential_files
 
vector< string > ocean_tide_loading_blq_files
 
vector< string > atmos_tide_loading_blq_files
 
vector< string > ocean_pole_tide_loading_files
 
vector< string > atmos_oceean_dealiasing_files
 
vector< string > ocean_pole_tide_potential_files
 
vector< string > sisnet_inputs
 
vector< string > nav_rtcm_inputs
 
vector< string > qzs_rtcm_inputs
 
map< string, vector< string > > rnx_inputs
 
map< string, vector< string > > ubx_inputs
 
map< string, vector< string > > custom_inputs
 
map< string, vector< string > > obs_rtcm_inputs
 
map< string, vector< string > > pseudo_sp3_inputs
 
map< string, vector< string > > pseudo_snx_inputs
 
vector< E_TidalComponent > atl_blq_row_order = {E_TidalComponent::UP, E_TidalComponent::EAST, E_TidalComponent::NORTH}
 
vector< E_TidalComponent > otl_blq_row_order = {E_TidalComponent::UP, E_TidalComponent::WEST, E_TidalComponent::SOUTH}
 
vector< E_TidalConstituent > atl_blq_col_order
 
vector< E_TidalConstituent > otl_blq_col_order
 
bool eci_pseudoobs = false
 
string stream_user
 
string stream_pass
 
- Data Fields inherited from OutputOptions
string outputs_root = "."
 
int fatal_level = 0
 
double rotate_period = 60*60*24
 
int trace_level = 0
 
bool output_receiver_trace = false
 
bool output_network_trace = false
 
bool output_ionosphere_trace = false
 
bool output_satellite_trace = false
 
bool output_json_trace = false
 
string trace_directory = "<OUTPUTS_ROOT>"
 
string receiver_trace_filename = "<TRACE_DIRECTORY>/<RECEIVER>-<LOGTIME>.trace"
 
string network_trace_filename = "<TRACE_DIRECTORY>/<RECEIVER>-<LOGTIME>.trace"
 
string ionosphere_trace_filename = "<TRACE_DIRECTORY>/<RECEIVER>-<LOGTIME>.trace"
 
string satellite_trace_filename = "<TRACE_DIRECTORY>/<RECEIVER>-<LOGTIME>.trace"
 
bool record_raw_ubx = false
 
string raw_ubx_directory = "<OUTPUTS_ROOT>"
 
string raw_ubx_filename = "<UBX_DIRECTORY>/<RECEIVER>-<LOGTIME>-OBS.rtcm"
 
bool record_raw_custom = false
 
string raw_custom_directory = "<OUTPUTS_ROOT>"
 
string raw_custom_filename = "<CUSTOM_DIRECTORY>/<RECEIVER>-<LOGTIME>-OBS.custom"
 
bool record_rtcm_obs = false
 
bool record_rtcm_nav = false
 
string rtcm_obs_directory = "<OUTPUTS_ROOT>"
 
string rtcm_nav_directory = "<OUTPUTS_ROOT>"
 
string rtcm_obs_filename = "<RTCM_OBS_DIRECTORY>/<RECEIVER>-<LOGTIME>-OBS.rtcm"
 
string rtcm_nav_filename = "<RTCM_NAV_DIRECTORY>/<STREAM>-<LOGTIME>-NAV.rtcm"
 
bool output_log = false
 
string log_directory = "<OUTPUTS_ROOT>"
 
string log_filename = "<LOG_DIRECTORY>/log-<LOGTIME>.json"
 
bool output_ntrip_log = false
 
string ntrip_log_directory = "<OUTPUTS_ROOT>"
 
string ntrip_log_filename = "<NTRIP_LOG_DIRECTORY>/ntrip_log-<LOGTIME>.json"
 
bool output_gpx = false
 
string gpx_directory = "<OUTPUTS_ROOT>"
 
string gpx_filename = "<GPX_DIRECTORY>/<RECEIVER>-<LOGTIME>.gpx"
 
bool output_pos = false
 
string pos_directory = "<OUTPUTS_ROOT>"
 
string pos_filename = "<POS_DIRECTORY>/<RECEIVER>-<LOGTIME>.pos"
 
string root_stream_url = ""
 
bool output_predicted_states = false
 
bool output_initialised_states = false
 
bool output_residuals = false
 
bool output_residual_chain = true
 
bool output_config = false
 
bool colourise_terminal = true
 
bool warn_once = true
 
bool output_clocks = false
 
vector< E_Source > clocks_receiver_sources = {E_Source::KALMAN, E_Source::PRECISE, E_Source::BROADCAST}
 
vector< E_Source > clocks_satellite_sources = {E_Source::KALMAN, E_Source::PRECISE, E_Source::BROADCAST}
 
double clocks_output_interval = 1
 
string clocks_directory = "<OUTPUTS_ROOT>"
 
string clocks_filename = "<CLOCKS_DIRECTORY>/<CONFIG>-<LOGTIME>_<SYS>.clk"
 
bool output_sp3 = false
 
bool output_inertial_orbits = false
 
bool output_sp3_velocities = false
 
vector< E_Source > sp3_orbit_sources = {E_Source::KALMAN, E_Source::PRECISE, E_Source::BROADCAST}
 
vector< E_Source > sp3_clock_sources = {E_Source::KALMAN, E_Source::PRECISE, E_Source::BROADCAST}
 
double sp3_output_interval = 1
 
string sp3_directory = "<OUTPUTS_ROOT>"
 
string sp3_filename = "<SP3_DIRECTORY>/<CONFIG>-<LOGTIME>_<SYS>-Filt.sp3"
 
string predicted_sp3_filename = "<SP3_DIRECTORY>/<CONFIG>-<LOGTIME>_<SYS>-Prop.sp3"
 
bool output_orbex = false
 
vector< E_Source > orbex_orbit_sources = {E_Source::KALMAN, E_Source::PRECISE, E_Source::BROADCAST}
 
vector< E_Source > orbex_clock_sources = {E_Source::KALMAN, E_Source::PRECISE, E_Source::BROADCAST}
 
vector< E_Source > orbex_attitude_sources = {E_Source::NOMINAL}
 
double orbex_output_interval = 1
 
string orbex_directory = "<OUTPUTS_ROOT>"
 
string orbex_filename = "<ORBEX_DIRECTORY>/<CONFIG>-<LOGTIME>_<SYS>.obx"
 
vector< E_OrbexRecord > orbex_record_types = {E_OrbexRecord::ATT}
 
bool split_sys = false
 
bool output_rinex_obs = false
 
string rinex_obs_directory = "<OUTPUTS_ROOT>"
 
string rinex_obs_filename = "<RINEX_OBS_DIRECTORY>/<RECEIVER>-<LOGTIME>_<SYS>.<YY>O"
 
double rinex_obs_version = 3.05
 
bool rinex_obs_print_C_code = true
 
bool rinex_obs_print_L_code = true
 
bool rinex_obs_print_D_code = true
 
bool rinex_obs_print_S_code = true
 
bool output_ionex = false
 
string ionex_directory = "<OUTPUTS_ROOT>"
 
string ionex_filename = "<IONEX_DIRECTORY>/<CONFIG>-<LOGTIME>.INX"
 
IonexOptions ionexGrid
 
bool output_rinex_nav = false
 
string rinex_nav_directory = "<OUTPUTS_ROOT>"
 
string rinex_nav_filename = "<RINEX_NAV_DIRECTORY>/<CONFIG>-<LOGTIME>_nav_<SYS>.rnx"
 
double rinex_nav_version = 3.05
 
bool output_ionstec = false
 
string ionstec_directory = "<OUTPUTS_ROOT>"
 
string ionstec_filename = "<IONSTEC_DIRECTORY>/<CONFIG>-<LOGTIME>.STEC"
 
bool output_erp = false
 
string erp_directory = "<OUTPUTS_ROOT>"
 
string erp_filename = "<ERP_DIRECTORY>/<CONFIG>-<LOGTIME>.ERP"
 
bool output_bias_sinex = false
 
string bias_sinex_directory = "<OUTPUTS_ROOT>"
 
string bias_sinex_filename = "<BIAS_SINEX_DIRECTORY>/<CONFIG>-<LOGTIME>.BIA"
 
string bias_time_system = "G"
 
bool output_sinex = false
 
string sinex_directory = "<OUTPUTS_ROOT>"
 
string sinex_filename = "<SINEX_DIRECTORY>/<CONFIG>-<LOGTIME>.snx"
 
bool output_trop_sinex = false
 
vector< E_Source > trop_sinex_data_sources = {E_Source::KALMAN}
 
string trop_sinex_directory = "<OUTPUTS_ROOT>"
 
string trop_sinex_filename = "<TROP_SINEX_DIRECTORY>/<CONFIG>-<LOGTIME>.tro"
 
string trop_sinex_sol_type = "Solution parameters"
 
char trop_sinex_obs_code = 'P'
 
char trop_sinex_const_code = ' '
 
double trop_sinex_version = 2.0
 
bool output_cost = false
 
vector< E_Source > cost_data_sources = {E_Source::KALMAN}
 
string cost_directory = "<OUTPUTS_ROOT>"
 
string cost_filename = "<COST_DIRECTORY>/cost_s_t_<LOGTIME>_<RECEIVER>_ga__.dat"
 
int cost_time_interval = 900
 
string cost_format = "COST-716 V2.2"
 
string cost_project = "GA-NRT"
 
string cost_status = "TEST"
 
string cost_centre = "GA__ Geoscience Aus"
 
string cost_method = "GINAN V2"
 
string cost_orbit_type = "IGSPRE"
 
string cost_met_source = "NONE"
 
bool output_slr_obs = false
 
string slr_obs_directory = "<OUTPUTS_ROOT>"
 
string slr_obs_filename = "<SLR_OBS_DIRECTORY>/<RECEIVER>.slr_obs"
 
bool output_orbit_ics = false
 
string orbit_ics_directory = "<OUTPUTS_ROOT>"
 
string orbit_ics_filename = "<ORBIT_ICS_DIRECTORY>/<CONFIG>-<LOGTIME>-orbits.yaml"
 
bool output_sbas_ems = false
 
string ems_directory = "<OUTPUTS_ROOT>"
 
string ems_filename = "<EMS_DIRECTORY>/y<YYYY>/d<DDD>/h<HH>.ems"
 
bool output_decoded_rtcm_json = false
 
string decoded_rtcm_json_directory = "<OUTPUTS_ROOT>"
 
string decoded_rtcm_json_filename = "<DECODED_RTCM_DIRECTORY>/<CONFIG>-<LOGTIME>_rtcm_decoded.json"
 
bool output_encoded_rtcm_json = false
 
string encoded_rtcm_json_directory = "<OUTPUTS_ROOT>"
 
string encoded_rtcm_json_filename = "<ENCODED_RTCM_DIRECTORY>/<CONFIG>-<LOGTIME>_rtcm_encoded.json"
 
bool output_network_statistics_json = false
 
string network_statistics_json_directory = "<OUTPUTS_ROOT>"
 
string network_statistics_json_filename = "<NETWORK_STATISTICS_DIRECTORY>/<CONFIG>-<LOGTIME>_network_statistics.json"
 
- Data Fields inherited from DebugOptions
bool mincon_only = false
 
bool output_mincon = false
 
string mincon_filename = "preMinconState.bin"
 
bool check_plumbing = false
 
bool retain_rts_files = false
 
bool rts_only = false
 
bool explain_measurements = false
 
bool compare_orbits = false
 
bool compare_clocks = false
 
bool compare_attitudes = false
 
bool check_broadcast_differences = false
 

Static Public Attributes

static map< string, string > docs
 

Member Function Documentation

◆ getRecOpts()

ReceiverOptions & ACSConfig::getRecOpts ( string id,
const vector< string > & suffixes = {} )

Set receiver options for a specific receiver using a hierarchy of sources.

Parameters
idReceiver to search for options for
suffixesOptional suffix to get more specific versions
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSatOpts()

SatelliteOptions & ACSConfig::getSatOpts ( SatSys Sat,
const vector< string > & suffixes = {} )

Set satellite options for a specific satellite using a hierarchy of sources.

Parameters
SatSatellite to search for options for
suffixesOptional suffix to get more specific versions
Here is the call graph for this function:
Here is the caller graph for this function:

◆ info()

void ACSConfig::info ( Trace & s)

Print out the configuration data that has been read in.

Parameters
sTrace file to output to
Here is the call graph for this function:
Here is the caller graph for this function:

◆ outputDefaultConfiguration()

void ACSConfig::outputDefaultConfiguration ( int level)

Outputs default configuration and a configurator The default values, and descriptions of each parameter configured is output to the command line.

A configurator is generated that can be used to edit the default configuration via interactive html scripts

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse() [1/2]

bool ACSConfig::parse ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse() [2/2]

bool ACSConfig::parse ( const vector< string > & filenames,
boost::program_options::variables_map & newCommandOpts )

Parse options to set acsConfig values.

Command line options will override any values set in config files, which will themselves override any program default values.

Parameters
filenamesPath to yaml based config file
newCommandOptsVariable map object of command line options
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recurseYaml()

void ACSConfig::recurseYaml ( const string & file,
YAML::Node node,
const string & stack = "",
const string & aliasStack = "" )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sanityChecks()

void ACSConfig::sanityChecks ( )
Here is the caller graph for this function:

Field Documentation

◆ ambErrors

AmbiguityErrorHandler ACSConfig::ambErrors

◆ ambrOpts

AmbROptions ACSConfig::ambrOpts

◆ availableOptions

map<string, bool> ACSConfig::availableOptions
Initial value:
= {
{"yaml_filename:", true},
{"yaml_number:", true},
}

◆ commandOpts

boost::program_options::variables_map ACSConfig::commandOpts

◆ configFilenames

vector<string> ACSConfig::configFilenames

◆ configModifyTimeMap

map<string, std::filesystem::file_time_type> ACSConfig::configModifyTimeMap

◆ configMutex

mutex ACSConfig::configMutex

◆ customAliasesMap

map<string, set<string> > ACSConfig::customAliasesMap

◆ docs

map< string, string > ACSConfig::docs
static

◆ errorAccumulation

ErrorAccumulationHandler ACSConfig::errorAccumulation

◆ exclude

ExcludeOptions ACSConfig::exclude

◆ foundOptions

map<string, map<string, bool> > ACSConfig::foundOptions

◆ includedFilenames

vector<string> ACSConfig::includedFilenames

◆ ionErrors

IonoErrorHandler ACSConfig::ionErrors

◆ ionModelOpts

IonModelOptions ACSConfig::ionModelOpts

◆ measErrors

MeasErrorHandler ACSConfig::measErrors

◆ minconOpts

MinimumConstraintOptions ACSConfig::minconOpts

◆ mongoOpts

MongoOptions ACSConfig::mongoOpts

◆ netOpts

NetworkOptions ACSConfig::netOpts

◆ orbErrors

OrbitErrorHandler ACSConfig::orbErrors

◆ pppOpts

PppOptions ACSConfig::pppOpts

◆ preprocOpts

PreprocOptions ACSConfig::preprocOpts

◆ propagationOptions

PropagationOptions ACSConfig::propagationOptions

◆ recOptsMap

unordered_map<string, ReceiverOptions> ACSConfig::recOptsMap

◆ satOptsMap

unordered_map<string, SatelliteOptions> ACSConfig::satOptsMap

◆ sbsInOpts

SbsInOptions ACSConfig::sbsInOpts

◆ slrOpts

SlrOptions ACSConfig::slrOpts

◆ sppOpts

SppOptions ACSConfig::sppOpts

◆ ssrInOpts

SsrInOptions ACSConfig::ssrInOpts

◆ ssrOpts

SsrOptions ACSConfig::ssrOpts

◆ stateErrors

StateErrorHandler ACSConfig::stateErrors

◆ yamlDefaults

map<string, YamlDefault> ACSConfig::yamlDefaults

◆ yamls

vector<YAML::Node> ACSConfig::yamls

The documentation for this struct was generated from the following files: