SWIG Bindings for NDS Client Library

NDS Developers

LIGO Laboratory, California Institute of Technology, LIGO Scientific Collaboration

Abstract

This document explains how to use the NDS (Network Data Server) client interface in Python, Octave, and MATLAB programs. NDS is a TCP/IP protocol for retrieving online or archived data from thousands of instrument channels at LIGO (Laser Interferometer Gravitational-Wave Observatory) sites and data analysis clusters. Language modules for Python, Octave, and MATLAB (via Java) are provided through SWIG.

This document is for the NDS2 client 0.14.x.


Table of Contents

1. Introduction
Features
Known issues
2. Installation
Installing from packages
Installing from source
Dependencies
Obtaining the source code
Building
Environment script
Installing with MacPorts
Installing with Windows installer
3. Getting started
Obtaining a Kerberos ticket
Setting up your MATLAB environment
Adding NDS to the classpath for the current MATLAB session
Permanently adding NDS to the classpath
Note on java paths, jar files versus loose classes
Your first script with NDS
About the channel list cache
4. Recipes
Opening a connection
Setting connection parameters
Looking up and counting channels
Fetching offline data
Grabbing online or offline data progressively
Getting channel availability
5. Common Problems
6. Other Documentation

List of Tables

2.1. Essential command line options for cmake

List of Examples

2.1. Example environments script
3.1. Getting started: your first script with NDS in Python
3.2. Getting started: your first script with NDS in Octave
3.3. Getting started: your first script with NDS in MATLAB
4.1. Opening a connection in Python
4.2. Opening a connection in Octave
4.3. Opening a connection in MATLAB
4.4. Setting parameters in Python with connection.set_parameter()
4.5. Setting parameters in Octave with connection.set_parameter()
4.6. Setting parameters in MATLAB with connection.setParameter()
4.7. Looking up channel information in Python with connection.find_channels()
4.8. Counting available channels in Python with connection.count_channels()
4.9. Looking up channel information in Octave with connection.find_channels()
4.10. Counting available channels in Octave with connection.count_channels()
4.11. Looking up channel information in MATLAB with connection.findChannels()
4.12. Counting available channels in Matlab with connection.count_channels()
4.13. Fetching offline data in Python
4.14. Fetching offline data in Octave
4.15. Fetching offline data in MATLAB
4.16. Grabbing online or offline data progressively in Python
4.17. Grabbing online or offline data progressively in Octave
4.18. Grabbing online or offline data progressively in MATLAB
4.19. Retrieving H1:GDS-CALIB_STRAIN availability during O1 in python