This page was created by the IDL library routine `mk_html_help2`.

Last modified: Mon Aug 25 17:03:10 2025.

# Directory Listing of Routines

# projects/SPP/COMMON

- CDF_TOOLS__DEFINE[1]
- CDF_TOOLS__DEFINE[2]
  Acts as a timestamp file to trigger the regeneration of SEP data products. Also provides Software Version info for the MAVEN SEP instrument.
- CDF_TOOLS__DEFINE[2]
- CDF_TOOLS_VARINFO__DEFINE
- PSP_FLD_LOAD
- SPP_DATA_PRODUCT__DEFINE
- SPP_DATA_PRODUCT_HASH
- SPP_FILE_RETRIEVE
- SPP_FLD_LOAD
- SPP_GEN_APDAT__DEFINE
- SPP_PTP_RECORDER
  Widget tool that opens a socket and records streaming data from a server (host) and can save it to a file
- SPP_SPC_MET_TO_UNIXTIME

# Routine Descriptions

## CDF_TOOLS_VARINFO__DEFINE

[Next Routine] [List of Routines]

     Written by Davin Larson October 2018
     $LastChangedBy: ali $
     $LastChangedDate: 2021-12-18 02:19:05 -0800 (Sat, 18 Dec 2021) $
     $LastChangedRevision: 30472 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/cdf_tools_varinfo__define.pro $

(See projects/SPP/COMMON/cdf_tools_varinfo__define.pro)

## CDF_TOOLS__DEFINE[1]

[Previous Routine] [Next Routine] [List of Routines]

     Written by Davin Larson October 2018
      cdf_tools
      This basic object is the entry point for reading and writing cdf files
     $LastChangedBy: ali $
     $LastChangedDate: 2022-07-13 18:30:25 -0700 (Wed, 13 Jul 2022) $
     $LastChangedRevision: 30926 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/cdf_tools__define.pro $

(See projects/SPP/COMMON/cdf_tools__define.pro)

## CDF_TOOLS__DEFINE[2]

[Previous Routine] [Next Routine] [List of Routines]

    NAME: SW_VERSION
    Function:
    PURPOSE:
     Acts as a timestamp file to trigger the regeneration of SEP data products. Also provides Software Version info for the MAVEN SEP instrument.
    Author: Davin Larson  - January 2014
     $LastChangedBy: ali $
     $LastChangedDate: 2022-07-13 18:30:25 -0700 (Wed, 13 Jul 2022) $
     $LastChangedRevision: 30926 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/cdf_tools__define.pro $

(See projects/SPP/COMMON/cdf_tools__define.pro)

## CDF_TOOLS__DEFINE[2]

[Previous Routine] [Next Routine] [List of Routines]

     This is a wrapper routine to create CDF variables within an open CDF file.
     usage:
      CDF_VAR_ATT_CREATE,fileid,'RandomVariable',randomn(seed,3,1000),attributes = atts
      Attributes are contained in a orderedhash and should have already been created.

(See projects/SPP/COMMON/cdf_tools__define.pro)

## PSP_FLD_LOAD

[Previous Routine] [Next Routine] [List of Routines]

     $LastChangedBy: pulupalap $
     $LastChangedDate: 2023-09-19 16:04:38 -0700 (Tue, 19 Sep 2023) $
     $LastChangedRevision: 32108 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/psp_fld_load.pro $

(See projects/SPP/COMMON/psp_fld_load.pro)

## SPP_DATA_PRODUCT_HASH

[Previous Routine] [Next Routine] [List of Routines]

      spp_data_product_hash
      This basic object is the entry point for defining and obtaining all data for all data products
     $LastChangedBy: davin-mac $
     $LastChangedDate: 2025-05-01 14:31:49 -0700 (Thu, 01 May 2025) $
     $LastChangedRevision: 33284 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_data_product_hash.pro $

(See projects/SPP/COMMON/spp_data_product_hash.pro)

## SPP_DATA_PRODUCT__DEFINE

[Previous Routine] [Next Routine] [List of Routines]

      spp_data_product
      This basic object is the entry point for defining and obtaining all data for all data products
     $LastChangedBy: davin-mac $
     $LastChangedDate: 2025-06-12 05:06:32 -0700 (Thu, 12 Jun 2025) $
     $LastChangedRevision: 33382 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_data_product__define.pro $

