Settings reference¶
Every setting of canvod-settings.yaml, in the order of the file. For how
the file is found and checked, see the Configuration guide.
A name in angle brackets is a name you choose: sites.<site> is a site,
<receiver> a receiver and <analysis> a VOD analysis. [] marks a list:
each item has the settings listed under it. To print a setting's entry in
the terminal, run canvodpy config explain SETTING, for example
canvodpy config explain gnss_store.epoch.
processing¶
How canVODpy processes the data, and where the results go
processing.metadata¶
Who made the stores, and under which license
processing.metadata.author¶
Your full name, written into the metadata of the stores you create (for example Jane Forester)
- Type: text
- Default: none, you have to set it
processing.metadata.email¶
Your contact email, written into the metadata of the stores you create (for example jane@boku.ac.at)
- Type: email address
- Default: none, you have to set it
processing.metadata.orcid¶
ORCID identifier
- Type: text, or null
- Default:
null
processing.metadata.institution¶
Your institution or organization name (for example University of Natural Resources and Life Sciences Vienna)
- Type: text
- Default: none, you have to set it
processing.metadata.institution_ror¶
ROR identifier
- Type: text, or null
- Default:
null
processing.metadata.department¶
Department name
- Type: text, or null
- Default:
null
processing.metadata.research_group¶
Research group name
- Type: text, or null
- Default:
null
processing.metadata.website¶
Institution/group website
- Type: text, or null
- Default:
null
processing.metadata.license¶
SPDX license identifier (for example CC-BY-4.0), or other for a license outside SPDX (then license_uri is required). Required when a store is created.
- Type: text, or null
- Default:
null
processing.metadata.license_uri¶
URI of the license text; required when license is other
- Type: text, or null
- Default:
null
processing.metadata.publisher¶
Publisher name. Required when a store is created.
- Type: text, or null
- Default:
null
processing.metadata.publisher_url¶
Publisher URL
- Type: text, or null
- Default:
null
processing.metadata.naming_authority¶
Your institution's domain in reverse order, lowercase (for example org.middle-earth). Required when a store is created: with the store id it gives the store's id in the STAC catalog.
- Type: text, or null
- Default:
null
processing.metadata.store_description¶
Deprecated: one description for the stores of every site. Use sites.<name>.store_description instead.
- Type: text, or null
- Default:
null
processing.metadata.initials¶
How a store's metadata records who set its content settings or changed it (for example NFB); the author when not set. Required to amend or migrate a store's metadata.
- Type: text, or null
- Default:
null
processing.metadata.record_machine¶
Whether each commit records the computer that writes it: its operating system, architecture, CPU count, memory and free disk. With false they are recorded as null, for stores that are published.
- Type: true or false
- Default:
true
processing.credentials¶
Credentials for external data services
processing.credentials.nasa_earthdata_acc_mail¶
NASA Earthdata email for CDDIS authentication (optional)
- Type: email address, or null
- Default:
null
processing.aux_data¶
The orbit and clock products to download
processing.aux_data.agency¶
Analysis center code
- Type: text
- Default:
COD
processing.aux_data.product_type¶
Product type. The agency must publish it: see the product registry of canvod-auxiliary (products.toml).
- Type: one of
final,rapid - Default:
final
processing.aux_data.ftp_timeout_s¶
FTP connection timeout in seconds
- Type: whole number
- Limits: >= 1
- Default:
30
processing.aux_data.fetch_clock¶
Download and interpolate the CLK clock files with the SP3 orbit files. VOD doesn't use clock corrections, so they are off; set true to add each satellite's clock correction to the GNSS store as the variable clock.
- Type: true or false
- Default:
false
processing.aux_data.zarr_async_concurrency¶
Limit on Zarr's concurrent chunk reads and writes in the orbit and clock cache; null keeps Zarr's default of 10. Set it when shared_aux_cache_dir is on a network mount (CIFS or NFS) that drops connections during writes.
- Type: whole number, or null
- Limits: >= 1
- Default:
null
processing.params¶
What a run reads and computes, and how many workers it uses
processing.params.resource_mode¶
auto: OS auto-detects workers and memory (local machines). manual: hard caps via n_max_threads, cpu_affinity and nice_priority (shared servers).
- Type: one of
auto,manual - Default:
auto
processing.params.n_max_threads¶
Max worker processes. Required when resource_mode=manual. Ignored in auto.
- Type: whole number, or null
- Limits: >= 1, <= 100
- Default:
null
processing.params.auto_uncapped¶
Remove the automatic CPU core cap of resource_mode auto. On a shared machine, this can starve other users' processes: set it to true only when the machine is yours alone.
- Type: true or false
- Default:
false
processing.params.keep_gnss_observables¶
GNSS observables to keep (SNR, Pseudorange, Phase, Doppler)
- Type: list of text
- Default:
["SNR"]
processing.params.rinex_v3_parser¶
How RINEX v3 observation files are parsed. validated: every epoch is checked (epoch line, satellite IDs, satellite count, observation fields); epochs that fail are dropped and logged. unvalidated_fast: DANGEROUS. Parses by fixed columns without any check, so corrupted records can enter the store as partial or wrong values. On valid files both give the same dataset. canVODpy takes no responsibility for results of the unvalidated parser; checking the input files is entirely the user's responsibility. Every use emits an UnvalidatedParserWarning.
- Type: one of
validated,unvalidated_fast - Default:
validated
processing.params.aggregate_glonass_fdma¶
Aggregate GLONASS FDMA sub-bands into effective G1/G2 bands. When false, the GLONASS signal IDs name the FDMA bands (G1_FDMA, G2_FDMA), for the observations and the orbit data alike. RINEX only: the SBF and NMEA readers refuse false. It changes the GLONASS signal IDs, so an existing store refuses data written with the other value.
- Type: true or false
- Default:
true
processing.params.store_radial_distance¶
Store radial distance ® in the output store
- Type: true or false
- Default:
false
processing.params.store_delta_snr¶
Store delta SNR (SNR_canopy − SNR_reference, dB) in the VOD store. Useful for diagnosing canopy attenuation without the angular correction.
- Type: true or false
- Default:
false
processing.params.store_radial_diff¶
Store the radial distance difference (r_canopy − r_reference, m) in the VOD store. Requires store_radial_distance: true when the receivers' files are read, so that r is available in both receiver datasets.
- Type: true or false
- Default:
false
processing.params.receiver_position_mode¶
shared: all receivers use the canopy receiver position for spherical coordinate computation (default, enables 1:1 SNR comparison). per_receiver: each receiver uses its own RINEX header position (physically correct geometry but breaks direct SNR comparability between receivers).
- Type: one of
shared,per_receiver - Default:
shared
processing.params.file_pairing¶
complete: discover files per-receiver independently (all data ingested). paired: only process dates where both receivers in an analysis pair have data.
- Type: one of
complete,paired - Default:
complete
processing.params.days_per_batch¶
Deprecated: a run derives its days per unit from the memory budget (ADR 0021). If set, a unit has at most this many days.
- Type: whole number, or null
- Limits: >= 1, <= 30
- Default:
null
processing.params.max_memory_gb¶
Memory budget of a run in GB (null = the memory available when the run starts). The run sizes the workers and its days per unit to fit it, and stops before reading a file if not even one worker fits with one day.
- Type: number, or null
- Limits: > 0
- Default:
null
processing.params.cpu_affinity¶
Pin workers to these CPU core IDs (null = no restriction)
- Type: list of whole number, or null
- Default:
null
processing.params.nice_priority¶
Priority of the worker processes (-20 = highest, 0 = normal, 19 = lowest). A negative value needs root or CAP_SYS_NICE on Linux; without it, the value has no effect.
- Type: whole number
- Limits: >= -20, <= 19
- Default:
-5
processing.params.threads_per_worker¶
Threads per worker process; null lets the scheduler decide. More than 1 helps array computations and reading and writing, but not the parsing of RINEX text.
- Type: whole number, or null
- Limits: >= 1, <= 8
- Default:
null
processing.params.ephemeris_source¶
final: compute satellite coordinates from agency final products (SP3/CLK). broadcast: use broadcast ephemerides from SBF SatVisibility blocks (SBF reader_format only, skips SP3/CLK download). Broadcast is faster but less accurate (~1-2 m orbit).
- Type: one of
final,broadcast - Default:
final
processing.params.store_sbf_raw_observables¶
When reading SBF files, also store the observables before the receiver's corrections: SNR_raw (before CN0HighRes), Pseudorange_unsmoothed (before the Hatch filter), Pseudorange_raw (before the Hatch and multipath filters), and Phase_raw (before the carrier multipath correction). Set to false to make the stores smaller when you don't need them.
- Type: true or false
- Default:
true
processing.params.store_sbf_metadata¶
When reading SBF files, store each file's SBF metadata (SatVisibility geometry and its almanac or ephemeris source, MeasExtra, PVT, DOP, receiver status and quality indicators) under {group}/metadata/sbf_obs, in the same commit as the observations. Set to false to save space; broadcast geometry (ephemeris_source broadcast) still works, since it uses these data in memory.
- Type: true or false
- Default:
true
processing.netcdf_compression¶
Compression settings for NetCDF output from RINEX readers
processing.netcdf_compression.zlib¶
Compress the NetCDF files with zlib
- Type: true or false
- Default:
true
processing.netcdf_compression.complevel¶
Compression level
- Type: whole number
- Limits: >= 0, <= 9
- Default:
5
processing.icechunk¶
How the stores are written on disk: compression and chunks
processing.icechunk.compression_level¶
Zstandard compression level, 0 to 22
- Type: whole number
- Limits: >= 0, <= 22
- Default:
3
processing.icechunk.compression_algorithm¶
Compression algorithm; Icechunk 2 offers only zstd
- Type: one of
zstd - Default:
zstd
processing.icechunk.inline_chunk_threshold_bytes¶
Chunks up to this size in bytes are stored in the manifest instead of in their own file
- Type: whole number
- Limits: >= 0
- Default:
512
processing.icechunk.get_partial_values_concurrency¶
Concurrent requests when reading part of a chunk
- Type: whole number
- Limits: >= 1
- Default:
1
processing.icechunk.max_concurrent_requests¶
Limit on concurrent storage requests (null = Icechunk's default)
- Type: whole number, or null
- Limits: >= 1
- Default:
null
processing.icechunk.zarr_async_concurrency¶
Deprecated: has no effect and will be removed with the next major version. It limited Zarr's concurrent chunk writes for only some of the store's writes.
- Type: whole number, or null
- Limits: >= 1
- Default:
null
processing.icechunk.cache_num_chunk_refs¶
Number of chunk references Icechunk keeps in memory (null = Icechunk's default)
- Type: whole number, or null
- Limits: >= 0
- Default:
null
processing.icechunk.cache_num_bytes_chunks¶
Bytes of chunk data Icechunk keeps in memory (null = Icechunk's default)
- Type: whole number, or null
- Limits: >= 0
- Default:
null
processing.icechunk.chunk_strategies¶
Chunk shape of each store: a chunk is the piece of an array that is read, compressed, and written as one
processing.icechunk.chunk_strategies.gnss_store¶
Chunks of the GNSS store. A day of ceil(86400 s / cadence) epochs is stored in whole chunks, padded with empty epochs where it does not fill the last one: with 180, days at 1 s, 5 s, 15 s, 30 s or 1 min need no padding, a day at 15 min gets 84 empty epochs.
processing.icechunk.chunk_strategies.gnss_store.epoch¶
Epochs per chunk, for groups created from now on: a group keeps the chunk size it was created with
- Type: whole number
- Limits: >= 1
- Default:
180
processing.icechunk.chunk_strategies.gnss_store.sid¶
Signals per chunk, for groups created from now on; -1 puts all signals in one chunk.
- Type: whole number
- Limits: >= -1
- Default:
-1
processing.icechunk.chunk_strategies.vod_store¶
Chunks of the VOD store. As in the GNSS store, each day is stored in whole chunks, padded with empty epochs where it does not fill the last one.
processing.icechunk.chunk_strategies.vod_store.epoch¶
Epochs per chunk, for groups created from now on: a group keeps the chunk size it was created with
- Type: whole number
- Limits: >= 1
- Default:
180
processing.icechunk.chunk_strategies.vod_store.sid¶
Signals per chunk, for groups created from now on; -1 puts all signals in one chunk.
- Type: whole number
- Limits: >= -1
- Default:
-1
processing.icechunk.manifest_preload_enabled¶
Read the manifests of matching arrays when a store is opened
- Type: true or false
- Default:
false
processing.icechunk.manifest_preload_max_refs¶
Limit on the chunk references read in advance
- Type: whole number
- Limits: >= 0
- Default:
10000
processing.icechunk.manifest_preload_max_arrays_to_scan¶
Limit on the arrays checked for reading in advance
- Type: whole number
- Limits: >= 1
- Default:
500
processing.icechunk.manifest_preload_pattern¶
Regular expression for the names of the arrays to read in advance
- Type: text
- Default:
^(epoch|sid)$
processing.icechunk.manifest_splitting_enabled¶
Enable manifest splitting for stores with large arrays (recommended)
- Type: true or false
- Default:
true
processing.icechunk.manifest_splitting_epoch_range¶
Epoch chunks per manifest: Icechunk starts a new manifest of an array every N chunks along the epoch dimension (N chunks, not N epochs).
- Type: whole number
- Limits: >= 1
- Default:
17280
processing.icechunk.num_updates_per_repo_info_file¶
Number of updates that share one repo file before Icechunk starts a new one (null = Icechunk's default). A low value makes each write smaller but makes reading the history slower.
- Type: whole number, or null
- Limits: >= 1, <= 65535
- Default:
null
processing.icechunk.repo_update_max_tries¶
Attempts, the first included, to update the repo file, for example when several writers update it (null = Icechunk's default, currently 100)
- Type: whole number, or null
- Limits: >= 1
- Default:
null
processing.icechunk.repo_update_initial_backoff_ms¶
First wait in milliseconds between attempts to update the repo file (null = Icechunk's default, currently 50)
- Type: whole number, or null
- Limits: >= 0
- Default:
null
processing.icechunk.repo_update_max_backoff_ms¶
Longest wait in milliseconds between attempts to update the repo file (null = Icechunk's default, currently 30,000)
- Type: whole number, or null
- Limits: >= 0
- Default:
null
processing.storage¶
Where the stores are, and what a run does with stored files
processing.storage.stores_root_dir¶
Folder of the stores: each site's GNSS store and VOD store are under it. A local folder (must exist and be writable) or s3://bucket/prefix (experimental); credentials, region and endpoint of S3 come from the environment.
- Type: path or text
- Default: none, you have to set it
processing.storage.gnss_store_name¶
Folder of the site's GNSS store: gnss, or gnss- and a suffix for a second GNSS store, for example gnss-test. Lowercase letters and digits, with single _ or - between them.
- Type: text
- Default:
gnss
processing.storage.vod_store_name¶
Folder of the site's VOD store: vod, or vod- and a suffix for a second VOD store, for example vod-recompute. Lowercase letters and digits, with single _ or - between them.
- Type: text
- Default:
vod
processing.storage.aux_data_dir¶
Directory for downloaded auxiliary files (SP3, CLK) and transient Zarr caches. Raw files persist; caches are rebuilt each run. Defaults to system temp directory if not set.
- Type: path, or null
- Default:
null
processing.storage.shared_aux_cache_dir¶
Folder of an orbit and clock cache that several sites share (SP3 and CLK, interpolated). null (default): no shared cache; each site's cache is in aux_data_dir and rebuilt every run. Orbit and clock products are the same for every site, so sites that point at the same folder share one cache entry per agency, product and date instead of each building its own.
- Type: path, or null
- Default:
null
processing.storage.gnss_store_strategy¶
What a run does with a file that is already in the GNSS store; new files are always written. skip (default): nothing is written. overwrite: the run replaces the file's slots. unsafe_append: kept from versions before day blocks, where it stored the file's epochs twice; it now does what overwrite does.
- Type: one of
skip,overwrite,unsafe_append - Default:
skip
processing.storage.vod_store_strategy¶
Deprecated, has no effect. A VOD write skips a result from the same GNSS files as a stored one. Another result replaces the stored VOD of its day. To recompute VOD from the same GNSS files, write to a new VOD store: set vod_store_name to the kind plus a suffix, for example vod-recompute.
- Type: one of
skip,overwrite,unsafe_append, or null - Default:
null
processing.storage.keeper_tags¶
Tag every commit of a receiver and day as keep/{receiver}/{yyyydoy}, so a later clean-up can expire everything else. Off by default: the cost of tagging a large store hasn't been measured yet.
- Type: true or false
- Default:
false
processing.storage.maintenance¶
Scheduled clean-up of old snapshots (canvodpy store maintain-due)
processing.storage.maintenance.enabled¶
Turn on canvodpy store maintain-due. Off by default. Before you turn it on, run garbage_collect(dry_run=True) against your store and check what it would delete.
- Type: true or false
- Default:
false
processing.storage.maintenance.dry_run_until_confirmed¶
Make every run of canvodpy store maintain-due a dry run until you set this to false. An unattended job can't answer the question that maintain --execute asks; this setting is that answer.
- Type: true or false
- Default:
true
processing.storage.maintenance.retention_days¶
Days of snapshots the scheduled clean-up keeps; older snapshots are expired and their data collected as garbage. canvodpy store maintain --expire-days, run by hand, doesn't use it.
- Type: whole number
- Limits: >= 7
- Default:
90
processing.storage.maintenance.expire_interval_days¶
Days from one expiration by the scheduled clean-up to the next, counted from the last expiration in the store's operations log.
- Type: whole number
- Limits: >= 1
- Default:
45
processing.storage.maintenance.gc_delay_days¶
Days the scheduled clean-up waits after the last expiration before it collects garbage, so it deletes data only some time after their snapshots expired.
- Type: whole number
- Limits: >= 1
- Default:
20
processing.storage.maintenance.manifests_enabled¶
Let canvodpy store maintain-due rewrite the manifests, whatever enabled says. A rewrite is an ordinary commit: it changes no history and deletes nothing.
- Type: true or false
- Default:
false
processing.storage.maintenance.manifest_count_threshold¶
Number of manifest files in the store at which canvodpy store maintain-due rewrites the manifests.
- Type: whole number
- Limits: >= 1
- Default:
3000
processing.logging¶
Where the log files go
processing.logging.log_dir¶
Folder of the log files. Required for a processing run: a run stops if it is not set.
- Type: path, or null
- Default:
null
processing.logging.worker_log_retention_days¶
Days after which the log files of worker processes are deleted, counted from their last change. Each worker process writes its own files, with its process ID in the name.
- Type: whole number
- Limits: >= 1
- Default:
30
processing.logging.log_file_name¶
Left over from development; has no effect. Removed with the next major version.
- Type: text, or null
- Default:
null
processing.logging.log_path_depth¶
Number of path components to include in log file references
- Type: whole number
- Limits: >= 1, <= 20
- Default:
6
processing.preprocessing¶
Operations applied to each receiver's data before it is written to the GNSS store; none unless set
processing.preprocessing.temporal_aggregation¶
Temporal aggregation; not applied unless set
processing.preprocessing.temporal_aggregation.enabled¶
Apply the temporal aggregation
- Type: true or false
- Default:
true
processing.preprocessing.temporal_aggregation.freq¶
Bin length: a whole number of seconds, minutes or hours (30s, 1min, 1h) that divides one day
- Type: text
- Default: none, you have to set it
processing.preprocessing.temporal_aggregation.method¶
Statistic of the floating-point observations in each bin
- Type: one of
mean,median - Default: none, you have to set it
processing.preprocessing.temporal_aggregation.integer_method¶
Value of each bin integer variables (flags and codes such as LLI and SSI) take, in time order; they cannot be combined
- Type: one of
first,last,middle - Default: none, you have to set it
processing.preprocessing.grid_assignment¶
Grid cell assignment; not applied unless set
processing.preprocessing.grid_assignment.enabled¶
Apply the grid cell assignment
- Type: true or false
- Default:
true
processing.preprocessing.grid_assignment.grid_type¶
Grid type, for example equal_area
- Type: text
- Default: none, you have to set it
processing.preprocessing.grid_assignment.angular_resolution¶
Angular resolution in degrees
- Type: number
- Limits: > 0, <= 90
- Default: none, you have to set it
processing.references¶
Publication and funding references
processing.references.software_repository¶
URL of the software repository (for example GitHub)
- Type: text, or null
- Default:
null
processing.references.documentation¶
URL of the documentation
- Type: text, or null
- Default:
null
processing.references.access_url¶
URL where the store data is actually accessible (FAIR A1)
- Type: text, or null
- Default:
null
processing.references.related_stores¶
Identifiers/paths of related stores
- Type: list of text
- Default:
[]
processing.references.publications¶
Publications about the data, for the store metadata
processing.references.publications[].doi¶
DOI of the publication
- Type: text
- Default: none, you have to set it
processing.references.publications[].citation¶
Citation of the publication
- Type: text, or null
- Default:
null
processing.references.funding¶
Funding of the work, for the store metadata
processing.references.funding[].funder¶
Name of the funding organization
- Type: text
- Default: none, you have to set it
processing.references.funding[].funder_ror¶
ROR identifier of the funding organization
- Type: text, or null
- Default:
null
processing.references.funding[].grant_number¶
Grant number
- Type: text, or null
- Default:
null
processing.references.funding[].award_title¶
Title of the grant
- Type: text, or null
- Default:
null
sites¶
The research sites, their receivers, and VOD analyses
sites.<site>¶
A research site, named by its key: its data folder, receivers, and VOD analyses
sites.<site>.gnss_site_data_root¶
Root directory for site GNSS data
- Type: text
- Default: none, you have to set it
sites.<site>.description¶
Site description
- Type: text, or null
- Default:
null
sites.<site>.store_description¶
What the site's stores hold (for example GNSS-T observations below a beech canopy): written to StoreIdentity.description. Required when a store of the site is created.
- Type: text, or null
- Default:
null
sites.<site>.country¶
Country code (ISO 3166-1)
- Type: text, or null
- Default:
null
sites.<site>.latitude¶
WGS84 latitude
- Type: number, or null
- Default:
null
sites.<site>.longitude¶
WGS84 longitude
- Type: number, or null
- Default:
null
sites.<site>.altitude_m¶
Altitude in meters
- Type: number, or null
- Default:
null
sites.<site>.receivers¶
The site's receivers, each named by its key
sites.<site>.receivers.<receiver>.type¶
Receiver role: canopy = placed under the vegetation canopy; reference = open-sky baseline above or outside the canopy
- Type: one of
reference,canopy - Default: none, you have to set it
sites.<site>.receivers.<receiver>.directory¶
Subdirectory for receiver data
- Type: text
- Default: none, you have to set it
sites.<site>.receivers.<receiver>.paired_canopies¶
The canopy receivers to pair with this reference: all or a list of canopy names. Required for reference receivers; must not be set for canopy receivers.
- Type: text or list of text, or null
- Default:
null
sites.<site>.receivers.<receiver>.description¶
Human-readable description
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.naming¶
Deprecated, not used for file discovery. Set recipe for non-canonical filenames instead.
- Type: mapping, or null
- Default:
null
sites.<site>.receivers.<receiver>.metadata¶
Your own receiver metadata, added to the attributes of every file of the receiver that is written to the GNSS store: the log book keeps them per file, and a new group also takes them from its first file. Attributes a file already has are kept. Example keys: site_url, antenna_height, species.
- Type: mapping, or null
- Default:
null
sites.<site>.receivers.<receiver>.receiver_hardware¶
Optional: the receiver's manufacturer, model, serial number and firmware, copied into the GNSS store's metadata.
sites.<site>.receivers.<receiver>.receiver_hardware.manufacturer¶
Receiver manufacturer
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.receiver_hardware.model¶
Receiver model
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.receiver_hardware.serial_number¶
Receiver serial number
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.receiver_hardware.firmware¶
Firmware version
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna¶
Optional: the antenna's manufacturer, model and radome (IGS names), serial number and height, copied into the GNSS store's metadata.
sites.<site>.receivers.<receiver>.antenna.manufacturer¶
Antenna manufacturer
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna.model¶
Antenna model, as its IGS name
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna.radome¶
Radome, as its IGS name
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna.serial_number¶
Antenna serial number
- Type: text, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna.height_m¶
Antenna height in meters
- Type: number, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna.choke_ring¶
Whether a choke ring is used
- Type: true or false, or null
- Default:
null
sites.<site>.receivers.<receiver>.antenna.polarization¶
Polarization the antenna receives: RHCP (the standard), LHCP or dual-pol
- Type: one of
RHCP,LHCP,dual-pol, or null - Default:
null
sites.<site>.receivers.<receiver>.reader_format¶
Reader for the receiver's files: rinex3 (RINEX 3), rinex3_stripped (RINEX 3 with signal strengths only, faster), rinex2 (RINEX 2.11), sbf (Septentrio binary), nmea, or the name of an installed reader plugin. auto: detected per day from the files (SBF and NMEA by file type, RINEX 2 or 3 from the header; never a plugin); a day whose files need different readers is an error.
- Type: text
- Default:
auto
sites.<site>.receivers.<receiver>.recipe¶
Naming recipe: a name (for example examplesite_reference), read from <config dir>/recipes/<site>/{recipe}.yaml, or a raw GitHub URL, fetched by every run (https://raw.githubusercontent.com/<account>/<repo>/<commit, tag or branch>/.../{name}.yaml); stores record only its file name. A recipe in a private repository needs a token in GH_TOKEN or GITHUB_TOKEN. Without a recipe, only files with canonical canVOD names are processed.
- Type: text, or null
- Default:
null
sites.<site>.vod_analyses¶
The site's VOD analyses, each named by its key: a canopy receiver and its reference receiver
sites.<site>.vod_analyses.<analysis>.canopy_receiver¶
Canopy receiver name
- Type: text
- Default: none, you have to set it
sites.<site>.vod_analyses.<analysis>.reference_receiver¶
Reference receiver name, as named under receivers
- Type: text
- Default: none, you have to set it
sites.<site>.vod_analyses.<analysis>.description¶
Analysis description
- Type: text, or null
- Default:
null
sites.<site>.naming¶
Deprecated, not used for file discovery. Set recipe on each receiver with non-canonical filenames instead.
- Type: mapping, or null
- Default:
null
sids¶
Which signals are kept
sids.mode¶
SID selection mode
- Type: one of
all,preset,custom - Default:
all
sids.preset¶
Preset name when mode=preset
- Type: text, or null
- Default:
null
sids.custom_sids¶
Custom SID list when mode=custom
- Type: list of text
- Default:
[]