Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
faq:chimie:gaussian [2018/07/24 10:04] – [Submission script Gaussian 16] tjiang | faq:chimie:gaussian [2021/10/08 13:47] – [Submission script Gaussian 16] tjiang | ||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
# trace script (debug purpose, not mandatory) | # trace script (debug purpose, not mandatory) | ||
- | set -x | + | #set -x |
# set globals | # set globals | ||
- | job=structure11 | + | job="structure11" |
- | ExtIn=com | + | ExtIn="com" |
- | ExtOut=log | + | ExtOut="log" |
# Environment setting for gaussian | # Environment setting for gaussian | ||
Ligne 37: | Ligne 37: | ||
exit | exit | ||
fi | fi | ||
- | source $g16root/ | + | source |
- | export Gaussian=$g16root/ | + | export Gaussian="$g16root/ |
- | cd ${SGE_O_WORKDIR} | + | #cd "${SGE_O_WORKDIR}" || { echo " |
- | echo "########## | + | #echo "########## |
- | env | + | #env |
- | echo "########## | + | #echo "########## |
echo "########## | echo "########## | ||
hostname | hostname | ||
- | HOMEDIR=${SGE_O_WORKDIR} | + | HOMEDIR="${SGE_O_WORKDIR}" |
- | cd ${HOMEDIR} | + | |
# Replace ' | # Replace ' | ||
- | SCRATCHDIR=/ | ||
# check if scratch exist, create or complain | # check if scratch exist, create or complain | ||
- | if [[ -d "/ | + | if [[ -d "/ |
then | then | ||
- | | + | |
- | else | + | |
- | | + | elif [[ -d "/ |
- | fi | + | then |
- | + | SCRATCHDIR=/ | |
- | # check if scratchdir is OK | + | mkdir -p "${SCRATCHDIR}" |
- | echo "ok" | + | elif [[ -d "/ |
- | Ok=$(cat | + | |
- | if [[ "${Ok}" | + | |
then | then | ||
- | | + | |
- | CalcDir="${SGE_O_WORKDIR}/scratch" | + | mkdir -p "${SCRATCHDIR}" |
- | mkdir -p ${CalcDir} | + | |
else | else | ||
- | | + | |
+ | exit 1 | ||
fi | fi | ||
+ | |||
+ | CalcDir=" | ||
+ | mkdir -p " | ||
+ | |||
# Gaussian specific ScratchDir | # Gaussian specific ScratchDir | ||
- | export GAUSS_SCRDIR=${CalcDir} | + | export GAUSS_SCRDIR="${CalcDir}" |
Machine=$(hostname) | Machine=$(hostname) | ||
Ligne 79: | Ligne 78: | ||
# check if there is a chk or chk.gz | # check if there is a chk or chk.gz | ||
# TODO/FIXME there' | # TODO/FIXME there' | ||
- | NChk=` grep -i " | + | NChk=$(grep -i " |
if [ " | if [ " | ||
then | then | ||
- | NChk=` basename $NChk .chk`.chk | + | NChk=$(basename |
fi | fi | ||
- | if [[ -s ${HOMEDIR}/ | + | if [[ -s "${HOMEDIR}/ |
then | then | ||
- | cp ${HOMEDIR}/ | + | cp "${HOMEDIR}/ |
fi | fi | ||
- | if [[ -s ${HOMEDIR}/ | + | if [[ -s "${HOMEDIR}/ |
then | then | ||
- | cp ${HOMEDIR}/ | + | cp "${HOMEDIR}/ |
- | gunzip ${CalcDir}/ | + | gunzip |
fi | fi | ||
- | cp ${HOMEDIR}/ | + | cp "${HOMEDIR}/ |
# logrotate old logs | # logrotate old logs | ||
- | if [[ -s ${HOMEDIR}/ | + | if [[ -s "${HOMEDIR}/ |
then | then | ||
Ext=1 | Ext=1 | ||
- | while [[ -s ${HOMEDIR}/ | + | while [[ -s "${HOMEDIR}/ |
do | do | ||
- | let Ext=Ext+1 | + | |
+ | Ext=$(( Ext+1 )) | ||
done | done | ||
- | mv ${HOMEDIR}/ | + | mv "${HOMEDIR}/ |
fi | fi | ||
- | cd ${CalcDir} | + | cd "${CalcDir}" || { echo " |
- | echo ${CalcDir} | + | echo "${CalcDir}" |
ls -al | ls -al | ||
- | echo "time ${Gaussian} < ${job}.${ExtIn} > ${HOMEDIR}/ | + | #echo "time ${Gaussian} < ${job}.${ExtIn} > ${HOMEDIR}/ |
#/ | #/ | ||
- | ${Gaussian} < ${job}.${ExtIn} > ${HOMEDIR}/ | + | "${Gaussian}" |
- | cp * ${HOMEDIR}/ | + | if [[ -s "${NChk}" |
- | + | ||
- | if [[ -s ${NChk} ]] | + | |
then | then | ||
- | gzip -9 ${NChk} | + | gzip -9 "${NChk}" |
- | cp ${NChk}.gz ${HOMEDIR}/ | + | cp "${NChk}.gz" "${HOMEDIR}/" |
fi | fi | ||
+ | |||
+ | |||
+ | #copy back everything including the huge rwf files, normally we don't need it | ||
+ | #cp -- * " | ||
# final cleanup (commented during debug) | # final cleanup (commented during debug) | ||
- | rm -r ${GAUSS_SCRDIR} | + | rm -r "${GAUSS_SCRDIR}" |
- | rm -r ${CalcDir} | + | |
+ | |||
</ | </ |