Setting Up A Scientific Programming Environment in Ubuntu

With language, we learn to listen and to speak. With literacy, we learn to read and to write.  With programming, we learn how to use and to make software programs. Programming is the new literacy of the digital age.  Scientific programming is an essential skill.  It allows us to respond to new data structures and new technology, to expand Internet interfaces, to challenge common understandings or wisdom, and to access the control panels of machines and civilization.

Linux Intro

Linux is an operating system (OS) that supports free and open programming.  Linux provides open access to system source code and to the tools to manage that code.  Linux is free of cost and free from proprietary system constraints.  Linux is found on more computer platforms than any other OS. Once installed, Linux offers basic capabilities only and must be extended using commercial applications, open-source packages, and custom programming.

Ubuntu is a unique implementation of Linux.[1]  It has a Debian-based Linux kernel, a GNOME desktop environment, and a Unity desktop shell. Software can be downloaded from the Ubuntu Software Center and from public archives using package management tools. Finally, Ubuntu can be extended to run programs for Windows using emulators or virtual machine capabilities.


The purpose of this guide is to facilitate the set-up and maintenance of multiple Linux machines.  A common set of tools is defined for scientific programming.   The target functional requirements support renewable energy (RE) project development and include:

RE Resource Assessments

  • Satellite data collection and management
  • Ground sensor data collection and management
  • Atmospheric modeling and forecasting
  • Geospatial data analysis and mapping
  • Wind and solar energy assessments
  • Project feasibility screening and pipeline definitions

RE System Design & Engineering

  • Grid interconnect studies
  • Engineering design of RE systems
  • Balance of plant civil and electrical engineering
  • Production forecasting and site suitability testing
  • Power off-take contracting, project financial structuring and analysis
  • Supply chain and construction scheduling

RE System Management

  • Equipment commissioning and power curve testing
  • Equipment diagnostics and performance reporting
  • Machine learning and equipment performance forecasting
  • Optimization tools for operations and maintenance
  • Project stakeholder and contract management,
  • Project accounting and financial reporting

The functional scope is met using open-source tools. The guide is not comprehensive since full realization of the functional scope still depends on process definitions and programming.  The set-up guide can be downloaded using the link below.

Scientific Programming in Ubuntu v8.9 (390 downloads)
[1] Ubuntu is an African word that defines “humanity towards others; a universal belief in sharing; a bond that connects all.”
This entry was posted in Linux, Scientific Computing, Ubuntu. Bookmark the permalink.