FAQ DATA - GoldenCheetah/GoldenCheetah GitHub Wiki

DATA

Where is ride data stored?

By default data will be stored in operating system specific directories, assuming you have not changed the location in preferences.

On Apple OS X the data is stored in Library/GoldenCheetah/name in your home directory. On Linux the data is stored in .goldencheetah/name in your home directory. On Microsoft Windows application data folders seemingly change with each release, but typically will be found in AppData within your user home directory (which might be hidden by default).

To assist the about dialog lists the folder where ride data is stored for the current athlete:

About GoldenCheetah

Athlete library is the parent folder, there you can find athlete independent configuration and goldencheetah.log files.

Starting with version 3.2 each athlete’s folder is structured as described in the Troubleshooting Guide

Where are settings located?

From v3.3 most of the Settings are not stored system specific any more, but in .ini text files in the Athlete Root (for general Settings) and Athlete /config (for Athlete specific settings). Also stored in Athlete /config folder are View layouts and chart library (.xml) files, Power/HR/Pace (.zones) files, and measures (.json) files.

Only OS/System specific settings - like Fonts, Colors, Window Position, Import Paths and Home Directory are still stored on each PC separately - but they are not stored in PLIST (OSX) or Registry (Windows) any more, but also in an .ini text file which is located like described here: http://doc.qt.io/qt-5.9/qsettings.html#platform-specific-notes, see section "if the file format is IniFormat, the following files are used on Unix, OS X, and iOS:...", Organization is "goldencheetah.org" and application is "GoldenCheetah".

Specifically:

  • macOS/Linux: $HOME/.config/goldencheetah.org/GoldenCheetah.ini, where $HOME typically points to /home/UserName
  • Windows 10: %APPDATA%\goldencheetah.org\GoldenCheetah.ini, where %APPDATA% typically points to C:\Users\UserName\AppData\Roaming

How can I have a separated data or portable GoldenCheetah install?

Basically, GC first looks to see if Library/GoldenCheetah exists next to where the executable is. If it finds those series of folders, it loads the data from there. If not, it loads the data based on the OS as explained above.

This scheme can be used to have multiple GoldenCheetah installs in the same computer with separate data and config on a dedicated folder, for example to test a development or snapshot version without messing with the main install, or to have a portable install on a pendrive as explained in: Running gc off of a usb drive so you can take gc (and your rides) with you.

How do I restore an athlete's backed up ride data?

The folder/directory where the auto backed up files are found is in "Auto Backup Folder" which is in Menu "Tools -> Options... -> Athlete -> Backup". An example file is GC_3933_John_Smith_2017_09_12_15_57_07.zip, a compressed .zip file. To restore you'll unzip/extract this file into an athlete's directory, see Where is ride data stored.

  1. Locate or create the AthletesDirectory, if it already exists you may want to delete the current files. In linux you could do the following in a default configuration:
$ mkdir -p ~/.goldencheetah/John_Smith
  1. Get the .zip file such as, GC_3933_John_Smith_2017_09_12_15_57_07.zip, from the original computer to the new computer via email, dropbox, usbdrive, etc. and save it in a directory such as ~/Downloads

  2. unzip/extract it into the directory previously created. On Linux you'll need to change the permissions so the files are accessible using chmod:

$ cd ~/.goldencheetah/John_Smith
$ unzip ~/Downloads/GC_3933_John_Smith_2017_09_12_15_57_07.zip
$ sudo chmod -R 0755 .
  1. Now start GoldenCheetah.
$ GoldenCheetah
  1. Select the "new" athlete just added if it's not the current athlete in Menu "Athlete -> Open Window -> John_Smith".

  2. Navigate to menu "Tools -> Options... -> Athlete -> Backup" and change "Auto Backup Folder" to an appropriate value either by typing in the text entry box or using the "Browse" button on the right.

How do I split, merge or join files?

You can split a file by time using the activity->split ride menu item (or toolbar button).

To join two rides together (making one longer ride from two rides) you can copy rows in the activity editor and paste special in the ride editor (right click) and then select append mode.

If you wish to merge rides, in v3.1 there is a new Activity->Merge wizard that will walk you through merging ride files and also provide the ability to synchronise timestamps.

How can I find 'spikes' or specific values in activity data?

The activity editor has a function to find data on its toolbar. You can specify a range or upper or lower limit and find values less than, greater than or between a range of values.

Additionally, the editor will scan the file looking for anomalies -- where the data appears to be out of normal ranges. These are shown with a wiggly red line in the editor and can also be listed by clicking on the anomalies icon on the editor toolbar.

If the anomalies icon is not enabled on the toolbar then there are no anomalies in the currently selected ride.

How can I fix 'spikes' or 'anomalies' in activity data?

