Normally the data is transferred directly from the quantities to the plots.
p0y = q0 (A binding is done from quantity 0 to plot 0)
p1y = q0 (A binding is done from quantity 1 to plot 1)
pny = qn
When pressing the Select->Calculator in the igr menubar the igr calculator Dialog appears.
The expressions are typed in the text field at the top of the window, (input text line). When pressing the enter key on your keyboard, or the Apply button in the window the Calculator test the expression typed.
If it can be executed, the result will be seen in the text field in the middle of the window (plot text field).
If the Calculator finds some error, it writes a message in the Error message text line at the bottom of the window. At the same time the keyboard cursor is placed at the error in the input text line.
The expression usually have plots on the left side of the = , and quantities on the right side of the = . The = indicates the binding between the quantity q* and the plot p*y.
When the Update in the ISDAT time manager ctm is pressed, the equations in the plot text field in the Calculator defines what is plotted in the panels in the igr client.
Usually when plotting data in the igr client we have data values along the y-axis (p*y) and time along the x-axis. However we are also allowed to plot a quantity as a function of another quantity.
p0y = q0
If you want to edit one of the line in
the plot text field (middle panel),
double-click with your left mouse button on the line.
p0y = q0 + q1The + is an arithmetic operator which add each sample in the quantities q0 and q1.
The built in arithmetic operators in the Calculator is :
- -q0 negate all samples in q0 + q0 + q1 add each sample in q0 and q1 * q0 * q1 multiply each sample in q0 and q1 / q0 / q1 divide each sample in q0 with each sample in q1 X q0 X q1 make cross product between each sample in q0 and q1 join join(q0,q1) put all samples in q1 on the timeline/timetags used by q0 ( ) (q1 + q0)/2 compute the expression between () first pol_r pol_r(q0) norm r=sqrt(x^2 + y^2 + z^2) ; q0 is a vector (x,y,z) pol_phi pol_phi(q0) phi = arctan(y/x) ; q0 is a vector (x,y,z) pol_th pol_th(q0) theta = arccos(z/r) ; q0 is a vector (x,y,z) re re(q0) returns the real part of complex variable im im(q0) returns the imaginary part of complex variable avg avg(q0) average spectra ; q0 is an array
Unary minus has the highest precedence.
* and / have higher precedence than + and - .
To override this precedence scheme use parenthesis.
Joining of data:
Joining will be performed if needed.
p0y = q0 + q1,
If q0 and q1 do not have the same number of samples or the sample times are not the same,
the Calculator will automatically join the least sparse of the two quantities
to the same time line as the most sparse one.
Also constants can be used in the expressions, e.g. 3.14159265 .
p0 = (q1 + q2) / 2.0
p4y = q4 * 6371.2
To see what external operators you have compiled for your ISDAT system:
Press the Operator pulldown menue in the igr calculator window.
(If you have downloaded some operators from the ISDAT CVS to the $ISDAT_HOME/operators directory, remember to update the Imakefile in $ISDAT_HOME/operators directory. Then recompile the whole $ISDAT_HOME with make isdat in $ISDAT_HOME.)
Some of the operators have their own Dialog window. To see this Dialog window mark the operator with the left mouse button in the input text line in the igr calculator window. Then press Edit-> Operator. Then if the operator contains a Dialog window it will show up.
In this figure we have shown how to display the fft Dialog window. (Be careful only to mark the correct characters, only the name of the operator.)
v0 = despin(q0)(Actually we are allowed to use 132 temporary variables, v0, v1 .. v131.)
p0y = v0
sqrt(q0*q0 + q0*q0 + q0*q0)is plotted. However the user can extract each value, e.g. p0y = q
p0y = q0 + q1The operations performed are p0y[i] = q0[i] + q1[i] , i = 1,2,3
v0 = fft(q0)This extract the eleventh bin in each of the spectra.
p0y = v0
Example: q0 is "CSDS_PP C1 FGM B_xyz_gse__C1_PP_FGM" Then q0 is Bx q0 is By q0 is Bz Example: q4 is "Cluster 1 ephemeris position" Then q4 / 6371.2 is the x position (GSE) of the satellite in Re q4 / 6371.2 is the y position (GSE) of the satellite in Re q4 / 6371.2 is the z position (GSE) of the satellite in Re