IDL user manual =============== :toc: == Open/close a CEF file === cef_read (<filename>) -> integer Reads a CEF file, loads all data and metadata in memory. Returns the number of records in the file .Example ------------------------------------------------------------------------------ IDL> n = CEF_READ("C1_CP_FGM_FULL__20050101_000000_20050102_000000_V070906.cef") % Loaded DLM: CEF. 1 : CEF.Open_CEF_file : C1_CP_FGM_FULL__20050101_000000_20050102_000000_V070906.cef 1 : CEF.Read_CEF_header : 2167422 records found in 3.48 seconds 1 : CEF.Read_CEF_header : 11 values per record 1 : CEF.Display_variables : 7 variables + 0 constants 1 : CEF.Read_CEF_file : 2167422 records physically read in 2.74 seconds 1 : CEF.Read_CEF_file : STATUS = 0 : OK : Terminaison correcte ------------------------------------------------------------------------------ === cef_close Will release all memory used to handle the file and its data === cef_verbosity, <level> will change the verbosity level of the CEFLIB, which can be usefull to debug problems while reading CEF files Defaut <level> is 1, and can be increased up to 5 == Global metadata === cef_metanames () -> array of stings Returns the list of metadata sections ------------------------------------------------------------ IDL> print, CEF_METANAMES() MISSION MISSION_TIME_SPAN MISSION_AGENCY MISSION_DESCRIPTION MISSION_KEY_PERSONNEL MISSION_REFERENCES MISSION_REGION MISSION_CAVEATS OBSERVATORY OBSERVATORY_CAVEATS OBSERVATORY_DESCRIPTION OBSERVATORY_TIME_SPAN OBSERVATORY_REGION EXPERIMENT EXPERIMENT_DESCRIPTION INVESTIGATOR_COORDINATES EXPERIMENT_REFERENCES EXPERIMENT_KEY_PERSONNEL EXPERIMENT_CAVEATS INSTRUMENT_NAME INSTRUMENT_DESCRIPTION INSTRUMENT_TYPE MEASUREMENT_TYPE INSTRUMENT_CAVEATS DATASET_ID DATA_TYPE DATASET_TITLE DATASET_DESCRIPTION CONTACT_COORDINATES TIME_RESOLUTION MIN_TIME_RESOLUTION MAX_TIME_RESOLUTION PROCESSING_LEVEL ACKNOWLEDGEMENT DATASET_CAVEATS LOGICAL_FILE_ID VERSION_NUMBER DATASET_VERSION FILE_CAVEATS FILE_TYPE METADATA_TYPE METADATA_VERSION FILE_TIME_SPAN GENERATION_DATE ------------------------------------------------------------ === cef_meta (<section>) -> array of strings Returns the list of string entries for this metadata section ------------------------------------------------------------ IDL> print, CEF_META("DATASET_DESCRIPTION") This dataset contains full resolution measurements of the magnetic field vector from the FGM experiment on the Cluster C1 spacecraft ------------------------------------------------------------ === cef_gattributes () -> array of strings Returns the list of global attributes names ------------------------------------------------------------ IDL> print, CEF_GATTRIBUTES() FILE_NAME FILE_FORMAT_VERSION END_OF_RECORD_MARKER DATA_UNTIL ------------------------------------------------------------ === cef_gattr (<attribute>) -> string or array of strings Returns value of a global attribute: - result should be a string if the attribute has an unique value - or a list of strings for multi-valued attributes ------------------------------------------------------------ IDL> print, CEF_GATTR("FILE_NAME") C1_CP_FGM_FULL__20050101_000000_20050102_000000_V070906.cef ------------------------------------------------------------ == CEF variables === cef_varnames () -> array Return the list of CEF variables found in the file ------------------------------------------------------------ IDL> print, CEF_VARNAMES() time_tags half_interval B_vec_xyz_gse B_mag sc_pos_xyz_gse range tm ------------------------------------------------------------ === cef_var (<var-name>) -> IDL array Creates an IDL variable, with the content of a given CEF-variable. It should be an array of 1 to 6 dimensions of string, integer, float, depending on type of the CEF variable. .Exemple ---- filename = "C1_CP_FGM_FULL__20050101_000000_20050102_000000_V070906.cef" n = CEF_READ (filename) t = CEF_VAR ("time_tags") b = CEF_VAR ("b_vec_xyz_gse") ---- === cef_vattributes (<cef-varname>) -> array of strings Returns the list of attributes names for a given variable ------------------------------------------------------------ IDL> print, CEF_VATTRIBUTES("B_vec_xyz_gse") PARAMETER_TYPE ENTITY PROPERTY FLUCTUATIONS CATDESC UNITS SI_CONVERSION TENSOR_ORDER COORDINATE_SYSTEM REPRESENTATION_1 SIZES VALUE_TYPE SIGNIFICANT_DIGITS FILLVAL QUALITY FIELDNAM LABLAXIS DEPEND_0 LABEL_1 ------------------------------------------------------------ === cef_vattr (<cef-varname>, <attribute>) -> string ot array of strings Returns attribute value for a given CEF variable attribute: - result should be a string if the attribute has an unique value - or a list of strings for multi-valued attributes ------------------------------------------------------------ IDL> print, CEF_VATTR("B_vec_xyz_gse", "SI_CONVERSION") 1.0E-9>T ------------------------------------------------------------ === cef_depends (<cef-varname>) -> array of strings Returns a list of DEPEND_i variables names for a given CEF variable The first one corresponds to the DEPEND_0, then DEPEND_1, DEPEND_2, ... Values can be empty strings if DEPEND_i attribute is not set. ------------------------------------------------------------ IDL> print, CEF_DEPENDS("B_vec_xyz_gse") time_tags ------------------------------------------------------------ == Time-tags functions === milli_to_julian (<time-tag-variable>) -> array of double CEFLIB time-tags are coded internally in milli-seconds from 1958 This function converts these time-tags into corresponding Julian days Input can be a scalar or an array, of ISO_TIME or ISO_TIME_RANGE data === milli_to_epoch (<time-tag-variable>) -> array of double CEFLIB time-tags are coded internally in milli-seconds from 1958 This function converts these time-tags into corresponding CEF Epoch time Input can be a scalar or an array, of ISO_TIME or ISO_TIME_RANGE data === milli_to_isotime (<time-tag-variable>,<number-of-digits>) -> array of strings This function will convert internal time-tags in ISOTIME strings. The first argument could be an ISO_TIME or ISO_TIME_RANGE CEF variable The second arguments give the number of digits expected for fractional seconds: (0: seconds, 3: milli-seconds, 6: micro-seconds) .Exemple How to open a CEF file and print time-tags with micro-seconds resolution : nrec = CEF_READ ("some-cef-file.cef") print, MILLI_TO_ISOTIME (CEF_VAR ("time_tags"), 6) == Examples of use ------------------------------------------------------------------------------------ PRO fgm filename = "C1_CP_FGM_FULL__20050101_000000_20050102_000000_V070906.cef" n = CEF_READ (filename) t = CEF_VAR ("time_tags") b = CEF_VAR ("b_vec_xyz_gse") tt = MILLI_TO_JULIAN (t) bx = b [0,*] by = b [1,*] bz = b [2,*] temp = LABEL_DATE (date_format = "%H:%I") PLOT, tt, bx, COLOR = 'ff0000'x, $ TITLE = "FGM DATA", $ xtickformat = "LABEL_DATE", $ BACKGROUND = 'ffffff'x OPLOT, tt, by, COLOR = '00ff00'x OPLOT, tt, bz, COLOR = '0000ff'x END ------------------------------------------------------------------------------------