You can either manually edit the values in the activity editor (there is full undo and redo in the editor). Or you can use the fix tools that are listed under the tool menu option (fix power spikes, fix gaps in recording, fix gps errors, fix torque.

Each of the fix tools opens a dialog that displays texts to explain what the fix tool does. They can be configured to run automatically on import or save, with pre-defined parameters, from options/preferences.

How can I add/remove a field to edit on the details screen?

The fields (metadata) that are editable can be configured in the preferences pane under the data fields tab. Where no screen is specified (its left blank) it will not be made available.

GoldenCheetah ships with a number of fields defined in the config but with no screen set. If you wish to use them simply set the screen tab to the tab you would like it to be shown on. To remove a field set the field tab to blank.

If you are already using v3.6 and want to reset metadata to incorporate new fields from a GC release, delete metadata.xml parallel to your athletes folders or better move it to the folder of your first athlete, before a GC restart. Moving metadata.xml to the folder of your first athlete will retain any existing metadata.

What are 'special fields' ?

There are a number of fields that when maintained in the details screen will be used elsewhere in the code to calculate metrics or for other purposes.

Some examples include;

Weight - used in W/KG calculations, Sport and Workout code are used when exporting to other file formats, Identifier is used to assign a UUID to the activity when it is uploaded to online services and so on.

There is a full list of special fields and their meaning in the Golden Cheetah user guide appendices.

How do I find/add/sort/delete/edit intervals ?

The context menu (on the right hand side of the splitter handle) for the interval sidebar in Analysis view contains a number of options for working with intervals.

Additionally, you can click and drag on the performance (aka ride) plot to visually define an interval.

How can I export to a specific file format?

Activity->Export allows you to export the activity to csv, fitlog, gc (xml), json, Training Peaks PWX or Garmin TCX format.

Can I use GC to convert data from one format to another on the command line?

No. It is something we may add in v3.2

Can I delete an athlete and all his/her data?

Yes. From the Choose an Athlete dialog at startup you can delete an athlete and all their data. New in v3.6 is Athlete > Delete menu to delete a closed athlete. Beware, this cannot be undone.

How do I share data using Google Drive?

Note: Google Drive support was removed from v3.6 due to restrictions in Google OAuth, the alternative is to use Dropbox.

Assuming the Athlete wants to protect her data and invite the coach to look at it, either side could create the directory.

Athlete Side

  • Create a directory in Google Drive.
  • Share this with your coach, via Google Drive.
  • Authenticate GC with Google using “Drive” credentials in Preferences
  • Select the folder in Preferences
  • Synchronize the data via the GoldenCheetah share menu item for Google Drive

Coach Side

  • Receive the share invite from your athlete
  • In drive.google.com, go to “Shared with me” and right click on the folder, select “Add to my drive”.
  • Authenticate GC with Google using “Drive” credentials in Preferences
  • Select the folder you added to your drive as the Athlete directory
  • Synchronize the data via the GoldenCheetah share menu item for Google Drive

The athlete can now control exactly what data the coach has access to and revoke the access at any point by simply removing access to one or more email address on his end in Google Drive. The athlete can also share the data with more coaches/friends should he want to.

How external data can be incorporated as XDATA?

XDATA can be added to an existing activity using the Editor, in v3.5 XDATA can also be imported from a CSV file using a format like:

XDATA: name
SECS, KM, serie1[:units1], serie2[:units2], ..., serienN[:unitsN]
secs, km, value1, value2, ..., valueN
...

When a CSV file with starting with the XDATA keyword is imported the "name" XDATA will be created with the series specified in the second line (units are optional) and values imported accordingly.

This file could then be merged using the merge activity wizard to add more standard or XDATA series.

A sample file with lap swim XDATA is available for testing.

What do the letters mean in the Data field?

The metadata field Data contains a letter to represent each type of data that is present in an activity. If the letter is present then the data is, otherwise it is represented as a '-'.

  • T - Time
  • D - Distance
  • S - Speed
  • P - Power
  • H - Heartrate
  • C - Cadence
  • N - Torque
  • A - Altitude
  • G - GPS
  • L - Slope
  • W - Windspeed
  • E - Temperature
  • V - "Vector" aka Left/Right pedal data
  • O - "Moxy" SMO2/Haemoglobin
  • R - Garmin Running Dynamics

How can I set Metadata Fields based on conditions?

Some metadata fields, s.t. Sport and Device, are set automatically on import and it is possible to define default rules to set other metadata fields based on them, provided they are not already set. For example adding Sport Run Equipment Kayano27 to Options > Data Fields > Defaults will set Equipment="Kayano27" for activities with Sport="Run" on import.

It is also possible to set metadata fields in bulk for previously imported activities. Continuing with the example above, if you want to set Equipment="Kayano27" for all activities with Sport="Run" without an Equipment field value, the following filter expression can do the trick when executed in the upper right filter box: set(Equipment, "Kayano27", Sport="Run" && !isset(Equipment)), beware to use filter instead of search and see Search and Filter for more details.

In v3.6, for even greater flexibility, metadata fields can also be set in Python Custom Data Processors

Where is Metadata configuration stored?

Metadata configuration can be fully maintained using Config > Data Fields, but if you are interested in the inner structure, wants to reset it to default values or to incorporate fields introduced in newer versions, the following details may help.

Up to GoldenCheetah v3.5 metadata configurations was stored in config/metadata.xml file under each athlete folder, when this file was not present a new default one was created, so an easy way to reset to default configuration is to remove config/metadata.xml when the program is not running.

From v3.6 metadata configuration is global for all athletes and metadata.xml is stored in GoldenCheetah library, parallel to athletes folders, if this file is not present, a new one will be generated combining config/metadata.xml files from all existing athletes for compatibility with previous versions, plus default configuration for new fields. When you first upgrade from v3.5, existing fields will be preserved and new ones in default configuration added, if you want to update you current configurations afterwards, an easy way is to move metadata.xml to config/metadata.xml of your first athlete when the program is closed. To reset to default configuration you need to remove metadata.xml and config/metadata.xml for each athlete when the program is not running.

Current default metadata configuration can be found in https://github.com/GoldenCheetah/GoldenCheetah/blob/master/src/Resources/xml/metadata.xml

Where is Zone configuration stored?

Zones configuration is stored as .zones text files under athlete's config folder, there are default (Bike) Power and HR zones plus sport specific ones if you configure them, s.t. hr.zones power.zones run-hr.zones run-pace.zones run-power.zones swim-hr.zones swim-pace.zones swim-power.zones

Where are Measures stored?

Measures configuration is stored in measures.ini file parallel to athletes folders, for each athlete and measures group there is a .json file storing data under athlete's config folder, s.t. bodymeasures.json, hrvmeasures.json Incompatible changes in Google OAuth