-
Notifications
You must be signed in to change notification settings - Fork 42
/
README
156 lines (114 loc) · 4.71 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
===========================================================
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