Giter Club home page Giter Club logo

mi-instrument's Introduction

===========================================================
Ocean Observatories Initiative Cyberinfrastructure (OOI CI)
Integrated Observatory Network (ION) - OOINet

Marine Integration source code repository.

(C) The Regents of the University of California, 2010-2014
See LICENSE.txt for license.
===========================================================

This is the repository that containes implemention for all marine integrations
including drivers and transforms.

Marine integration packages are inteded to be developed and released 
independantly of other ION releases.  

To develop drivers you must install ION and the Instrument Development Kit.  

INSTALL prequisite software for COI-services
============================================
- homebrew
    /usr/bin/ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
    brew doctor
    brew tap homebrew/science

- python 2.7.x
    > brew install python --framework --universal

- git 1.7.7: Use brew or download the Mac or Linux installer and run it

- libevent libyaml zeromq rabbitmq hdf5 pkg-config netcdf freetype spatialindex udunits, if not already present:
    brew install libevent libyaml zeromq rabbitmq hdf5 pkg-config netcdf freetype spatialindex udunits

- Install Postgres with Homebrew (PostgreSQL is the default but CouchDB is possible)
    brew install postgres postgis

    If you have trouble with the installation, please see:
    https://confluence.oceanobservatories.org/display/CIDev/Postgres+Datastore
    https://confluence.oceanobservatories.org/display/CIDev/M112+Geospatial+Search

- Once Postgres is running, add an ion user
    createuser ion

- pip
    easy_install pip
- virtualenv
    easy_install --upgrade virtualenv
    easy_install --upgrade virtualenvwrapper
- modify ~/.bash_profile
    add this to the end:
       export WORKON_HOME=$HOME/OOICI/virtenvs
       . /usr/local/share/python/virtualenvwrapper.sh
- setup a virtual environment to work in.
    mkvirtualenv --no-site-packages --python=python2.7 ooi
    pip install -U setuptools==0.8
    pip install numpy==1.7.1


INSTALL
=======

# Download the lastest source from github.  Note: in order to run 
# start_driver or package driver it is mandatory that you are running
# on a fork of the ooici/marine-integrations repository.

# Read only checkout
$ git clone git://github.com/ooici/marine-integrations

# Read / write checkout
$ git clone [email protected]:<your_github_uname>/marine-integrations

# Update all submodules (ion-definitions, coi-services, pyon)
$ cd marine-integrations
$ git submodule update --init

# Buildout the environment
$ workon ooi
$ python bootstrap.py -v 2.2.0
$ bin/buildout
$ bin/generate_interfaces


** If matplot lib fails to build due to not finding the free type headers, try:
    if /usr/X11/lib/pkgconfig has a file named freetype2.pc, then add the following line to your .bash_profile
    export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig


####
##   Fresh Build
####

If you have unexplained issues or have done a large pull you may want to do a full rebuild.  

# Clean the last build
$ ant clean clean-buildout

# remove submodules
$ rm -r extern

# reload submodules, submodule sycn read the .gitmodules file and resets your
# local git modules index.
$ git submodule sync
$ git submodule init
$ git submodule update

# Buildout
$ python bootstrap.py
$ bin/buildout
$ bin/generate_interfaces


USAGE
=====

####
#    Configuration
####

The first time you run an IDK script it will create an IDK configuration
directory (~/.idk).  In this directory you will find IDK log files and 
and IDK configuration file.  The important configuration that you are 
looking for in this file is 'working_repo'.  That is the directory where
you checkouted the marine-integrations repository.

If you move the local repository directory that file needs to be updated.
You can do this from the command line by running idk_rebase from the root 
of the local marine-integrations repository.

####
#    New Driver Workflow
####

bin/start_driver:
   Run this process to start developing a new driver.  

bin/switch_driver:
   Switch to

bin/test_driver:
   Run this process to run driver tests.  If no options are given all tests 
   (unit, integration, and qualification) are run.  This program offers 
   different usage options.  Use -h for detailed usage.

bin/package_driver:
   Run this process to submit the driver for ingestion into the OOI network.  
   The submitted driver could be rejected if tests are not complete, there is
   a naming conflict, or any other issues.  Feedback will be sent to the 
   developer to the address on your gethub account.

bin/idk_rebase:
   If you move the IDK directory this command will update your local IDK 
   configuration with the new directory.

bin/da_server:
   Start the direct access server

mi-instrument's People

Contributors

petercable avatar danmergens avatar rmanoni avatar tapanagupta avatar

Watchers

Jeff Laughlin avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.