The syntax of ORCHESTRA output files 11/11/2024 The required content of output files is normally defined in the header of an already existing output file. So ORCHESTRA reads the output file first (so its also an input file) to read the required output variables and frequency etc. from the header. The header contains a list of variables which is read by ORCHESTRA before a run and defines which variables are given as output during the next run. Output variables The variables for which output is required can be specified by a line that starts with "Var:" and subsequently a row of variable names in any order: Var: pH pe Ca+2.logact After a run this line of column headers will be followed by one or more lines of values for each of the variables: Var: pH pe Ca+2.logact Data: 7.32 9.78 2.3345e-6 Data: ....... Special values output variable values When an output variable is not known so not defined in a cell or chemical solver the output value will be 1.11111111e-111 In case of a number over or underflow an output value of 123456789 or 1.2345678e008 will be given as output Output frequency filter The cells for which output is required are defined in the concert file. Normally the output is generated at each timestep, however in case of transport or dynamic (kinetic) systems this would easily generate a huge amount of data which is difficult to handle in spreadheet programs etc. Therefore the frequency, or moments of output can be filtered by the following statements in the output file: Examples of output frequency definition format: Output_at: (time_hours, 0, 1, 5, 9, 15 ) Output_at: (time, from:, 0, to:, 10, step:, .1 ) Output_at: (time_years, from:, 0, to:, 10, steps:, 100 ) Output_at: (time_hours, from:, 0, to:, 200, logsteps:, 100 ) Note that usually the requested moments of output will not exactly coincide with the discrete time steps during the calculations. ORCHESTRA will therefore give output at the first time step that is equal or later than the requested time. Furthermore the variable that is used for the filter (e.g. time) needs to be defined as one of the output variables. Output format The output format can also be defined within a "format" class at the start of an output file. In that case the output file starts with the definition of a "format" class that can contain arbitrary text that is simply remembered between runs, and this class is used directly after this definition. @class: format(){ .... .... } @format() Because this file and classes are processed by the standard ORCHESTRA expander, this means that all the expander commands /statements can be used in the format class. The @include: makes it possible to define the column headers, and thus the output variables /frequency in another place/file @class: format(){ @include: parameters.txt // this file can contain the defintion of the "my_output_format class" @my_output_format() } @format()