#!/bin/bash

_version_=$(echo ${SSM_BUNDLE_PATH#@} | sed 's/-run//g')
_ssm_version_string_="$(echo "$@" | sed 's/-run//g')"

_red_='\e[0;31m'
_NC_='\e[0m' # No Color

add2path() {
   local _new_entry=${1}
   
   [[ -d "$_new_entry" ]] || "${_red_}**** Error : can't find directory${_NC_} : $_new_entry"
   case ":${PATH}:" in
      *":$_new_entry:"*) :;; # already there
      *) export PATH="${_new_entry}:${PATH}";; 
   esac
}

add2ld() {
   local _new_entry=${1}

   [[ -d "$_new_entry" ]] || echo -e "${_red_}**** Error : can't find directory${_NC_} : $_new_entry"

   case " ${EC_LD_LIBRARY_PATH} " in
      *" $_new_entry "*) :;; # already there

      *) export EC_LD_LIBRARY_PATH="${_new_entry} ${EC_LD_LIBRARY_PATH}"

         case ":${LD_LIBRARY_PATH}:" in
            *":$_new_entry:"*) :;; # already there
            *) export LD_LIBRARY_PATH="${_new_entry}:${LD_LIBRARY_PATH}";;
         esac

         case ":${LIBPATH}:" in
            *":$_new_entry:"*) :;; # already there
            *) export LIBPATH="${_new_entry}:${LIBPATH}";; 
         esac
         ;; 
   esac
}

add2include() {
   local _new_entry=${1}

   [[ -d "$_new_entry" ]] || echo -e "${_red_}**** Error : can't find directory${_NC_} : $_new_entry"
   case " ${EC_INCLUDE_PATH} " in
      *" $_new_entry "*) :;; # already there
      *) export EC_INCLUDE_PATH="${_new_entry} ${EC_INCLUDE_PATH}";; 
   esac
}

setenviro() {
   local _version=${1}
   
   local _basedir=/home/dormrb02/modeles/GEMDM

	export ATM_MODEL_DSTP="2013-08-09 00:00 EDT"
	
	export ATM_MODEL_BNDL="${_ssm_version_string_}" 
	
	export ATM_PHY_VERSION=5.7.0-a2
	export ATM_DYN_VERSION=4.7.0-a2
	export ATM_MODEL_VERSION=${_version}
	export GEM_MOD_VERSION=0.6.0
	export VGRIDDESCRIPTORS_VERSION=4.2.0
	export GEM_REF_VERSION=0.7.0
	
	export MAESTRO_MODULE_NAME=gem
	export MAESTRO_CURRENT_PREFIX=gem
	export MAESTRO_CURRENT_REF=/users/dor/armn/env/SsmBundles/GEM/d/x/gem-mod/4.5.0-b7/gem-ref_0.7.0_all
	export MAESTRO_MODULE_PATH=/users/dor/armn/env/SsmBundles/isst/modules/gem/gem-mod_0.6.0_all
	export MAESTRO_CURRENT_REF=/users/dor/armn/env/SsmBundles/GEM/d/x/gem-mod/4.5.0-b7/gem-ref_0.7.0_all

	export ATM_MODEL_DFILES=/home/ordenv/ssm-domains9/release/gem-data_4.2.0/gem-data_4.2.0_all/share/data/dfiles
	export vgriddescriptors=/home/ordenv/ssm-domains-cmdn/vgrid/vgriddescriptors_4.2.0_multi
	export gemmod=/users/dor/armn/env/SsmBundles/isst/modules/gem/gem-mod_0.6.0_all/mod
	
	export gemdyn_version=4.7.0-a2
	export rpnphy_version=5.7.0-a2
	export modelutils_version=1.1.1-a2
	export gemscripts_version=4.7.0-a2

	export gemdata_version=4.2.0
	
	export gemdyn=${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_all
	export rpnphy=${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_all
	export modelutils=${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_all

   export TASK_SETUP=task_setup-0.9.0.ksh

   # scripts
   add2path ${_basedir}/gem-scripts/v_${gemscripts_version}/gem-scripts_${gemscripts_version}_all/bin

   # modelutils
   add2path    ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_all/bin
   add2include ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_all/include
   add2ld      ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_all/lib

   #rpnphy
   add2path    ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_all/bin
   add2include ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_all/include
   add2ld      ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_all/lib

   #gemdyn
   add2path    ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_all/bin
   add2include ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_all/include
   add2ld      ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_all/lib

   #gem
   add2path    ${_basedir}/gem/v_${gemdyn_version}/gem_${gemdyn_version}_all/bin
   add2include ${_basedir}/gem/v_${gemdyn_version}/gem_${gemdyn_version}_all/include
   add2ld      ${_basedir}/gem/v_${gemdyn_version}/gem_${gemdyn_version}_all/lib

   export PYTHONPATH=${_basedir}/gem/v_${gemdyn_version}/gem_${gemdyn_version}_all/include:${PYTHONPATH}

   case "$(uname)" in
      'AIX')   local _os='aix61-ppc-64';;
      'Linux') local _os='linux26-x86-64';; 
   esac
   
   # modelutils
   add2path    ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/bin/${BASE_ARCH}
   add2include ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_all/include/${EC_ARCH}
   add2include ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/include/${EC_ARCH}
   add2include ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/include/${BASE_ARCH}
   add2include ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/include
   add2ld      ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/lib/${EC_ARCH}
   add2ld      ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/lib/${BASE_ARCH}
   add2ld      ${_basedir}/modelutils/v_${modelutils_version}/modelutils_${modelutils_version}_${_os}/lib

   #rpnphy
   add2path    ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/bin/${BASE_ARCH}
   add2include ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/include/${EC_ARCH}
   add2include ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/include/${BASE_ARCH}
   add2include ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/include
   add2ld      ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/lib/${EC_ARCH}
   add2ld      ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/lib/${BASE_ARCH}
   add2ld      ${_basedir}/rpnphy/v_${rpnphy_version}/rpnphy_${rpnphy_version}_${_os}/lib

   #gemdyn
   add2path    ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/bin/${BASE_ARCH}
   add2include ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/include/${EC_ARCH}
   add2include ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/include/${BASE_ARCH}
   add2include ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/include
   add2ld      ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/lib/${EC_ARCH}
   add2ld      ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/lib/${BASE_ARCH}
   add2ld      ${_basedir}/gemdyn/v_${gemdyn_version}/gemdyn_${gemdyn_version}_${_os}/lib

   #gem
   add2path ${_basedir}/gem/v_${gemdyn_version}/gem_${gemdyn_version}_${_os}/bin/${BASE_ARCH}

   if [ -d "${HOME}/modeles/GEMDM/v_${_version}/bin" ]; then
      echo "Add ${HOME}/modeles/GEMDM/v_${_version}/bin to PATH"
      add2path ${HOME}/modeles/GEMDM/v_${_version}/bin
   fi
}

#if [[ ${SSM_BUNDLE_PATH} != *-run ]]; then
#   if [ "$(uname)" = 'Linux' ]; then
#      . s.ssmuse.dot pgi9xx mpich2 git
#      . r.compiler_rules.dot
#   else
#      . s.ssmuse.dot Xlf13.110
#   fi
#fi
#
#. s.ssmuse.dot legacy rmnlib-dev devtools CMDN/vgrid/4.2.0 ENV/d/rpn_comm/4.4.0

if [ -n "${_version_}" ] ; then
   setenviro ${_version_}
else
  printf "\n -version NOT specified\n\n"
fi

unset _version_
unset _ssm_version_string_
unset _red_
unset _NC_

#. s.ssmuse.dot dot