(See projects/SPP/COMMON/spp_data_product__define.pro)

## SPP_FILE_RETRIEVE

[Previous Routine] [Next Routine] [List of Routines]

     Written by Davin Larson

     $LastChangedBy: pulupalap $
     $LastChangedDate: 2021-05-17 14:48:58 -0700 (Mon, 17 May 2021) $
     $LastChangedRevision: 29966 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_file_retrieve.pro $

     Function:  files = spp_file_retrieve(PATHNAME)
     Purpose:  Retrieve or Download Solar Probe data files (i.e. L0 files)  (Can be used to generate filenames too)
     INPUT:
     PATHNAME:  string specifying relative path to files.         Default might change-  Currently:  'psp/pfp/l0/YYYY/MM/mvn_pfp_all_l0_YYYYMMDD_v???.dat'
             PATHNAME must be relative to the LOCAL_DATA_DIR and REMOTE_DATA_DIR fields of the source keyword.
             "globbed" filenames (*,?) are accepted.
     typical usage:
       files = spp_file_retrieve('psp/xxxxxx/YYYY/MM/mvn_pfp_all_l0_YYYYMMDD_v???.dat',/daily_names)   ; get L0 files for user defined time span
       files = spp_file_retrieve(pathname,/daily_names,trange=trange)  ; set time range
    Keywords:  (All are optional - none are recommended)
     L0:   set to 1 to return PFP L0 files
     DAILY_NAMES : resolution (in days) for generating file names.
             YYYY, yy, MM, DD,  hh,  mm, ss, .f, DOY, DOW, TDIFF are special characters that will be substituted with the appropriate date/time field
             Be especially careful of extensions that begin with '.f' since these will be translated into a fractional second.
             See "time_string"  TFORMAT keyword for more info.
     TRANGE : two element vector containing start and end times (UNIX_TIME or UT string).  if not present then timerange() is called to obtain the limits.
     SOURCE:  alternate file source.   Default is whatever is return by the function:  mvn_file_source()    (see "mvn_file_source" for more info)
     FILES:  if provided these will be passed through as output.
     VALID_ONLY:  Set to 1 to prevent non existent files from being returned.
     CREATE_DIR:  Generates a filename and creates the directories needed to create the file without errors.  Will not check for file on remote server.

     KEYWORDS Passed on to "FILE_RETRIEVE":
     LAST_VERSION : [0,1]  if set then only the last matching file is returned.  (Default is defined by source)
     VALID_ONLY:  [0,1]   If set then only existing files are returned.  (Default is defined by source keyword)
     VERBOSE:  set verbosity level (2 is typical)
     USER_PASS:  user:password combination for the remote server
     LIMITATIONS:
       Beware of file pathnames that include the character sequences:  YY,  MM, DD, hh, mm, ss, .f  since these can be retranslated to the time

(See projects/SPP/COMMON/spp_file_retrieve.pro)

## SPP_FLD_LOAD

