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
8GB
5GB (mainly for keeping an optional output data archive)
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.
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
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:
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:
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: