functions.xml 15.6 KB
<?xml version="1.0"?>
<functions xml:id="functions">
    <function name="mean_(,)" args="1" kind="time" group="stat">
	<prompts>
        	<prompt>input averaging time in secs</prompt>
	</prompts>
        <info_brief>average</info_brief>
        <new_kernel>#sampling_classic</new_kernel>
    </function> 
    <function name="median_(,)" args="1" kind="time" group="stat">
	<prompts>
        	<prompt>input averaging time in secs</prompt>
	</prompts>
        <info_brief>median average</info_brief>
        <new_kernel>#median</new_kernel>
    </function>
    <function name="rms_(,)" args="1" kind="time" group="stat">
	<prompts>
        	<prompt>input averaging time in secs</prompt>
	</prompts>
        <info_brief>root mean square</info_brief>
        <new_kernel>#rms</new_kernel>
    </function>  
    <function name="min_(,)" args="1" kind="time"  group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>min() function</info_brief>
        <new_kernel>#min</new_kernel>
    </function> 
    <function name="max_(,)" args="1" kind="time" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>max() function</info_brief>
        <new_kernel>#max</new_kernel>
    </function>
    <function name="var_(,)" args="1" kind="time" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>variance() function</info_brief>
        <new_kernel>#var</new_kernel>
    </function>
    <function name="skew_(,)" args="1" kind="time" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>skewness() function</info_brief>
        <new_kernel>#skew</new_kernel>
    </function>
    <function name="mean_sm_(,)" args="1" kind="sliding" group="stat">
	<prompts>
        	<prompt>input averaging time in secs</prompt>
	</prompts>
        <info_brief>average</info_brief>
        <new_kernel>#sliding_average</new_kernel>
    </function> 
    <function name="rms_sm_(,)" args="1" kind="sliding" group="stat">
	<prompts>
        	<prompt>input averaging time in secs</prompt>
	</prompts>
        <info_brief>root mean square</info_brief>
        <new_kernel>#rms_sm</new_kernel>
    </function>
    <function name="min_sm_(,)" args="1" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>min() function</info_brief>
        <new_kernel>#min_sm</new_kernel>
    </function> 
    <function name="max_sm_(,)" args="1" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>max() function</info_brief>
        <new_kernel>#max_sm</new_kernel>
    </function>
    <function name="var_sm_(,)" args="1" kind="sliding" group="stat">
	<prompts>
	        <prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>variance() function</info_brief>
        <new_kernel>#var_sm</new_kernel>
    </function>
    <function name="skew_sm_(,)" args="1" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>skewness() function</info_brief>
        <new_kernel>#skew_sm</new_kernel>
    </function>
    <function name="smooth_(,)" args="1" kind="sliding" group="stat">
	<prompts>
        	<prompt>input averaging time in secs</prompt>
	</prompts>
        <info_brief>smooths with a boxcar average</info_brief>
        <new_kernel>#boxcar</new_kernel>
    </function> 
    <function name="covariance_(,,)" args="2" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>covariance() function for two params</info_brief>
        <new_kernel>#covariance</new_kernel>
    </function>
    <function name="pearson_(,,)" args="2" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>Pearson coefficient of two parameters</info_brief>
        <new_kernel>#pearson</new_kernel>
    </function>
    <function name="kendall_(,,)" args="2" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>Kendall coefficient of two parameters</info_brief>
        <new_kernel>#kendall</new_kernel>
    </function>
    <function name="spearman_(,,)" args="2" kind="sliding" group="stat">
	<prompts>
        	<prompt>input window time in secs</prompt>
	</prompts>
        <info_brief>Spearman coefficient of two parameters</info_brief>
        <new_kernel>#spearman</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" group="space">
	<prompts>
        	<prompt>input time interval T in secs to delay by</prompt>
	</prompts>
        <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="filter()" args="3" kind="filter" group="space">
        <default_args>,6,100</default_args>
        <info_brief>Remove Spikes ( ! Experimental ! ) : filter(param, factor,nPoints)</info_brief>
        <new_kernel>#filter</new_kernel>
    </function>
    <function name="BCain(,)" args="2" kind="model" group="space">
        <default_args>"",mag</default_args>
        <info_brief>Cain model for Mars Magnetic Field</info_brief>
        <new_kernel>#bcain</new_kernel>
    </function>
    <function name="vAlfven(,)" args="2" kind="physics" group="space">
        <prompt_param>density[cm^⁻3], b_magnitude[nT]</prompt_param>
        <info_brief>Alfven velocity Valfven(density[cm^⁻3], b_magnitude[nT])</info_brief>
        <new_kernel>alfvenVelocity</new_kernel>
    </function>
    <function name="mlt_maglib(,)" args="1" kind="physics" group="space">
        <prompts>
                <prompt type="list" subtype="external_fields" default="1">External field:</prompt>
        </prompts>
        <info_brief>Compute MLT from geographical spacecraft position (cartesian coordinates and in Earth radius)</info_brief>
        <new_kernel>#maglib_mlt</new_kernel>
    </function>
    <function name="invlat_maglib(,)" args="1" kind="physics" group="space">
        <prompts>
                <prompt type="list" subtype="external_fields" default="1">External field:</prompt>
        </prompts>
        <info_brief>Compute InvLat from geographical spacecraft position (cartesian coordinates and in Earth radius)</info_brief>
        <new_kernel>#maglib_invlat</new_kernel>
    </function>
    <function name="lparam_maglib(,)" args="1" kind="physics" group="space">
        <prompts>
                <prompt type="list" subtype="external_fields" default="1">External field:</prompt>
        </prompts>
        <info_brief>Compute L Param from geographical spacecraft position (cartesian coordinates and in Earth radius)</info_brief>
        <new_kernel>#maglib_lparam</new_kernel>
    </function>

     <function name="perreault78(,,)" args="3" kind="model" group="space">
        <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="model" group="space">
        <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="model" group="space">
        <prompt_param>xyz_sm (Re), dipole tilt angle (deg)</prompt_param>
        <default_args>,tilt_angle_60</default_args>
        <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="model" group="space">
        <prompt_param>xyz_sm (Re), dipole tilt angle (deg)</prompt_param> 
        <default_args>,tilt_angle_60</default_args>
        <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="model" group="space">
        <prompt_param>Kp, MLT (deg), R (Re), dipole tilt angle (deg)</prompt_param>
        <default_args>omni_kp,,,tilt_angle_60</default_args>
        <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="pv_ionos_dn(,)" args="2" kind="model" group="space">
        <prompt_param></prompt_param>
        <default_args>alt(Km), sza(Radians)</default_args>
        <info_brief>
            Electron Density around Venus &lt;br/&gt;
            dn = pv_ionos_dn(alt, sza) &lt;br/&gt;
	    alt is the altitude in Km 
	    sza is the solat zenith angle in radians 
            dn is the base 10 log of the model electron density in no/cc
        </info_brief>
        <new_kernel>pv_ionos_dn</new_kernel>
    </function>
    <function name="pv_ionos_te(,)" args="2" kind="model" group="space">
        <prompt_param></prompt_param>
        <default_args>alt(Km), sza(Radians)</default_args>
        <info_brief>
            Electron temperature around Venus &lt;br/&gt;
            te = pv_ionos_dn(alt, sza) &lt;br/&gt;
            alt is the altitude in Km
            sza is the solat zenith angle in radians
            te is in log10 deg K
        </info_brief>
        <new_kernel>pv_ionos_te</new_kernel>
    </function>
    <function name="framesTransformation(,,,)" args="1" kind="frames" group="space">
	<prompts>
        	<prompt type="list" subtype="frames" default="GSM">Input frame:</prompt>
        	<prompt type="list" subtype="frames" default="GSE">Output frame:</prompt>
                <prompt type="boolean">The vector represents a position in space</prompt>
	</prompts>
        <info_brief>Frames transformation</info_brief>
        <new_kernel>#framesTransformation</new_kernel>
    </function>
    <function name="fourierSpectrum(,)" args="1" kind="amda" group="space">
        <prompts>
                 <prompt>input time interval T in secs to delay by</prompt>
                 <prompt type="list" subtype="spectrum" default="center">Sampling type:</prompt>
        </prompts>
        <info_brief>fourier spectrum</info_brief>
        <new_kernel>#spectrum</new_kernel>
    </function>
    <function name="GSE2GSM()" kind="frames" group="space">
        <info_brief>GSE to GSM frame transformation</info_brief>
        <new_kernel>#GSE2GSM</new_kernel>
    </function>
    <function name="GSM2GSE()" kind="frames" group="space">
        <info_brief>GSM to GSE frame transformation</info_brief>
        <new_kernel>#GSM2GSE</new_kernel>
    </function>
    <function name="angle(,)" args="2" kind="vectors" group="math">
        <info_brief>Angle between two vectors</info_brief>
        <new_kernel>angle</new_kernel>
    </function>

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

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

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

    <function name="module()" kind="vectors" group="math">
        <info_brief>Magnitude</info_brief>
        <new_kernel>magnitude</new_kernel>
    </function>
    
    <function name="abs()" kind="math" group="math">
        <info_brief>Absolute value</info_brief>
        <new_kernel>abs</new_kernel>
    </function>
    <function name="acos()" kind="math" group="math">
        <info_brief>Arc-cosine</info_brief>
        <new_kernel>acos</new_kernel>
    </function>
    <function name="alog()" kind="math" group="math">
        <info_brief>Natural logarithm</info_brief>
        <new_kernel>log</new_kernel>
    </function>
    <function name="alog10()" kind="math" group="math">
        <info_brief>Logarithm to the base 10</info_brief>
        <new_kernel>log10</new_kernel>
    </function>
    <function name="asin()" kind="math" group="math">
        <info_brief>Arc-sine</info_brief>
        <new_kernel>asin</new_kernel>
    </function>
    <function name="atan()" kind="math" group="math">
        <info_brief>Arc-tangent</info_brief>
        <new_kernel>atan</new_kernel>
    </function>
    <function name="atan2(,)" args="2" kind="math" group="math">
        <info_brief>Arc-tangent</info_brief>
        <new_kernel>atan2</new_kernel>
    </function>
    <function name="ceil()" kind="math" group="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" group="math">
        <info_brief>cosine</info_brief>
        <new_kernel>cos</new_kernel>
    </function>
    <function name="cosh()" kind="math" group="math">
        <info_brief>Hyperbolic cosine</info_brief>
        <new_kernel>cosh</new_kernel>
    </function>
    <function name="deriv_()" kind="math" group="math">
        <info_brief>deriv() function with possibly unequal point spacing</info_brief>
        <new_kernel>#deriv</new_kernel>
    </function>
    <function name="exp()" kind="math" group="math">
        <info_brief>Natural exponential function</info_brief>
        <new_kernel>exp</new_kernel>
    </function>
    <function name="fix()" kind="math" group="math">
        <info_brief>Integer</info_brief>
        <new_kernel>Fix</new_kernel>
    </function>
    <function name="floor()" kind="math" group="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" group="math">
        <info_brief>Sign</info_brief>
        <new_kernel>Sign</new_kernel>
    </function>
    <function name="sin()" kind="math" group="math">
        <info_brief>Sine</info_brief>
        <new_kernel>sin</new_kernel>
    </function>
    <function name="sinh()" kind="math" group="math">
        <info_brief>Hyperbolic sine</info_brief>
        <new_kernel>sinh</new_kernel>
    </function>
    <function name="tan()" kind="math" group="math">
        <info_brief>Tangent</info_brief>
        <new_kernel>tan</new_kernel>
    </function>
    <function name="tanh()" kind="math" group="math">
        <info_brief>Hyperbolic tangent</info_brief>
        <new_kernel>tanh</new_kernel>
    </function>
    <function name="sqrt()" kind="math" group="math">
        <info_brief>Square root</info_brief>
        <new_kernel>sqrt</new_kernel>
    </function>

</functions>