Operating System Requirements

Linux or Unix operating systems (Note that Mac OSX is based on Unix)

For example:

Debian GNU Linux

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux

 


 

Hardware Requirements

RAM Requirements:

8GB

Disk Space Requirements:

5GB (mainly for keeping an optional output data archive)

CPU Requirements

The solar power conversion process can easily process a single farm in less than 0.2 seconds on the following machine (no parallelization):

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Model name: Intel(R) Xeon(R) CPU E5440 @ 2.83GHz
Stepping: 10
CPU MHz: 2826.182
BogoMIPS: 5652.48
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 6144K
NUMA node0 CPU(s): 0-7

NOTE: The solar power conversion process should run on comparable Intel I7 processors found in current laptops and pc's.

 


 

SOLAR_POWER PRE-INSTALLATION:

A) Choose a directory where you would like to build the system, say
/d1/solar_power/build and then edit your .cshrc file including the line:


setenv BUILD /d1/solar_power/build

Then do

  1. source ~/.cshrc
  2. mkdir -p $BUILD
  3. mv solar_power.tar.gz $BUILD
  4. cd $BUILD
  5. tar -zxf solar_power.tar.gz

to unzip and untar the SOLAR_POWER distribution. You should now have a subdirectory $BUILD/solar_power.


B) Before building SOLAR_POWER, you need to install the following libraries and executables:

 


SOLAR_POWER INSTALLATION:

1) Make sure to set the following environment variables in your .cshrc
file. Note that the $SOLAR_POWER_ROOT directory should be on a partition with
adequate disk space. The build will install code that generally should not be modified in
$SOLAR_POWER_CODE. Static data such as cdl files and config files will be placed in $SOLAR_POWER_DATA/static.

setenv SOLAR_POWER_ROOT /d1/solar_power/build/solar_power

setenv SOLAR_POWER_CODE $SOLAR_POWER_ROOT/src
setenv SOLAR_POWER_BIN_DIR $SOLAR_POWER_CODE/bin
setenv SOLAR_POWER_LIB_DIR $SOLAR_POWER_CODE/lib
setenv SOLAR_POWER_INC_DIR $SOLAR_POWER_CODE/include
setenv SOLAR_POWER_CCFLAGS "-std=c++11 -Wall -g -O"

setenv SYS_INC_DIR /d1/local/include
setenv SYS_LIB_DIR /d1/local/lib
setenv SYS_BIN_DIR /d1/local/bin

setenv LOCAL_ROOT $HOME
setenv LOCAL_BIN_DIR $LOCAL_ROOT/bin
setenv LOCAL_INC_DIR $LOCAL_ROOT/include
setenv LOCAL_LIB_DIR $LOCAL_ROOT/lib
setenv LOCAL_CCFLAGS "-std=c++11 -Wall -g -O"

# Set EXTERNAL_ROOT to be the directory where you have installed external
# libraries and executables such as Python, blitz, etc.
setenv EXTERNAL_ROOT /d1/local
setenv EXTERNAL_INC_DIR $EXTERNAL_ROOT/include
setenv EXTERNAL_LIB_DIR $EXTERNAL_ROOT/lib
setenv EXTERNAL_BIN_DIR $HOME/bin

# NETCDF & HDF stuff
setenv HDF_ROOT_DIR /usr/local/hdf5
setenv HDF_INC_DIR $HDF_ROOT_DIR/include
setenv HDF_LIB_DIR $HDF_ROOT_DIR/lib
setenv NETCDF_ROOT_DIR /usr/local/netcdf
setenv NETCDF_BIN_DIR $NETCDF_ROOT_DIR/bin
setenv NETCDF_INC_DIR $NETCDF_ROOT_DIR/include
setenv NETCDF_LIB_DIR $NETCDF_ROOT_DIR/lib
setenv SZIP_LIB_DIR /usr/local/szip/lib

2) In .cshrc, extend your path and LD_LIBRARY_PATH variables in accordance with

setenv LD_LIBRARY_PATH ${NETCDF_LIB_DIR}:${HDF_LIB_DIR}:${SZIP_LIB_DIR}:${SOLAR_POWER_LIB_DIR}:${LOCAL_LIB_DIR}:${EXTERNAL_LIB_DIR}

3) You will also want to include the following directories in your path:

$SOLAR_POWER_BIN_DIR $EXTERNAL_BIN_DIR $NETCDF_BIN_DIR


4) source ~/.cshrc

5) To build using scons do the following:

  1. cd $BUILD/solar_power/build_install
  2. build.py -s solar_power_manifest $BUILD/solar_power $BUILD/solar_power $BUILD/solar_power

This will build all SOLAR_POWER libraries and executables. Libraries will be installed in $SOLAR_POWER_CODE/lib and executables in $SOLAR_POWER_CODE/bin.

Source code can be found in $SOLAR_POWER_CODE

6) Modify the necessary paths in '$BUILD/solar_power/static/solar_power_bnl.cfg" to point to your file locations.
Any references to '/d1/solar_power/build/solar_power/static/' should be pointing to your '$BUILD/solar_power/static' directory


7) To test the installation, do the following:

  1. cd $BUILD/solar_power 
  2. csh build_install/run_cmd.csh
  3. or run:
    1. solar_power 201505200330 static/solar_power.cdl static/solar_power_test_file.cfg static/solar_mesh_fcst.20150520.0330.nc test.20150520.0330.nc test.20150520.0330.csv
    2. Expected results are in the attached file:
      1. test.20150520.0330.csv

 

  • No labels