No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.jenkins.d
.waf-tools
ChronoSync @ edaef7c
catalog
client
lib
ndn-cxx @ 7ed2943
tools
.gitattributes
.gitignore
.gitmodules
.jenkins
.travis.yml
AUTHORS.md
COPYING
README-dev.md
README.md
catalog.conf.sample.in
log4cxx.properties
waf
wscript

README.md

ndn-atmos

This is pre-release software

####If you have trouble running it, subscribe to ndn-sci mailing list and send an email.

This software is designed to support ongoing climate model research at Colorado State University, Berkeley and other institutes. Future plan includes porting this tool to suite other scientific community such as High Energy Particle Physics.

Currently, this software provides an API to publish, query and retrieve scientific datasets using NDN.

Dependencies

The ndn-atmos is built based on several libraries

Dependency for tools and translator library

  • python3
  • netcdf4-python3
  • mysql-connector-python3

The ndn-cxx and ChronoSync need some other prerequisites.

  • For OSX, the prerequisites can be installed using Homebrew:
    brew install boost sqlite3 mysql jsoncpp hdf5 openssl cryptopp protobuf libzdb
    pip3 install mysql-connector-python --allow-all-external
    pip3 install netCDF4

  • For Ubuntu, use the command below to install the prerequisites:
    sudo apt-get install libboost-all-dev libssl-dev libcrypto++-dev \
                        libsqlite3-dev libmysqlclient-dev libjsoncpp-dev \
                        protobuf-compiler libprotobuf-dev netcdf4-python \
                        python3-mysql.connector python3-pip libhdf5-dev \
                        libnetcdf-dev python3-numpy libzdb-dev

    sudo pip3 install netCDF4
  • For Fedora, use the command below to install the prerequisites:
    sudo yum install boost-devel openssl-devel cryptopp-devel sqlite3x-devel \
                    mysql-devel jsoncpp-devel protobuf-compiler protobuf-devel \
                    netcdf4-python3 mysql-connector-python3 libzdb-devel

Installing ndn-cxx

  • Download ndn-cxx source code. Use the link below for ndn-cxx code:
  git clone https://github.com/named-data/ndn-cxx.git
  cd ndn-cxx
  git checkout -b shared_library 7ed294302beee4979e97ff338dee0eb3eef51142
  • In library folder, build from the source code
  ./waf configure --disable-static --enable-shared
  ./waf
  ./waf install

Installing ChronoSync

  • Download ChronoSync source code. Use the link below for the ChronoSync code:
  git clone https://github.com/named-data/ChronoSync.git
  cd ChronoSync
  • Build from the source code
  ./waf configure
  ./waf
  ./waf install

Installing ndn-atmos

Follow the steps below to compile and install ndn-atmos:

  • Download the ndn-atmos source code. Use the command below:
  git clone https://github.com/named-data/ndn-atmos.git
  cd ndn-atmos
  • Build ndn-atmos in the project folder
  ./waf configure
  ./waf
  ./waf install
  • To test ndn-atmos, please use the steps below:
  ./waf configure --with-tests
  ./waf
  ./build/catalog/unit-tests
  • Note that if you are using Fedora or Ubuntu, you may need to create a configuration file for ndn-cxx in /etc/ld.so.conf.d to include the path where the libndn-cxx.so is installed. Then update using ldconfig

*For example, if the libndn-cxx.so is installed in /usr/local/lib64, you need to include this path in a "ndn-cxx.conf" file in /etc/ld.so.conf.d directory, and then run "ldconfig".

Running ndn-atmos

Install translator library

  1. For the translator, ndn_cmmap_translator library is required to be in PYTHONPATH
     export PYTHONPATH="full path to /ndn-atmos/lib":$PYTHONPATH

Initializing Database

  • Create a database using standard mysql tool.
  • You also need to create a user and set a password to connect to the database the database.
  • Note that you will need to have actual CMIP5 data to run the tool.
  • Run
    python3 insert_names.py
  • Input full path to the filename and config file to translate
  • A CMIP5 config file is located under /ndn-atmos/lib/ndn_cmmap_translators/etc/cmip5/cmip5.conf ```
  • This will create a table named cmip5 and insert the names into the table

Starting NFD

NFD is the NDN forwarding daemon.

  • Download NFD source code. Use the link below for the NFD code:
  git clone https://github.com/named-data/NFD.git
  cd NFD
  git checkout NFD-0.3.2
  git submodule init && git submodule update
  • Build NFD
  ./waf configure
  ./waf
  ./waf install
  • Run NFD
    nfd-start
  • Note that if you are using Fedora or Ubuntu, you may need to create a configuration file for ndn-cxx in /etc/ld.so.conf.d to include the path where the libndn-cxx.so is installed. Then update using command below:
  ldconfig

*For example, if the libndn-cxx.so is installed in /usr/local/lib64, you need to include this path in a "ndn-cxx.conf" file in /etc/ld.so.conf.d directory, and then run "ldconfig".

Launching atmos-catalog

  • Make sure database is initialized and running

  • Create catalog configuration file

    cp /usr/local/etc/ndn-atmos/catalog.conf.sample /usr/local/etc/ndn-atmos/catalog.conf
  • Edit the configuration file /usr/local/etc/ndn-atmos/catalog.conf. Modify the database parameters in both the queryAdapter and publishAdapter sections.

  • Note that the database parameters in these two sections may be different to provide different privileges.

  • Run ndn-atmos

    atmos-catalog

Starting front end

Please see the README in client folder.