functions.xml 9.94 KB
<?xml version="1.0"?>
<functions xml:id="functions">
    <function name="mean_(,)" args="1" kind="time">
        <prompt>input averaging time in secs</prompt>
        <info_brief>average</info_brief>
        <new_kernel>#sampling_classic</new_kernel>
    </function> 
    <function name="median_(,)" args="1" kind="time">
        <prompt>input averaging time in secs</prompt>
        <info_brief>median average</info_brief>
        <new_kernel>#median</new_kernel>
    </function>
    <function name="rms_(,)" args="1" kind="time">
        <prompt>input averaging time in secs</prompt>
        <info_brief>root mean square</info_brief>
        <new_kernel>#rms</new_kernel>
    </function>  
    <function name="min_(,)" args="1" kind="time">
        <prompt>input window time in secs</prompt>
        <info_brief>min() function</info_brief>
        <new_kernel>#min</new_kernel>
    </function> 
    <function name="max_(,)" args="1" kind="time">
        <prompt>input window time in secs</prompt>
        <info_brief>max() function</info_brief>
        <new_kernel>#max</new_kernel>
    </function>
    <function name="var_(,)" args="1" kind="time">
        <prompt>input window time in secs</prompt>
        <info_brief>variance() function</info_brief>
        <new_kernel>#var</new_kernel>
    </function>
    <function name="skew_(,)" args="1" kind="time">
        <prompt>input window time in secs</prompt>
        <info_brief>skewness() function</info_brief>
        <new_kernel>#skew</new_kernel>
    </function>
    <function name="mean_sm_(,)" args="1" kind="sliding">
        <prompt>input averaging time in secs</prompt>
        <info_brief>average</info_brief>
        <new_kernel>#sliding_average</new_kernel>
    </function> 
    <function name="rms_sm_(,)" args="1" kind="sliding">
        <prompt>input averaging time in secs</prompt>
        <info_brief>root mean square</info_brief>
        <new_kernel>#rms_sm</new_kernel>
    </function>
    <function name="min_sm_(,)" args="1" kind="sliding">
        <prompt>input window time in secs</prompt>
        <info_brief>min() function</info_brief>
        <new_kernel>#min_sm</new_kernel>
    </function> 
    <function name="max_sm_(,)" args="1" kind="sliding">
        <prompt>input window time in secs</prompt>
        <info_brief>max() function</info_brief>
        <new_kernel>#max_sm</new_kernel>
    </function>
    <function name="var_sm_(,)" args="1" kind="sliding">
        <prompt>input window time in secs</prompt>
        <info_brief>variance() function</info_brief>
        <new_kernel>#var_sm</new_kernel>
    </function>
    <function name="skew_sm_(,)" args="1" kind="sliding">
        <prompt>input window time in secs</prompt>
        <info_brief>skewness() function</info_brief>
        <new_kernel>#skew_sm</new_kernel>
    </function>
    <function name="smooth_(,)" args="1" kind="sliding">
        <prompt>input averaging time in secs</prompt>
        <info_brief>smooths with a boxcar average</info_brief>
        <new_kernel>#boxcar</new_kernel>
    </function> 
    <!--  <function name="shiftN_(,)" args="1" kind="amda">
      <prompt>input number of points  N to delay by</prompt>
      <info_brief>Delays array by N points back (N &lt; 0) and forth (N &gt; 0)</info_brief>
    </function>-->
    <function name="shiftT_(,)" args="1" kind="amda">
        <prompt>input time interval T in secs to delay by</prompt>
        <info_brief>Shifts parameter by T secs back (T &lt; 0) and forth (T &gt; 0))</info_brief>
        <new_kernel>#timeShift</new_kernel>
    </function>
    <function name="vAlfven(,)" args="2" kind="physics">
        <!--prompt>input density[cm^⁻3])</prompt-->
        <!--default_args>arg1</default_args-->
        <info_brief>Alfven velocity Valfven(density[cm^⁻3], mag[nT])</info_brief>
        <new_kernel>alfvenVelocity</new_kernel>
    </function>

     <function name="perreault78(,,)" args="3" kind="physics">
        <info_brief>Perreault and Akasofu 1978 model u = perreault78(E_mag, B_mag, theta_p)</info_brief>
        <new_kernel>perreault78</new_kernel>
    </function>

    <function name="newell2007(,)" args="3" kind="physics">
        <info_brief>NEWELL et al 2007 solar wind-magnetosphere coupling function d_phi/d_t = newell2007(mu, B_mag, theta) </info_brief>
        <new_kernel>newell2007</new_kernel>
    </function>
 
    <!--<function name="fairfield70(,tilt_angle_60)" args="2" kind="physics">-->
    <function name="fairfield70(,)" args="2" kind="physics">
        <!-- <prompt>xyz_sm (Re), dipole tilt angle (deg)</prompt> -->
        <info_brief>Distance (Re) from s/c location to Fairfield1970 model neutral sheet position.&lt;br/&gt;
            dZ = fairfield70(xyz_sm, tilt_angle),&lt;br/&gt; xyz_sm is the s/c SM coordinates (Re) and  tilt angle is in degrees.&lt;br/&gt; Valid for y_sm &lt; 15 Re.</info_brief>
        <new_kernel>fairfield70</new_kernel>
    </function>

   <!--<function name="fairfield80(,tilt_angle_60)" args="2" kind="physics">-->
   <function name="fairfield80(,)" args="2" kind="physics">
        <!-- <prompt>xyz_sm (Re), dipole tilt angle (deg)</prompt> -->

        <info_brief>Distance (Re) from s/c location to Fairfield1980 model neutral sheet position.&lt;br/&gt;
            dZ = fairfield80(xyz_sm, tilt_angle),&lt;br/&gt; xyz_sm is the s/c SM coordinates (Re) and  tilt angle is in degrees.&lt;br/&gt;</info_brief>
        <new_kernel>fairfield80</new_kernel>
    </function>
    
    <!--<function name="lopez90(omni_kp,,,tilt_angle_60)" args="4" kind="physics">-->
    <function name="lopez90(,,,)" args="4" kind="physics">
        <!-- <prompt>
           Kp, MLT (deg), R (Re), dipole tilt angle ( deg )
        </prompt> -->
        <info_brief>
            Magnetic latitude of the neutral sheet (Lopez1990 model) &lt;br/&gt;   
            MLAT = lopez90(Kp, MLT, R, tilt_angle) &lt;br/&gt;
            Kp is the 3-hour magnetic index, MLT the magnetic local time in degrees (MLT = 0° at midnight)
            R is the radial distance in RE and  dipole tilt angle in degrees
        </info_brief>
        <new_kernel>lopez90</new_kernel>
    </function>
   <!-- <function name="frameTransformation(,,)" args="3" kind="vectors">
        <prompt>FROM, TO, isPosition</prompt>
        <info_brief>frame transformation</info_brief>
        <new_kernel>#framesTransformation</new_kernel>
    </function>-->
    <function name="angle(,)" args="2" kind="vectors">
        <info_brief>Angle between two vectors</info_brief>
        <new_kernel>angle</new_kernel>
    </function>

    <function name="cross(,)" args="2" kind="vectors">
        <info_brief>Cross product</info_brief>
        <new_kernel>cross</new_kernel>
    </function>

    <function name="dot(,)" args="2" kind="vectors">
        <info_brief>Dot product</info_brief>
        <new_kernel>dot</new_kernel>
    </function>

    <function name="vector(,,)" args="3" kind="vectors">
        <info_brief>Build vector from components</info_brief>
        <new_kernel>vector_</new_kernel>
    </function>

    <function name="module()" kind="vectors">
        <info_brief>Magnitude</info_brief>
        <new_kernel>magnitude</new_kernel>
    </function>
    
    <function name="abs()" kind="math">
        <info_brief>Absolute value</info_brief>
        <new_kernel>abs</new_kernel>
    </function>
    <function name="acos()" kind="math">
        <info_brief>Arc-cosine</info_brief>
        <new_kernel>acos</new_kernel>
    </function>
    <function name="alog()" kind="math">
        <info_brief>Natural logarithm</info_brief>
        <new_kernel>log</new_kernel>
    </function>
    <function name="alog10()" kind="math">
        <info_brief>Logarithm to the base 10</info_brief>
        <new_kernel>log10</new_kernel>
    </function>
    <function name="asin()" kind="math">
        <info_brief>Arc-sine</info_brief>
        <new_kernel>asin</new_kernel>
    </function>
    <function name="atan()" kind="math">
        <info_brief>Arc-tangent</info_brief>
        <new_kernel>atan</new_kernel>
    </function>
    <function name="atan2(,)" args="2" kind="math">
        <info_brief>Arc-tangent</info_brief>
        <new_kernel>atan2</new_kernel>
    </function>
    <function name="ceil()" kind="math">
        <info_brief>Closest integer greater than or equal to its argument</info_brief>
        <new_kernel>Ceil</new_kernel>
    </function>
    <function name="cos()" kind="math">
        <info_brief>cosine</info_brief>
        <new_kernel>cos</new_kernel>
    </function>
    <function name="cosh()" kind="math">
        <info_brief>Hyperbolic cosine</info_brief>
        <new_kernel>cosh</new_kernel>
    </function>
    <function name="deriv_()" kind="math">
        <info_brief>deriv() function with possibly unequal point spacing</info_brief>
        <new_kernel>#deriv</new_kernel>
    </function>
    <function name="exp()" kind="math">
        <info_brief>Natural exponential function</info_brief>
        <new_kernel>exp</new_kernel>
    </function>
    <function name="fix()" kind="math">
        <info_brief>Integer</info_brief>
        <new_kernel>Fix</new_kernel>
    </function>
    <function name="floor()" kind="math">
        <info_brief>Closest integer less than or equal to its argument</info_brief>
        <new_kernel>Floor</new_kernel>
    </function>
    <function name="sign()" kind="math">
        <info_brief>Sign</info_brief>
        <new_kernel>Sign</new_kernel>
    </function>
    <function name="sin()" kind="math">
        <info_brief>Sine</info_brief>
        <new_kernel>sin</new_kernel>
    </function>
    <function name="sinh()" kind="math">
        <info_brief>Hyperbolic sine</info_brief>
        <new_kernel>sinh</new_kernel>
    </function>
    <function name="tan()" kind="math">
        <info_brief>Tangent</info_brief>
        <new_kernel>tan</new_kernel>
    </function>
    <function name="tanh()" kind="math">
        <info_brief>Hyperbolic tangent</info_brief>
        <new_kernel>tanh</new_kernel>
    </function>
    <function name="sqrt()" kind="math">
        <info_brief>Square root</info_brief>
        <new_kernel>sqrt</new_kernel>
    </function>
</functions>