[Previous Routine] [Next Routine] [List of Routines]

     PROCEDURE: SPP_FLD_LOAD

     PURPOSE:   Load data from the PSP/FIELDS instrument suite.

     KEYWORDS:

      Commonly used input keywords:

       LEVEL:          Specifies the level of FIELDS files to be loaded.
                       Level = 2 is the default value.

                       Level 2 and Level 3 data products from PSP/FIELDS are
                       public. This routine is also used by FIELDS SOC to load
                       the non-public Level 1 and Level 1b data files, which are
                       used for production of the Level 2s.

       NO_LOAD:        Don't load the CDF files (i.e., download only).

       NO_SERVER:      Disable contact with remote server. Can be used to load
                       files which are already downloaded on a local machine,
                       avoiding check for more recent files on the server.

       NO_STAGING:     Early in the PSP mission, some FIELDS CDF files were
                       stored in a '/staging/' directory on the server at
                       UCB/SSL. Setting this option points the load routine
                       away from these directories, which were retired in
                       mid-2020.

                       The wrapper routine PSP_FLD_LOAD sets NO_STAGING=1 by
                       default, and by the end of 2020 this will be the
                       default option for SPP_FLD_LOAD as well.

       TRANGE:         Two element vector indicating time range for loading data.
                       The format for TRANGE is the same as for the TPLOT routine.
                       If TIMESPAN procedure is used to set the desired time range
                       before SPP_FLD_LOAD is called, that time range is used by
                       default.

       TYPE:           String identifying the type of data to be loaded.
                       The default value is "mag_SC_4_Sa_per_Cyc"

       VARFORMAT:      Can be used to manually specify variables which will be
                       loaded from the CDF file. See CDF2TPLOT documentation
                       for details.

       VERSION:        Used to manually specify the version of FIELDS CDF that
                       will be searched for. By default, the routine will find
                       and load the most recent version.

      Commonly used output keywords:

       FILES:          Optional keyword output that will return the full file path
                       of files that are downloaded and loaded into TPLOT
                       variables by this routine.

       Other keywords:

       DOWNSAMPLE:     Used in FIELDS L1 -> L2 data processing of downsampled
                       MAG data. No effect on L2/L3 data, or other (non-MAG)
                       L1 data.

       FILEPREFIX:     Manually set the subdirectory where this routine
                       will search for FIELDS data files.
                       Typically users do not need to change this from the default
                       value.

       GET_SUPPORT:    Load support data from the CDF file. See CDF2TPLOT
                       documentation for details.

       LONGTERM_EPHEM: Flag that can be set to load longterm (mission length)
                       ephemeris files. (These are Level 1 files, currently not
                       publicly available.)

       PATHFORMAT:     Can be used to manually set the format of the FIELDS
                       CDF filenames.
                       Typically users do not need to change this from the default
                       value.

       TNAME_PREFIX:   Can be set to add a string prefix in front of any TPLOT
                       variables created by this routine.

     EXAMPLE:

       IDL> timespan, '2019-04-03', 4
       IDL> spp_fld_load, type = 'mag_RTN_4_Sa_per_Cyc'

       For more examples, see SPP_FLD_EXAMPLES.

     CREATED BY:       Davin Larson December 2018
                       maintained by Marc Pulupa, 2019-2023

     $LastChangedBy: pulupalap $
     $LastChangedDate: 2025-07-03 13:46:25 -0700 (Thu, 03 Jul 2025) $
     $LastChangedRevision: 33424 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_fld_load.pro $

(See projects/SPP/COMMON/spp_fld_load.pro)

## SPP_GEN_APDAT__DEFINE

[Previous Routine] [Next Routine] [List of Routines]

      SPP_GEN_APDAT
      This basic object is the entry point for defining and obtaining all data for all apids
     $LastChangedBy: davin-mac $
     $LastChangedDate: 2024-11-13 09:37:56 -0800 (Wed, 13 Nov 2024) $
     $LastChangedRevision: 32948 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_gen_apdat__define.pro $

(See projects/SPP/COMMON/spp_gen_apdat__define.pro)

## SPP_PTP_RECORDER

[Previous Routine] [Next Routine] [List of Routines]

    WIDGET Procedure:
      spp_ptp_recorder
    PURPOSE:
     Widget tool that opens a socket and records streaming data from a server (host) and can save it to a file
     or send to a user specified routine. This tool runs in the background.
     Keywords:
       SET_FILE_TIMERES : defines how often the current output file will be closed and a new one will be opened
       DIRECTORY:  string prepended to fileformat when opening an output file.
     Author:
        Davin Larson - April 2011

     $LastChangedBy: ali $
     $LastChangedDate: 2021-09-24 16:07:57 -0700 (Fri, 24 Sep 2021) $
     $LastChangedRevision: 30319 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_ptp_recorder.pro $

(See projects/SPP/COMMON/spp_ptp_recorder.pro)

## SPP_SPC_MET_TO_UNIXTIME

[Previous Routine] [List of Routines]

    Function:  spp_spc_met_to_unixtime
    Purpose:  Convert MET (mission Elapsed Time) to Unix Time  (which is almost equivalent to UTC)
    see also:  "spp_spc_unixtime_to_met" for the reverse conversion
     This routine is in the process of being modified to use SPICE Kernels to correct for clock drift as needed.
     Author: Davin Larson
     $LastChangedBy: ali $
     $LastChangedDate: 2024-07-08 12:05:55 -0700 (Mon, 08 Jul 2024) $
     $LastChangedRevision: 32726 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/SPP/COMMON/spp_spc_met_to_unixtime.pro $

(See projects/SPP/COMMON/spp_spc_met_to_unixtime.pro)