data.archive.put adds new data to the archive. It accepts a list of files or reads its input from standard input. Data is read and the archive is updated. Any time ranges for which the new data exists the old data is replaced.

NOTE: As an exception to normal file formating, input files are allowed to have out of order times between records. However all times within a record type must be in order. This only applies to records within a file, records between files must be in order. Additionally if this exception is used records from the time ranged covered by it must only come from a single source file. That is each input file must contain all the records it defines for the time range it covers.

Command Line Usage

data.archive.put [--replace-start=start] [--replace-end=end] 
                 [--effective-start=start] [--effective-end=end]
                 [--notify] [--notify-additional=archives] 
                 station [target] [file1] [file2] ...



The station identifier code. For example 'brw'. Case insensitive.


Target archive. Defaults to “raw” if omitted.

file1 file2 ... file N

Optional, if omitted input is read from standard input. If any of the files is ”-” input is read from standard input possibly in addition from the other files.

--replace-start --replace-end

Set the bounds to replace data for. If either is omitted it defaults to exactly what is found in the input. Used to force replacing of data for a time range even if the input does not extend that far. Any convertible time format is accepted.


Set records to ignore in replacement. This is used to exclude certain records from being removed if they are not present in the input stream.

--effective-start= and --effective-end

Specify the bounds that any time dependent headers are effective for. Will use the replace bounds if present and if not the start as the start of the input and the end as undefined. Any convertible time format is accepted.


Enable new data notification system. This will trigger various processing systems for all data in the contained interval (which may be more than was actually modified). This is usually only needed in the automatic calls as part of data.pass and data.process.station.


List separated by ”:”, ”;” or ”,” of additional archives to propagate the notification to. No effect if used without –notify.

Example Usage

data.archive.put sgp raw input_data_1 input_data_2