This page was created by the IDL library routine
mk_html_help2
.
Last modified: Wed Jun 12 10:49:46 2024.
PROCEDURE: mms_add_cdf_versions PURPOSE: Adds MMS CDF version #s to plots (for version tracking) INPUT: instrument: name of the instrument that we're adding the version #s for versions: [n, 3] array of CDF version #s - returned by 'versions' keyword in load routines; where n is the number of CDF files loaded KEYWORDS: data_rate: include a data rate on the plot right_align: start placing version #s strings to the bottom right of the plot instead of the bottom left top_align: start placing version #s strings on the top of the figure instead of the bottom charsize: character size; default is 1 reset: reset the position of the labels to the starting point EXAMPLE: MMS> mms_load_fpi, versions=fpi_versions MMS> tplot, 'mms3_des_energyspectr_par_fast' MMS> mms_add_cdf_versions, 'fpi', fpi_versions NOTES: 1) Requires IDL 8.0+ to work 2) the default location of the version #s is the bottom left; you can change this using the /right and /top keywords 3) does not include duplicate version #s for the same instrument e.g., if you load FPI data from 7 v2.1.0 files, only one 'FPI v2.1.0' will be included $LastChangedBy: egrimes $ $LastChangedDate: 2018-06-27 09:18:53 -0700 (Wed, 27 Jun 2018) $ $LastChangedRevision: 25404 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/common/cdf/mms_add_cdf_versions.pro $
(See projects/mms/common/cdf/mms_add_cdf_versions.pro)
mms_cdf2tplot ,files,varformat=varformat Keywords: VARFORMAT = PATTERN ; PATTERN should be a string (wildcards accepted) that will match the CDF variable that should be made into tplot variables PREFIX = STRING ; String that will be pre-pended to all tplot variable names. SUFFIX = STRING ; String appended to end of each tplot variable created. VARNAMES = named variable ; CDF variable names are returned in this variable /GET_SUPPORT_DATA ; Often required to get support data if the CDF file does not have all the needed depend attributes record=record if only one record and not full cdf-file is requested load_labels=load_labels ;copy labels from labl_ptr_1 in attributes into dlimits resolve labels implemented as keyword to preserve backwards compatibility Author: Davin Larson - 20th century Forked for MMS, 10/22/2015, egrimes@igpp $LastChangedBy: egrimes $ $LastChangedDate: 2017-01-05 17:08:07 -0800 (Thu, 05 Jan 2017) $ $LastChangedRevision: 22512 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/common/cdf/mms_cdf2tplot.pro $
(See projects/mms/common/cdf/mms_cdf2tplot.pro)
This is a new routine that needs further testing, development, and enhancements. PROCEDURE: mms_cdf_info_to_tplot, cdfi Purpose: Creates TPLOT variables from a CDF structure (obtained from "CDF_LOAD_VAR") This routine will only work well if the underlying CDF file follows the SPDF standard. Written by Davin Larson Forked for MMS, 10/22/2015, egrimes@igpp $LastChangedBy: egrimes $ $LastChangedDate: 2018-06-01 11:45:12 -0700 (Fri, 01 Jun 2018) $ $LastChangedRevision: 25314 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/common/cdf/mms_cdf_info_to_tplot.pro $
(See projects/mms/common/cdf/mms_cdf_info_to_tplot.pro)
FUNCTION cdfi = mms_cdf_load_vars(file) INPUT: file = CDF filename(s) OUTPUT: CDFI = A structure containing pointers to the data and attributes for the files, with tags: CDFI.FILENAME = The filename(s) CDFI.INQ = A structure with information about the file: CDFI.INQ.NDIMS = CDF Dims attribute, for rVariables typically 0 (rVariables are rarely used anymore See http://cdf.gsfc.nasa.gov/html/FAQ.html#intro) CDFI.INQ.DECODING = 'HOST_DECODING' (can be network or host) CDFI.INQ.ENCODING = 'NETWORK_ENCODING' (can be network or host) CDFI.INQ.MAJORITY = 'ROW_MAJOR' (can be row or column) CDFI.INQ.MAXREC = Max number of records (Default is -1) CDFI.INQ.NVARS = number of rVariables, usually 0 CDFI.INQ.NZVARS = number of zVariables, usually all of them CDFI.INQ.NATTS = number of variable attributes CDFI.INQ.DIM = dimensions of rVariables CDFI.g_atttributes = CDF global attributes, structure varies Here is a sample from THEMIS EFI: PROJECT STRING 'THEMIS' SOURCE_NAME STRING 'THA>Themis Probe A' DISCIPLINE STRING 'Space Physics>Magnetospheric Science' DATA_TYPE STRING 'EFI' DESCRIPTOR STRING 'L2>L2 DATA' DATA_VERSION STRING '1' PI_NAME STRING 'V. Angelopoulos, J. Bonnell & F. Mozer' PI_AFFILIATION STRING 'UCB, NASA NAS5-02099' TITLE STRING 'Electric Field Instrument (EFI) Measurements' TEXT STRING 'THEMIS-A: Electric Field Instrument (EFI) Electric field measurements. The L2 product is a 3D estimate of'... INSTRUMENT_TYPE STRING 'Electric Fields (space)' MISSION_GROUP STRING 'THEMIS' LOGICAL_SOURCE STRING 'tha_l2_efi' LOGICAL_FILE_ID STRING 'tha_l2_efi_20131001_v01' LOGICAL_SOURCE_DESCRIPTION STRING 'Spacecraft-collected (EFI) Electric field' TIME_RESOLUTION STRING '3-1/8s' RULES_OF_USE STRING 'Open Data for Scientific Use' GENERATED_BY STRING 'THEMIS SOC' GENERATION_DATE STRING 'Sun Oct 6 03:11:38 2013' ACKNOWLEDGEMENT STRING 'NASA Contract NAS5-02099' MODS STRING 'Rev- 2009-09-16' ADID_REF STRING 'NSSD0110' LINK_TEXT STRING Array[3] LINK_TITLE STRING Array[3] HTTP_LINK STRING Array[3] FILE_NAMING_CONVENTION STRING 'source_descriptor_datatype' CAVEATS STRING 'See THEMIS website for caveats' VALIDITY STRING 'to be validated' VALIDATOR STRING 'tbd' VALIDATE STRING 'Compatible with the ISTP CDF Standards' INST_MOD STRING 'THM>xxxx' PARENTS STRING 'xxxx' INST_SETTINGS STRING 'Not used' SOFTWARE_VERSION STRING '13273' CDFI.NV = Number of variables CDFI.VARS = AN array of CDFI.NV structures, one for each zvariable: CDFI.VARS.NAME = The variable name CDFI.VARS.NUM = The index of the given variable in the cdfi.vars array CDFI.VARS.IS_ZVAR = 1 for a zVariable CDFI.VARS.DATATYPE = The data type, e.g.'CDF_FLOAT' CDFI.VARS.TYPE = The numerical IDL data type (float is 4, etc...) CDFI.VARS.NUMATTR = -1, Not sure about this one, returned from CDF_VARGET CDFI.VARS.NUMELEM = Number of elements in a record, returned from CDF_VARGET CDFI.VARS.RECVARY = Set to 1 if variable varies from record to record CDFI.VARS.NUMREC = the number of records input. CDFI.VARS.NDIMEN = the number dimensions in the data CDFI.VARS.D = A six-element array with the number of dimensions for each index CDFI.VARS.DATAPTR = A pointer to the data array: CDFI.VARS.ATTRPTR = A pointer to the variable attributes structure for each variable. Content varies, here is a sample from THEMIS EFI Electric field data: CATDESC STRING 'EFF_DOT0 (fast-survey, 1/8 sec time resolution, using E dot B=0) electric field vector in GSM coordinates'... FIELDNAM STRING 'EFF_DOT0 (fast-survey, 1/8 sec time resolution, using E dot B=0) electric field vector in GSM coordinates'... FILLVAL FLOAT NaN VALIDMIN FLOAT Array[3] VALIDMAX FLOAT Array[3] VAR_TYPE STRING 'data' DISPLAY_TYPE STRING 'time_series' FORMAT STRING 'E13.6' LABL_PTR_1 STRING 'tha_eff_dot0_gsm_labl' UNITS STRING 'mV/m' DEPEND_TIME STRING 'tha_eff_dot0_time' DEPEND_EPOCH0 STRING 'tha_eff_dot0_epoch0' DEPEND_0 STRING 'tha_eff_dot0_epoch' DEPEND_1 STRING 'tha_eff_dot0_gsm_compno' VAR_NOTES STRING 'Units are in mV/m' COORDINATE_SYSTEM STRING 'GSM' REPRESENTATION_1 STRING 'Rep_xyz_gsm' TENSOR_ORDER STRING '1' AVG_TYPE STRING 'standard' PROPERTY STRING 'vector' SC_ID STRING 'a' SCALE_TYP STRING 'linear' DICT_KEY STRING 'electric_field>vector_GSM' SI_CONVERSION STRING '1e-3>V/m' LABEL_1 STRING 'tha_eff_dot0_gsm_labl' Each variable may have a different set of attributes, but this example is a minimal structure that will be ISTP compliant. KEYWORDS: VARFORMAT = string or string array: a string or string array (which may contain wildcard characters) that specifies the CDF variable names to load. Use 'VARFORMAT='*' to load all variables. NOTE THAT VARFORMAT MUST BE SET IF YOU ACTUALLY WANT TO READ DATA. VARNAMES = named variable ;output variable for variable names that were loaded. SPDF_DEPENDENCIES : Set to 1 to have SPDF defined dependent variables also loaded. VAR_TYPE = string or string array; Variables that have a VAR_TYPE matching these strings will be loaded. CONVERT_INT1_TO_INT2 Set this keyword to convert signed one byte to signed 2 byte integers. This is useful because IDL does not have the equivalent of INT1 (bytes are unsigned) RECORD: Specify the record index where you want to start reading. By default, this option will read one record. NUMBER_RECORDS: Specify the number of records that you want to read. By default, this option will begin at record zero. Note: Record & Number_Records can be used together to specify a range of records to be read. Author: Davin Larson - 2006 Forked for MMS, 10/22/2015, egrimes@igpp Side Effects: Data is returned in pointer variables. Calling routine is responsible for freeing up heap memory - otherwise a memory leak will occur. $LastChangedBy: egrimes $ $LastChangedDate: 2018-11-19 16:12:09 -0800 (Mon, 19 Nov 2018) $ $LastChangedRevision: 26155 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/common/cdf/mms_cdf_load_vars.pro $
(See projects/mms/common/cdf/mms_cdf_load_vars.pro)
Filter MMS file names by time and version. File names are assumed to be identical except in the TSTART and VERSION fields. :Params: FILENAMES: in, required, type=string/strarr Names of files to be filtered. :Keywords: COUNT: out, optional, type=integer Number of output files that passed filter. TRANGE: in, optional, type=strarr(2), default=time_string(timerange()) Time interval over which to select files. MAJOR_VERSION: in, optional, type=boolean, default=0 If set, only the latest major version of each file is returned. Cannot be used with `MIN_VERSION`, LATEST_VERSION or `VERSION` LATEST_VERSION: in, optional, type=boolean, default=0 If set, only the latest version of each file is returned. Cannot be used with `MIN_VERSION` or `VERSION` MIN_VERSION: in, optional, type=string Minimum file version to accept, formatted as 'X.Y.Z', where X, Y, and Z are integers. Cannot be used with `LATEST_VERSION` or `VERSION`. VERSION: in, optional, type=string Version of files to accept, formatted as 'X.Y.Z', where X, Y, and Z are integers. Cannot be used with `LATEST_VERSION` or `MIN_VERSION`. :Returns: FILES_OUT: Those files within `FILENAMES` that pass the filter criterion. LOADED_VERSIONS: The CDF version #s $LastChangedBy: egrimes $ $LastChangedDate: 2017-09-26 12:18:29 -0700 (Tue, 26 Sep 2017) $ $LastChangedRevision: 24031 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/common/cdf/unh_mms_file_filter.pro $
(See projects/mms/common/cdf/unh_mms_file_filter.pro)