This page was created by the IDL library routine
mk_html_help2
.
Last modified: Wed Jun 12 10:49:46 2024.
Function: t04s Purpose: generates an array of model magnetic field vectors from a monotonic time series and an array of 3-d position vectors Input: tarray: N array representing the time series in seconds utc since 1970 rgsm_array: Nx3 array representing the position series in earth radii (required to be in GSM coordinates) The following arguments can either be N length arrays or single values pdyn_array: Solar wind pressure (nanoPascals) dsti_array: DST index(nanoTeslas) yimf_array: y component of the interplanetary magnetic field zimf_array: z component of the interplanetary magnetic field w1_array: index represents a time integral over a storm w2_array: index represents a time integral over a storm w3_array: index represents a time integral over a storm w4_array: index represents a time integral over a storm w5_array: index represents a time integral over a storm w6_array: index represents a time integral over a storm Keywords: period(optional): the amount of time between recalculations of geodipole tilt in seconds(default: 60) increase this value to decrease run time add_tilt: Increment the default dipole tilt used by the model with a user provided tilt in degrees. Result will be produced with TSY_DEFAULT_TILT+ADD_TILT Value can be set to an N length array an M length array or a single element array. N is the number of time elements for the data. M is the number of periods in the time interval.(determined by the period keyword) If single element is provided the same correction will be applied to all periods. If an N length array is provided, the data will be re-sampled to an M length array. Consequently, if the values change quickly, the period may need to be shortened. get_tilt: Returns the dipole_tilt parameter used for each period. Returned value has a number of elements equal to the value returned by get_nperiod set_tilt: Alternative dipole_tilt value rather than the geopack tilt. This input can be an M length array, and N length array or a single elemnt. Value can be set to an N length array an M length array or a single element array. N is the number of time elements for the data. M is the number of periods in the time interval.(determined by the period keyword) If an N length array is provided, the data will be re-sampled to an M length array. Consequently, if the values change quickly, the period may need to be shortened. Notes: 1) set_tilt will cause add_tilt to be ignored 2) Due to this routine adding IGRF to the returned field, you cannot use set_tilt = 0 and give input position values in SM coordinates; input position values are required to be in GSM coordinates due to the IGRF calculation exact_tilt_times (optional): Set this keyword to avoid grouping similar times (default 10 minutes) and instead recalculate the dipole tilt at each input time get_nperiod: Returns the number of periods used for the time interval= ceil((end_time-start_time)/period) geopack_2008 (optional): Set this keyword to use the latest version (2008) of the Geopack library. Version 9.2 of the IDL Geopack DLM is required for this keyword to work. IOPGEN (optional): General option flag to pass to geopack_ts04. From Tsyganenko's Fortran: IOPGEN=0 - CALCULATE TOTAL FIELD IOPGEN=1 - DIPOLE SHIELDING ONLY IOPGEN=2 - TAIL FIELD ONLY IOPGEN=3 - BIRKELAND FIELD ONLY IOPGEN=4 - RING CURRENT FIELD ONLY IOPGEN=5 - INTERCONNECTION FIELD ONLY IOPT (optional) - TAIL FIELD FLAG: IOPT=0 - BOTH MODES IOPT=1 - MODE 1 ONLY IOPT=2 - MODE 2 ONLY IOPB (optional) - BIRKELAND FIELD FLAG: IOPB=0 - ALL 4 TERMS IOPB=1 - REGION 1, MODES 1 AND 2 IOPB=2 - REGION 2, MODES 1 AND 2 IOPR (optional) - RING CURRENT FLAG: IOPR=0 - BOTH SRC AND PRC IOPR=1 - SRC ONLY IOPR=2 - PRC ONLY Returns: an Nx3 length array of field model data (TS04 + IGRF) or -1L on failure Example: mag_array = t04s(time_array,pos_array,pdyn_array,dsti_array,yimf_array,zimf_array,w1_array,w2_array,w3_array,w4_array,w5_array,w6_array) mag_array = t04s(time_array,pos_array,pdyn_array,dsti_array,yimf_array,zimf_array,w1_array,w2_array,w3_array,w4_array,w5_array,w6_array,period=10) Notes: 1. Relies on the IDL/Geopack Module provided by Haje Korth JHU/APL and N.A. Tsyganenko NASA/GSFC, if the module is not installed this function will fail. 2. Sums the contribution from the internal field model and the external field model. 3. Has a loop with number of iterations = (tarray[n_elements(t_array)]-tarray[0])/period This means that as period becomes smaller the amount time of this function should take will grow quickly. 4. Position units are in earth radii, be sure to divide your normal units by 6371.2 km to convert them. 6371.2 = the value used in the GEOPACK FORTRAN code for Re 5.Find more documentation on the inner workings of the model, any gotchas, and the meaning of the arguments at: http://geo.phys.spbu.ru/~tsyganenko/modeling.html -or- http://ampere.jhuapl.edu/code/idl_geopack.html 6. Definition of W1-W6 can be found at: N. A. Tsyganenko and M. I. Sitnov, Modeling the dynamics of the inner magnetosphere during strong geomagnetic storms, J. Geophys. Res., v. 110 (A3), A03208, doi: 10.1029/2004JA010798, 2005 7. The dipole tilt calculation periods are now set so that the center (not the start) of the first period is aligned with the first timestamp. JWL 2021-03-22 $LastChangedBy: jwl $ $LastChangedDate: 2021-06-24 16:12:40 -0700 (Thu, 24 Jun 2021) $ $LastChangedRevision: 30083 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/external/IDL_GEOPACK/t04s/t04s.pro $
(See external/IDL_GEOPACK/t04s/t04s.pro)
t04s_test Purpose: A few tests to verify that the model and the wrapper procedures work correctly $LastChangedBy: lphilpott $ $LastChangedDate: 2012-06-14 11:16:07 -0700 (Thu, 14 Jun 2012) $ $LastChangedRevision: 10562 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/external/IDL_GEOPACK/t04s/t04s_test.pro $
(See external/IDL_GEOPACK/t04s/t04s_test.pro)
Procedure: tt04s Purpose: tplot wrapper for the functional interface to the IDL Geopack implementation of the Tsyganenko-Sitnov (2004) storm-time geomagnetic field model. Input: pos_gsm_tvar: the tplot variable storing the position in gsm coordinates Keywords: pdyn(optional): Solar wind pressure(nanoPascals) should either be a string naming a tplot variable or an array or a single value. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar dsti(optional): DST index(nanoTeslas) should either be a string naming a tplot variable or an array or a single value. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar yimf(optional): y component of the interplanetary magnetic field should either be a string naming a tplot variable or an array or a single value. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar zimf(optional): z component of the interplanetary magnetic field should either be a string naming a tplot variable or an array or a single value. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar w1(optional): time integral from the beginning of a storm can be an array or a tplot variable(see paper reference below for definitions of w1-w6) or a single value. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar w2(optional): time integral from the beginning of a storm can be an array or a tplot variable or a single value If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar w3(optional): time integral from the beginning of a storm can be an array or a tplot variable or a single value If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar w4(optional): time integral from the beginning of a storm can be an array or a tplot variable or a single value If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar w5(optional): time integral from the beginning of a storm can be an array or a tplot variable or a single value If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar w6(optional): time integral from the beginning of a storm can be an array or a tplot variable or a single value If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar; parmod(optional): can input the Nx10 parmod array used by the fortran Tsyganenko model instead of inputing parameters as separate arrays. If passed as a raw array it will not be modified or interpolated so be sure its has the correct number of entries. It can also be passed as a tplot variable name in which case it will be interpolated. If values are passed individually and as par, the par values will be overwritten. period(optional): the amount of time between recalculations of geodipole tilt in seconds(default: 60) increase this value to decrease run time get_nperiod(optional): Return the number of periods used in the time interval newname(optional):the name of the output variable. (default: pos_gsm_tvar+'_bt04s') This option is ignored if globbing is used. error(optional): named variable in which to return the error state of this procedure call. 1 = success, 0 = failure get_tilt(optional): Set this value to a tplot variable name in which the geodipole tilt for each period will be returned One sample will be returned for each period with time at the center of the period. set_tilt(optional): Set this to a tplot variable name or an array of values containing the dipole tilt that should be used. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar Notes: 1) set_tilt will cause add_tilt to be ignored 2) Due to this routine adding IGRF to the returned field, you cannot use set_tilt = 0 and give input position values in SM coordinates; input position values are required to be in GSM coordinates due to the IGRF calculation exact_tilt_times (optional): Set this keyword to avoid grouping similar times (default 10 minutes) and instead recalculate the dipole tilt at each input time add_tilt(optional): Set this to a tplot variable name or an array of values containing the values to be added to the dipole tilt that should be used for each period. If a tplot input is used it will be interpolated to match the time inputs from the position var. Non-tplot array values must match the number of times in the tplot input for pos_gsm_tvar geopack_2008 (optional): Set this keyword to use the latest version (2008) of the Geopack library. Version 9.2 of the IDL Geopack DLM is required for this keyword to work. iopgen (optional): General option flag to pass to geopack_ts04. From Tsyganenko's Fortran: IOPGEN=0 - CALCULATE TOTAL FIELD IOPGEN=1 - DIPOLE SHIELDING ONLY IOPGEN=2 - TAIL FIELD ONLY IOPGEN=3 - BIRKELAND FIELD ONLY IOPGEN=4 - RING CURRENT FIELD ONLY IOPGEN=5 - INTERCONNECTION FIELD ONLY IOPT (optional) - TAIL FIELD FLAG: IOPT=0 - BOTH MODES IOPT=1 - MODE 1 ONLY IOPT=2 - MODE 2 ONLY IOPB (optional) - BIRKELAND FIELD FLAG: IOPB=0 - ALL 4 TERMS IOPB=1 - REGION 1, MODES 1 AND 2 IOPB=2 - REGION 2, MODES 1 AND 2 IOPR (optional) - RING CURRENT FLAG: IOPR=0 - BOTH SRC AND PRC IOPR=1 - SRC ONLY IOPR=2 - PRC ONLY Output: Stores the result of the field model calculations in tplot variables Notes: 1. converts from normal gsm to rgsm by dividing vectors by earth's radius(6371.2 km) ie inputs should be in km 6371.2 = the value used in the GEOPACK FORTRAN code for Re 2. Input must be in GSM coordinates 3. Haje Korth's IDL/Geopack DLM must be installed for this procedure to work 4. either the variables setting parmod or the variables setting the individual parameter arrays should be set because the defaults aren't scientifically accurate 5. model parameters that are input as tplot variables they will be interpolated to match the time values on the input position 6.Find more documentation on the inner workings of the model, any gotchas, and the meaning of the arguments at: http://geo.phys.spbu.ru/~tsyganenko/modeling.html -or- http://ampere.jhuapl.edu/code/idl_geopack.html 7. Definition of W1-W6 can be found at: N. A. Tsyganenko and M. I. Sitnov, Modeling the dynamics of the inner magnetosphere during strong geomagnetic storms, J. Geophys. Res., v. 110 (A3), A03208, doi: 10.1029/2004JA010798, 2005 $LastChangedBy: nikos $ $LastChangedDate: 2022-08-18 09:29:42 -0700 (Thu, 18 Aug 2022) $ $LastChangedRevision: 31020 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/external/IDL_GEOPACK/t04s/tt04s.pro $
(See external/IDL_GEOPACK/t04s/tt04s.pro)