Work on continuous integration
* Started port of the previous CI.bash * Also fix bug in spec.f (stdout was closed so nothing appeared on screen at the second call to libspec) * Work on test suite - utils to create clusters are tested - PED calculator for polar and azimutal scans are tested
This commit is contained in:
parent
d167bd9f75
commit
4807474889
|
@ -2,3 +2,4 @@ __pycache__
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
*.so
|
*.so
|
||||||
*.bak
|
*.bak
|
||||||
|
package/
|
||||||
|
|
|
@ -0,0 +1,176 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SCRIPT_NAME=$(basename $0)
|
||||||
|
TOPLEVEL=$(git rev-parse --show-toplevel)
|
||||||
|
VERSION=$(git describe|sed 's/-\([[:digit:]]\+\)-.*/\.post\1/')
|
||||||
|
(return 0 2>/dev/null) && sourced=1 || sourced=0
|
||||||
|
|
||||||
|
pythonpath_prepend() {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
PYTHONPATH=${PYTHONPATH//":$1:"/:} #delete all instances in the middle
|
||||||
|
PYTHONPATH=${PYTHONPATH/%":$1"/} #delete any instance at the end
|
||||||
|
PYTHONPATH=${PYTHONPATH/#"$1:"/} #delete any instance at the beginning
|
||||||
|
PYTHONPATH="$1${PYTHONPATH:+":$PYTHONPATH"}" #prepend $1 or if $PATH is empty set to $1
|
||||||
|
export PYTHONPATH
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Setup or upgrade the Python virtual environment
|
||||||
|
setup_virtualenv(){
|
||||||
|
VENV_PATH="$1"
|
||||||
|
virtualenv --python=python3 --system-site-packages "$VENV_PATH"
|
||||||
|
source "$VENV_PATH/bin/activate"
|
||||||
|
pip install --upgrade pip
|
||||||
|
pip install --upgrade numpy ase h5py lxml pint terminaltables pycairo
|
||||||
|
pip install --upgrade sphinx
|
||||||
|
status=$?
|
||||||
|
deactivate
|
||||||
|
[ $status -eq 0 ] || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
activate_msspec_python3_virtualenv() {
|
||||||
|
VENV_PATH="$1"
|
||||||
|
# do not activate virtualenv if already activated
|
||||||
|
if [ x"${VIRTUAL_ENV}" == x ]; then
|
||||||
|
# We are not in a virtualenv
|
||||||
|
if [ x"${VENV_PATH}" != x ]; then
|
||||||
|
# activate the specified venv
|
||||||
|
export MSSPEC_ROOT="${TOPLEVEL}"
|
||||||
|
pythonpath_prepend "$MSSPEC_ROOT/src"
|
||||||
|
#PYTHONPATH="$PYTHONPATH":"$MSSPEC_ROOT"/src
|
||||||
|
source "$VENV_PATH/bin/activate"
|
||||||
|
else
|
||||||
|
# error
|
||||||
|
echo "Error: No venv specified!!"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# We are in a virtualenv so load only variables
|
||||||
|
export MSSPEC_ROOT="${TOPLEVEL}"
|
||||||
|
pythonpath_prepend "$MSSPEC_ROOT/src"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
make_pymsspec_package() {
|
||||||
|
echo "Running setuptools for pymsspec, please wait... "
|
||||||
|
VERSION=$(get_package_version)
|
||||||
|
DEST=${TOPLEVEL}/install_resources/packages/${VERSION}
|
||||||
|
mkdir -p $DEST
|
||||||
|
cd ${TOPLEVEL}/src/python/pymsspec && python setup.py sdist 2>&1 > /dev/null
|
||||||
|
cp ${TOPLEVEL}/src/python/pymsspec/dist/pymsspec-${VERSION}.tar.gz ${DEST}/
|
||||||
|
rm -rf ${TOPLEVEL}/src/python/pymsspec/{*.egg-info,dist}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
make_pybinding() {
|
||||||
|
echo "Creating Python library for Fortran code, please wait... "
|
||||||
|
activate_msspec_python3_virtualenv
|
||||||
|
cd ${TOPLEVEL}/src/ && make pybinding
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
make_selfex() {
|
||||||
|
echo "Creating the self-extractible setup program... "
|
||||||
|
VERSION=$(get_package_version)
|
||||||
|
DEST=${TOPLEVEL}/install_resources/packages/${VERSION}
|
||||||
|
LICENSE="${TOPLEVEL}/src/CI/license.txt"
|
||||||
|
REQUIREMENTS="${TOPLEVEL}/src/CI/requirements"
|
||||||
|
SETUPFILE="MsSpec-${VERSION}.setup"
|
||||||
|
MAKESELF=${TOPLEVEL}/src/CI/makeself/makeself.sh
|
||||||
|
#pip freeze > "${REQUIREMENTS}"
|
||||||
|
mkdir -p $DEST
|
||||||
|
cp "${TOPLEVEL}/src/CI/install.sh" "${DEST}"
|
||||||
|
chmod u+x "${DEST}/install.sh"
|
||||||
|
cp "${TOPLEVEL}/src/CI/uninstall.sh" "${DEST}"
|
||||||
|
cp "${TOPLEVEL}/src/CI/msspec" "${DEST}"
|
||||||
|
cp "${TOPLEVEL}/src/CI/requirements" "${DEST}"
|
||||||
|
cp "${TOPLEVEL}/src/CI/distro-requirements" "${DEST}"
|
||||||
|
get_makeself
|
||||||
|
cd "${DEST}/../" && ${MAKESELF} --license ${LICENSE} --quiet ${VERSION} ${SETUPFILE} "MsSpec - pymsspec" ./install.sh
|
||||||
|
rm -rf ${SETUPFILE}.bak
|
||||||
|
rm -rf "${DEST}"
|
||||||
|
#rm -rf "${REQUIREMENTS}"
|
||||||
|
}
|
||||||
|
|
||||||
|
make_pdf() {
|
||||||
|
DEST=${TOPLEVEL}/package
|
||||||
|
mkdir -p ${DEST}
|
||||||
|
# first activate the virtual environment
|
||||||
|
activate_msspec_python3_virtualenv
|
||||||
|
# then build the documentation.
|
||||||
|
cd "${TOPLEVEL}/doc"
|
||||||
|
make --no-print-directory latexpdf || exit 1
|
||||||
|
# remove previous pdf
|
||||||
|
rm -rf "${DEST}"/*.pdf
|
||||||
|
# copy the produced pdf file to the final location
|
||||||
|
cp "build/latex/MsSpec-python.pdf" "${TOPLEVEL}/package/MsSpec-${VERSION}.pdf"
|
||||||
|
}
|
||||||
|
|
||||||
|
make_html () {
|
||||||
|
make_pdf
|
||||||
|
# first activate the virtual environment
|
||||||
|
activate_msspec_python3_virtualenv
|
||||||
|
# then build the documentation.
|
||||||
|
cd "${TOPLEVEL}/doc"
|
||||||
|
make --no-print-directory html || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
make_tests() {
|
||||||
|
echo "generate results for unit tests..."
|
||||||
|
activate_msspec_python3_virtualenv
|
||||||
|
python -c "from msspec.tests import create_tests_results; create_tests_results()"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
create_package() {
|
||||||
|
VENV_PATH="$1"
|
||||||
|
source "$VENV_PATH/bin/activate"
|
||||||
|
|
||||||
|
#update_version
|
||||||
|
#make_tests
|
||||||
|
#make_pdf
|
||||||
|
#make_pymsspec_package
|
||||||
|
#make_msspecgui_package
|
||||||
|
#make_fortran_package
|
||||||
|
#make_selfex
|
||||||
|
#cleanup
|
||||||
|
|
||||||
|
deactivate
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
echo "cleaning up..."
|
||||||
|
# remove results.txt file
|
||||||
|
python -c "from msspec.tests import delete_results_file; delete_results_file()"
|
||||||
|
VERSION=$(get_package_version)
|
||||||
|
rm -f ${TOPLEVEL}/guide/MsSpec-${VERSION}.pdf
|
||||||
|
}
|
||||||
|
|
||||||
|
show_help () {
|
||||||
|
echo "Usage: $SCRIPT_NAME [OPTIONS]"
|
||||||
|
echo "List of possible options:"
|
||||||
|
echo " -i Initialize a Python virtual environnment in FOLDER"
|
||||||
|
echo " -d Build the html documentation within the Python "
|
||||||
|
echo " virtual environnment in FOLDER"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$sourced" == 0 ]; then
|
||||||
|
|
||||||
|
while getopts "hi:dt" option; do
|
||||||
|
case $option in
|
||||||
|
i) setup_virtualenv "$OPTARG"
|
||||||
|
;;
|
||||||
|
d) make_html
|
||||||
|
;;
|
||||||
|
t) make_tests
|
||||||
|
;;
|
||||||
|
h) show_help
|
||||||
|
;;
|
||||||
|
*) show_help
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
11
Makefile
11
Makefile
|
@ -8,7 +8,11 @@ SETUPFILE:=pymsspec-$(VERSION).setup
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -rf *.setup
|
@echo "Cleaning all..."
|
||||||
|
@find ./src -type f -name '*.pyc' -exec rm {} +
|
||||||
|
@find ./src -type d -name '__pycache__' -exec rm -r {} +
|
||||||
|
+$(MAKE) -C src/ clean
|
||||||
|
+$(MAKE) -C doc/ clean
|
||||||
|
|
||||||
version:
|
version:
|
||||||
@python ./CI/update_version.py
|
@python ./CI/update_version.py
|
||||||
|
@ -16,9 +20,8 @@ version:
|
||||||
|
|
||||||
purge: clean
|
purge: clean
|
||||||
@echo "Purging all..."
|
@echo "Purging all..."
|
||||||
@find ./src -type f -name '*.pyc' -exec rm {} +
|
@rm -rf *.setup
|
||||||
@find ./src -type d -name '__pycache__' -exec rm -r {} +
|
+$(MAKE) -C src/ purge
|
||||||
+$(MAKE) -C src/ clean
|
|
||||||
|
|
||||||
selfex: purge
|
selfex: purge
|
||||||
@echo "Creating the self-extractible setup program... "
|
@echo "Creating the self-extractible setup program... "
|
||||||
|
|
|
@ -16,3 +16,7 @@ clean:
|
||||||
@rm -rf dist
|
@rm -rf dist
|
||||||
@rm -rf *.egg*
|
@rm -rf *.egg*
|
||||||
|
|
||||||
|
purge: clean
|
||||||
|
+$(MAKE) -C msspec/spec/fortran purge
|
||||||
|
+$(MAKE) -C msspec/phagen/fortran purge
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# vim: set ts=4 sw=4 sts noet mouse=a fdm=indent:
|
# vim: set ts=4 sw=4 sts noet mouse=a fdm=indent:
|
||||||
|
|
||||||
|
SCRIPT_NAME=$(basename "$0")
|
||||||
PYTHON=python3
|
PYTHON=python3
|
||||||
VERSION=$(cat ./msspec/version.py|cut -d\" -f2)
|
VERSION=$(cat ./msspec/version.py|cut -d\" -f2)
|
||||||
DEFAULT_DEST="${HOME}/.local/share"
|
DEFAULT_DEST="${HOME}/.local/share"
|
||||||
|
|
|
@ -68,14 +68,14 @@ from terminaltables.ascii_table import AsciiTable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
#try:
|
||||||
MSSPEC_ROOT = os.environ['MSSPEC_ROOT']
|
# MSSPEC_ROOT = os.environ['MSSPEC_ROOT']
|
||||||
except KeyError:
|
#except KeyError:
|
||||||
cfg = Config()
|
# cfg = Config()
|
||||||
MSSPEC_ROOT = cfg.get('path')
|
# MSSPEC_ROOT = cfg.get('path')
|
||||||
|
|
||||||
if MSSPEC_ROOT == str(None):
|
#if MSSPEC_ROOT == str(None):
|
||||||
raise NameError('No path to the MsSpec distribution found !!')
|
# raise NameError('No path to the MsSpec distribution found !!')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ class _MSCALCULATOR(Calculator):
|
||||||
LOGGER.debug(' create a space dedicated to the calculation')
|
LOGGER.debug(' create a space dedicated to the calculation')
|
||||||
########################################################################
|
########################################################################
|
||||||
self.init_folder = os.getcwd()
|
self.init_folder = os.getcwd()
|
||||||
self.msspec_folder = os.path.join(MSSPEC_ROOT)
|
#self.msspec_folder = os.path.join(MSSPEC_ROOT)
|
||||||
self.tmp_folder = os.path.abspath(folder)
|
self.tmp_folder = os.path.abspath(folder)
|
||||||
LOGGER.debug(' folder: \'%s\'', self.tmp_folder)
|
LOGGER.debug(' folder: \'%s\'', self.tmp_folder)
|
||||||
if not os.path.exists(self.tmp_folder):
|
if not os.path.exists(self.tmp_folder):
|
||||||
|
@ -195,7 +195,7 @@ class _MSCALCULATOR(Calculator):
|
||||||
#copyfile(os.path.join(self.msspec_folder, 'ase', 'Makefile'),
|
#copyfile(os.path.join(self.msspec_folder, 'ase', 'Makefile'),
|
||||||
# os.path.join(self.tmp_folder, 'Makefile'))
|
# os.path.join(self.tmp_folder, 'Makefile'))
|
||||||
|
|
||||||
os.chdir(self.tmp_folder)
|
#os.chdir(self.tmp_folder)
|
||||||
|
|
||||||
inv = cor = 'NO'
|
inv = cor = 'NO'
|
||||||
if algorithm == 'expansion':
|
if algorithm == 'expansion':
|
||||||
|
@ -225,8 +225,8 @@ class _MSCALCULATOR(Calculator):
|
||||||
|
|
||||||
calctype_spectro = self.spec_parameters.get_parameter('calctype_spectro')
|
calctype_spectro = self.spec_parameters.get_parameter('calctype_spectro')
|
||||||
calctype_spectro = calctype_spectro.value
|
calctype_spectro = calctype_spectro.value
|
||||||
self._make_opts = (MSSPEC_ROOT, calctype_spectro, inv, cor,
|
#self._make_opts = (MSSPEC_ROOT, calctype_spectro, inv, cor,
|
||||||
spin, sorb, self.tmp_folder)
|
# spin, sorb, self.tmp_folder)
|
||||||
|
|
||||||
# Initialize the working environment
|
# Initialize the working environment
|
||||||
#self._make('init')
|
#self._make('init')
|
||||||
|
@ -306,6 +306,7 @@ class _MSCALCULATOR(Calculator):
|
||||||
os.rename('fort.10', 'cluster.clu')
|
os.rename('fort.10', 'cluster.clu')
|
||||||
os.rename('fort.35', 'tmatrix.tl')
|
os.rename('fort.35', 'tmatrix.tl')
|
||||||
os.rename('fort.55', 'tmatrix.rad')
|
os.rename('fort.55', 'tmatrix.rad')
|
||||||
|
os.chdir(self.init_folder)
|
||||||
|
|
||||||
|
|
||||||
def run_spec(self):
|
def run_spec(self):
|
||||||
|
@ -366,6 +367,7 @@ class _MSCALCULATOR(Calculator):
|
||||||
|
|
||||||
t1 = time.time()
|
t1 = time.time()
|
||||||
self.resources['spec_time'] = t1 - t0
|
self.resources['spec_time'] = t1 - t0
|
||||||
|
os.chdir(self.init_folder)
|
||||||
|
|
||||||
def get_tmatrix(self):
|
def get_tmatrix(self):
|
||||||
LOGGER.info("Getting the TMatrix...")
|
LOGGER.info("Getting the TMatrix...")
|
||||||
|
|
|
@ -67,7 +67,7 @@ from distutils.version import StrictVersion, LooseVersion
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
#sys.path.append('../../MsSpecGui/msspecgui/msspec/gui')
|
#sys.path.append('../../MsSpecGui/msspecgui/msspec/gui')
|
||||||
from .msspecgui.msspec.gui.clusterviewer import ClusterViewer
|
from msspec.msspecgui.msspec.gui.clusterviewer import ClusterViewer
|
||||||
|
|
||||||
def cols2matrix(x, y, z, nx=88*1+1, ny=360*1+1):
|
def cols2matrix(x, y, z, nx=88*1+1, ny=360*1+1):
|
||||||
# mix the values of existing theta and new theta and return the
|
# mix the values of existing theta and new theta and return the
|
||||||
|
|
|
@ -6,7 +6,7 @@ objects_src := phagen_scf.f
|
||||||
objects := $(patsubst %.f,%.o, $(objects_src))
|
objects := $(patsubst %.f,%.o, $(objects_src))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean pybinding
|
.PHONY: clean purge pybinding
|
||||||
|
|
||||||
pybinding: libphagen.so
|
pybinding: libphagen.so
|
||||||
|
|
||||||
|
@ -24,5 +24,8 @@ $(objects): $(objects_src)
|
||||||
clean:
|
clean:
|
||||||
@echo "cleaning..."
|
@echo "cleaning..."
|
||||||
rm -rf *.so *.o *.mod
|
rm -rf *.so *.o *.mod
|
||||||
|
|
||||||
|
purge: clean
|
||||||
|
@echo "Purging..."
|
||||||
rm -rf ../*.so
|
rm -rf ../*.so
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ OPTS := -g -Wall -Wextra -Warray-temporaries -Wconversion -fbacktrace -ffree-lin
|
||||||
EXE=prog
|
EXE=prog
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean pybinding
|
.PHONY: clean purge pybinding
|
||||||
|
|
||||||
pybinding: libspec.so
|
pybinding: libspec.so
|
||||||
|
|
||||||
|
@ -33,6 +33,9 @@ $(objects): $(objects_src)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "cleaning..."
|
@echo "cleaning..."
|
||||||
@rm -rf *.so *.o *.mod $(EXE)
|
@rm -rf *.so *.o *.mod
|
||||||
@rm -rf ../*.so
|
|
||||||
|
|
||||||
|
purge: clean
|
||||||
|
@echo "Purging..."
|
||||||
|
@rm -rf $(EXE)
|
||||||
|
@rm -rf ../*.so
|
||||||
|
|
|
@ -11,6 +11,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_ADSORB()
|
SUBROUTINE ALLOC_ADSORB()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(ADS)) THEN
|
||||||
|
DEALLOCATE(ADS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(ADS(3,900))
|
ALLOCATE(ADS(3,900))
|
||||||
END SUBROUTINE ALLOC_ADSORB
|
END SUBROUTINE ALLOC_ADSORB
|
||||||
END MODULE ADSORB_MOD
|
END MODULE ADSORB_MOD
|
||||||
|
@ -37,8 +40,17 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_APPROX()
|
SUBROUTINE ALLOC_APPROX()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(RTHFWD)) THEN
|
||||||
|
DEALLOCATE(RTHFWD)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(RTHFWD(NATP_M))
|
ALLOCATE(RTHFWD(NATP_M))
|
||||||
|
IF (ALLOCATED(IBWD)) THEN
|
||||||
|
DEALLOCATE(IBWD)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(IBWD(NATP_M))
|
ALLOCATE(IBWD(NATP_M))
|
||||||
|
IF (ALLOCATED(RTHBWD)) THEN
|
||||||
|
DEALLOCATE(RTHBWD)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(RTHBWD(NATP_M))
|
ALLOCATE(RTHBWD(NATP_M))
|
||||||
END SUBROUTINE ALLOC_APPROX
|
END SUBROUTINE ALLOC_APPROX
|
||||||
END MODULE APPROX_MOD
|
END MODULE APPROX_MOD
|
||||||
|
@ -55,8 +67,17 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_ATOMS()
|
SUBROUTINE ALLOC_ATOMS()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(VALZ)) THEN
|
||||||
|
DEALLOCATE(VALZ)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VALZ(NATCLU_M))
|
ALLOCATE(VALZ(NATCLU_M))
|
||||||
|
IF (ALLOCATED(NZAT)) THEN
|
||||||
|
DEALLOCATE(NZAT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NZAT(NATCLU_M))
|
ALLOCATE(NZAT(NATCLU_M))
|
||||||
|
IF (ALLOCATED(CHEM)) THEN
|
||||||
|
DEALLOCATE(CHEM)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CHEM(NATCLU_M))
|
ALLOCATE(CHEM(NATCLU_M))
|
||||||
END SUBROUTINE ALLOC_ATOMS
|
END SUBROUTINE ALLOC_ATOMS
|
||||||
END MODULE ATOMS_MOD
|
END MODULE ATOMS_MOD
|
||||||
|
@ -70,7 +91,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_AUGER()
|
SUBROUTINE ALLOC_AUGER()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(NLIN_A)) THEN
|
||||||
|
DEALLOCATE(NLIN_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NLIN_A(0:20))
|
ALLOCATE(NLIN_A(0:20))
|
||||||
|
IF (ALLOCATED(L_BOUNDS)) THEN
|
||||||
|
DEALLOCATE(L_BOUNDS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(L_BOUNDS(0:20,2))
|
ALLOCATE(L_BOUNDS(0:20,2))
|
||||||
END SUBROUTINE ALLOC_AUGER
|
END SUBROUTINE ALLOC_AUGER
|
||||||
END MODULE AUGER_MOD
|
END MODULE AUGER_MOD
|
||||||
|
@ -83,7 +110,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_BASES()
|
SUBROUTINE ALLOC_BASES()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(ATBAS)) THEN
|
||||||
|
DEALLOCATE(ATBAS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(ATBAS(3*NATP_M))
|
ALLOCATE(ATBAS(3*NATP_M))
|
||||||
|
IF (ALLOCATED(VECBAS)) THEN
|
||||||
|
DEALLOCATE(VECBAS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VECBAS(9))
|
ALLOCATE(VECBAS(9))
|
||||||
END SUBROUTINE ALLOC_BASES
|
END SUBROUTINE ALLOC_BASES
|
||||||
END MODULE BASES_MOD
|
END MODULE BASES_MOD
|
||||||
|
@ -100,10 +133,25 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_CLUSLIM()
|
SUBROUTINE ALLOC_CLUSLIM()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(X_MAX)) THEN
|
||||||
|
DEALLOCATE(X_MAX)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(X_MAX(NATCLU_M))
|
ALLOCATE(X_MAX(NATCLU_M))
|
||||||
|
IF (ALLOCATED(X_MIN)) THEN
|
||||||
|
DEALLOCATE(X_MIN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(X_MIN(NATCLU_M))
|
ALLOCATE(X_MIN(NATCLU_M))
|
||||||
|
IF (ALLOCATED(Y_MAX)) THEN
|
||||||
|
DEALLOCATE(Y_MAX)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(Y_MAX(NATCLU_M))
|
ALLOCATE(Y_MAX(NATCLU_M))
|
||||||
|
IF (ALLOCATED(Y_MIN)) THEN
|
||||||
|
DEALLOCATE(Y_MIN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(Y_MIN(NATCLU_M))
|
ALLOCATE(Y_MIN(NATCLU_M))
|
||||||
|
IF (ALLOCATED(VAL)) THEN
|
||||||
|
DEALLOCATE(VAL)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VAL(NATCLU_M))
|
ALLOCATE(VAL(NATCLU_M))
|
||||||
END SUBROUTINE ALLOC_CLUSLIM
|
END SUBROUTINE ALLOC_CLUSLIM
|
||||||
END MODULE CLUSLIM_MOD
|
END MODULE CLUSLIM_MOD
|
||||||
|
@ -121,10 +169,25 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_COOR()
|
SUBROUTINE ALLOC_COOR()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(NATYP)) THEN
|
||||||
|
DEALLOCATE(NATYP)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NATYP(NATM))
|
ALLOCATE(NATYP(NATM))
|
||||||
|
IF (ALLOCATED(NCHTYP)) THEN
|
||||||
|
DEALLOCATE(NCHTYP)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NCHTYP(NATP_M))
|
ALLOCATE(NCHTYP(NATP_M))
|
||||||
|
IF (ALLOCATED(NCORR)) THEN
|
||||||
|
DEALLOCATE(NCORR)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NCORR(NAT_EQ_M,NATP_M))
|
ALLOCATE(NCORR(NAT_EQ_M,NATP_M))
|
||||||
|
IF (ALLOCATED(INEW_AT)) THEN
|
||||||
|
DEALLOCATE(INEW_AT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(INEW_AT(NATCLU_M))
|
ALLOCATE(INEW_AT(NATCLU_M))
|
||||||
|
IF (ALLOCATED(SYM_AT)) THEN
|
||||||
|
DEALLOCATE(SYM_AT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(SYM_AT(3,NATCLU_M))
|
ALLOCATE(SYM_AT(3,NATCLU_M))
|
||||||
END SUBROUTINE ALLOC_COOR
|
END SUBROUTINE ALLOC_COOR
|
||||||
END MODULE COOR_MOD
|
END MODULE COOR_MOD
|
||||||
|
@ -142,6 +205,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_DEBWAL()
|
SUBROUTINE ALLOC_DEBWAL()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(UJ2)) THEN
|
||||||
|
DEALLOCATE(UJ2)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(UJ2(NATM))
|
ALLOCATE(UJ2(NATM))
|
||||||
END SUBROUTINE ALLOC_DEBWAL
|
END SUBROUTINE ALLOC_DEBWAL
|
||||||
END MODULE DEBWAL_MOD
|
END MODULE DEBWAL_MOD
|
||||||
|
@ -153,6 +219,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_INDAT()
|
SUBROUTINE ALLOC_INDAT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(INDATA)) THEN
|
||||||
|
DEALLOCATE(INDATA)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(INDATA(100))
|
ALLOCATE(INDATA(100))
|
||||||
END SUBROUTINE ALLOC_INDAT
|
END SUBROUTINE ALLOC_INDAT
|
||||||
END MODULE INDAT_MOD
|
END MODULE INDAT_MOD
|
||||||
|
@ -280,6 +349,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_MASSAT()
|
SUBROUTINE ALLOC_MASSAT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(XMT)) THEN
|
||||||
|
DEALLOCATE(XMT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(XMT(NATM))
|
ALLOCATE(XMT(NATM))
|
||||||
END SUBROUTINE ALLOC_MASSAT
|
END SUBROUTINE ALLOC_MASSAT
|
||||||
END MODULE MASSAT_MOD
|
END MODULE MASSAT_MOD
|
||||||
|
@ -296,6 +368,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_MILLER()
|
SUBROUTINE ALLOC_MILLER()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(IVN)) THEN
|
||||||
|
DEALLOCATE(IVN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(IVN(3))
|
ALLOCATE(IVN(3))
|
||||||
END SUBROUTINE ALLOC_MILLER
|
END SUBROUTINE ALLOC_MILLER
|
||||||
END MODULE MILLER_MOD
|
END MODULE MILLER_MOD
|
||||||
|
@ -350,6 +425,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_RELADS()
|
SUBROUTINE ALLOC_RELADS()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(PCRELA)) THEN
|
||||||
|
DEALLOCATE(PCRELA)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(PCRELA(3))
|
ALLOCATE(PCRELA(3))
|
||||||
END SUBROUTINE ALLOC_RELADS
|
END SUBROUTINE ALLOC_RELADS
|
||||||
END MODULE RELADS_MOD
|
END MODULE RELADS_MOD
|
||||||
|
@ -365,6 +443,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_RELAX()
|
SUBROUTINE ALLOC_RELAX()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(PCREL)) THEN
|
||||||
|
DEALLOCATE(PCREL)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(PCREL(10))
|
ALLOCATE(PCREL(10))
|
||||||
END SUBROUTINE ALLOC_RELAX
|
END SUBROUTINE ALLOC_RELAX
|
||||||
END MODULE RELAX_MOD
|
END MODULE RELAX_MOD
|
||||||
|
@ -429,10 +510,25 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_TRANS()
|
SUBROUTINE ALLOC_TRANS()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(DLT)) THEN
|
||||||
|
DEALLOCATE(DLT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DLT(NE_M,NATM,0:18,2))
|
ALLOCATE(DLT(NE_M,NATM,0:18,2))
|
||||||
|
IF (ALLOCATED(TL)) THEN
|
||||||
|
DEALLOCATE(TL)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(TL(0:NT_M,4,NATM,NE_M))
|
ALLOCATE(TL(0:NT_M,4,NATM,NE_M))
|
||||||
|
IF (ALLOCATED(VK)) THEN
|
||||||
|
DEALLOCATE(VK)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VK(NE_M))
|
ALLOCATE(VK(NE_M))
|
||||||
|
IF (ALLOCATED(VK2)) THEN
|
||||||
|
DEALLOCATE(VK2)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VK2(NE_M))
|
ALLOCATE(VK2(NE_M))
|
||||||
|
IF (ALLOCATED(LMAX)) THEN
|
||||||
|
DEALLOCATE(LMAX)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(LMAX(NATM,NE_M))
|
ALLOCATE(LMAX(NATM,NE_M))
|
||||||
END SUBROUTINE ALLOC_TRANS
|
END SUBROUTINE ALLOC_TRANS
|
||||||
END MODULE TRANS_MOD
|
END MODULE TRANS_MOD
|
||||||
|
@ -450,10 +546,25 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_TL_AED()
|
SUBROUTINE ALLOC_TL_AED()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(DLT_A)) THEN
|
||||||
|
DEALLOCATE(DLT_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DLT_A(NE_M,NATM,0:18,2))
|
ALLOCATE(DLT_A(NE_M,NATM,0:18,2))
|
||||||
|
IF (ALLOCATED(TL_A)) THEN
|
||||||
|
DEALLOCATE(TL_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(TL_A(0:NT_M,4,NATM,NE_M))
|
ALLOCATE(TL_A(0:NT_M,4,NATM,NE_M))
|
||||||
|
IF (ALLOCATED(VK_A)) THEN
|
||||||
|
DEALLOCATE(VK_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VK_A(NE_M))
|
ALLOCATE(VK_A(NE_M))
|
||||||
|
IF (ALLOCATED(VK2_A)) THEN
|
||||||
|
DEALLOCATE(VK2_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(VK2_A(NE_M))
|
ALLOCATE(VK2_A(NE_M))
|
||||||
|
IF (ALLOCATED(LMAX_A)) THEN
|
||||||
|
DEALLOCATE(LMAX_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(LMAX_A(NATM,NE_M))
|
ALLOCATE(LMAX_A(NATM,NE_M))
|
||||||
END SUBROUTINE ALLOC_TL_AED
|
END SUBROUTINE ALLOC_TL_AED
|
||||||
END MODULE TL_AED_MOD
|
END MODULE TL_AED_MOD
|
||||||
|
@ -502,6 +613,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_TYPEM()
|
SUBROUTINE ALLOC_TYPEM()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(IEMET)) THEN
|
||||||
|
DEALLOCATE(IEMET)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(IEMET(NEMET_M))
|
ALLOCATE(IEMET(NEMET_M))
|
||||||
END SUBROUTINE ALLOC_TYPEM
|
END SUBROUTINE ALLOC_TYPEM
|
||||||
END MODULE TYPEM_MOD
|
END MODULE TYPEM_MOD
|
||||||
|
@ -532,6 +646,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_VALIN()
|
SUBROUTINE ALLOC_VALIN()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(NONVOL)) THEN
|
||||||
|
DEALLOCATE(NONVOL)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NONVOL(100))
|
ALLOCATE(NONVOL(100))
|
||||||
END SUBROUTINE ALLOC_VALIN
|
END SUBROUTINE ALLOC_VALIN
|
||||||
END MODULE VALIN_MOD
|
END MODULE VALIN_MOD
|
||||||
|
@ -544,7 +661,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_XMRHO()
|
SUBROUTINE ALLOC_XMRHO()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(XMAT)) THEN
|
||||||
|
DEALLOCATE(XMAT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(XMAT(0:99))
|
ALLOCATE(XMAT(0:99))
|
||||||
|
IF (ALLOCATED(RHOAT)) THEN
|
||||||
|
DEALLOCATE(RHOAT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(RHOAT(0:99))
|
ALLOCATE(RHOAT(0:99))
|
||||||
END SUBROUTINE ALLOC_XMRHO
|
END SUBROUTINE ALLOC_XMRHO
|
||||||
END MODULE XMRHO_MOD
|
END MODULE XMRHO_MOD
|
||||||
|
@ -570,8 +693,17 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_VECSYS()
|
SUBROUTINE ALLOC_VECSYS()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(ASYS)) THEN
|
||||||
|
DEALLOCATE(ASYS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(ASYS(3))
|
ALLOCATE(ASYS(3))
|
||||||
|
IF (ALLOCATED(BSYS)) THEN
|
||||||
|
DEALLOCATE(BSYS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(BSYS(3))
|
ALLOCATE(BSYS(3))
|
||||||
|
IF (ALLOCATED(CSYS)) THEN
|
||||||
|
DEALLOCATE(CSYS)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CSYS(3))
|
ALLOCATE(CSYS(3))
|
||||||
END SUBROUTINE ALLOC_VECSYS
|
END SUBROUTINE ALLOC_VECSYS
|
||||||
END MODULE VECSYS_MOD
|
END MODULE VECSYS_MOD
|
||||||
|
@ -583,6 +715,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_VIBRAT()
|
SUBROUTINE ALLOC_VIBRAT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(I_FREE)) THEN
|
||||||
|
DEALLOCATE(I_FREE)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(I_FREE(NATP_M))
|
ALLOCATE(I_FREE(NATP_M))
|
||||||
END SUBROUTINE ALLOC_VIBRAT
|
END SUBROUTINE ALLOC_VIBRAT
|
||||||
END MODULE VIBRAT_MOD
|
END MODULE VIBRAT_MOD
|
||||||
|
@ -594,6 +729,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_COEFRLM()
|
SUBROUTINE ALLOC_COEFRLM()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(CF)) THEN
|
||||||
|
DEALLOCATE(CF)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CF(0:2*NL_M-2,0:2*NL_M-2,0:2*NL_M-2))
|
ALLOCATE(CF(0:2*NL_M-2,0:2*NL_M-2,0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_COEFRLM
|
END SUBROUTINE ALLOC_COEFRLM
|
||||||
END MODULE COEFRLM_MOD
|
END MODULE COEFRLM_MOD
|
||||||
|
@ -605,6 +743,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_EXPROT()
|
SUBROUTINE ALLOC_EXPROT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(EXPR)) THEN
|
||||||
|
DEALLOCATE(EXPR)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(EXPR(0:2*NL_M-2,0:2*NL_M-2))
|
ALLOCATE(EXPR(0:2*NL_M-2,0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_EXPROT
|
END SUBROUTINE ALLOC_EXPROT
|
||||||
END MODULE EXPROT_MOD
|
END MODULE EXPROT_MOD
|
||||||
|
@ -616,6 +757,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_EXPFAC()
|
SUBROUTINE ALLOC_EXPFAC()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(EXPF)) THEN
|
||||||
|
DEALLOCATE(EXPF)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(EXPF(0:2*NL_M-2,0:2*NL_M-2))
|
ALLOCATE(EXPF(0:2*NL_M-2,0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_EXPFAC
|
END SUBROUTINE ALLOC_EXPFAC
|
||||||
END MODULE EXPFAC_MOD
|
END MODULE EXPFAC_MOD
|
||||||
|
@ -627,6 +771,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_LOGAMAD()
|
SUBROUTINE ALLOC_LOGAMAD()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(GLD)) THEN
|
||||||
|
DEALLOCATE(GLD)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(GLD(0:N_GAUNT,2))
|
ALLOCATE(GLD(0:N_GAUNT,2))
|
||||||
END SUBROUTINE ALLOC_LOGAMAD
|
END SUBROUTINE ALLOC_LOGAMAD
|
||||||
END MODULE LOGAMAD_MOD
|
END MODULE LOGAMAD_MOD
|
||||||
|
@ -638,6 +785,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_EXPFAC2()
|
SUBROUTINE ALLOC_EXPFAC2()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(EXPF2)) THEN
|
||||||
|
DEALLOCATE(EXPF2)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(EXPF2(0:2*NL_M-2,0:2*NL_M-2))
|
ALLOCATE(EXPF2(0:2*NL_M-2,0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_EXPFAC2
|
END SUBROUTINE ALLOC_EXPFAC2
|
||||||
END MODULE EXPFAC2_MOD
|
END MODULE EXPFAC2_MOD
|
||||||
|
@ -649,6 +799,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_FACTSQ()
|
SUBROUTINE ALLOC_FACTSQ()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(FSQ)) THEN
|
||||||
|
DEALLOCATE(FSQ)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(FSQ(0:2*NL_M-2))
|
ALLOCATE(FSQ(0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_FACTSQ
|
END SUBROUTINE ALLOC_FACTSQ
|
||||||
END MODULE FACTSQ_MOD
|
END MODULE FACTSQ_MOD
|
||||||
|
@ -715,7 +868,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_VALIN_AV()
|
SUBROUTINE ALLOC_VALIN_AV()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(TH_0)) THEN
|
||||||
|
DEALLOCATE(TH_0)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(TH_0(NTH_M))
|
ALLOCATE(TH_0(NTH_M))
|
||||||
|
IF (ALLOCATED(PH_0)) THEN
|
||||||
|
DEALLOCATE(PH_0)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(PH_0(NPH_M))
|
ALLOCATE(PH_0(NPH_M))
|
||||||
END SUBROUTINE ALLOC_VALIN_AV
|
END SUBROUTINE ALLOC_VALIN_AV
|
||||||
END MODULE VALIN_AV_MOD
|
END MODULE VALIN_AV_MOD
|
||||||
|
@ -797,6 +956,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_C_G()
|
SUBROUTINE ALLOC_C_G()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(CG)) THEN
|
||||||
|
DEALLOCATE(CG)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CG(-LI_M:LI_M+1,2,2))
|
ALLOCATE(CG(-LI_M:LI_M+1,2,2))
|
||||||
END SUBROUTINE ALLOC_C_G
|
END SUBROUTINE ALLOC_C_G
|
||||||
END MODULE C_G_MOD
|
END MODULE C_G_MOD
|
||||||
|
@ -808,8 +970,11 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_C_G_A()
|
SUBROUTINE ALLOC_C_G_A()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
ALLOCATE(CGA(0:NCG_M,-NCG_M:NCG_M,0:NCG_M,-NCG_M:NCG_M,0:2*NCG
|
IF (ALLOCATED(CGA)) THEN
|
||||||
&_M))
|
DEALLOCATE(CGA)
|
||||||
|
ENDIF
|
||||||
|
ALLOCATE(CGA(0:NCG_M,-NCG_M:NCG_M,0:NCG_M,-NCG_M:NCG_M,0:
|
||||||
|
& 2*NCG_M))
|
||||||
END SUBROUTINE ALLOC_C_G_A
|
END SUBROUTINE ALLOC_C_G_A
|
||||||
END MODULE C_G_A_MOD
|
END MODULE C_G_A_MOD
|
||||||
|
|
||||||
|
@ -820,6 +985,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_C_G_M()
|
SUBROUTINE ALLOC_C_G_M()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(CG_S)) THEN
|
||||||
|
DEALLOCATE(CG_S)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CG_S(2,2,2))
|
ALLOCATE(CG_S(2,2,2))
|
||||||
END SUBROUTINE ALLOC_C_G_M
|
END SUBROUTINE ALLOC_C_G_M
|
||||||
END MODULE C_G_M_MOD
|
END MODULE C_G_M_MOD
|
||||||
|
@ -831,6 +999,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_DEXPFAC2()
|
SUBROUTINE ALLOC_DEXPFAC2()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(DEXPF2)) THEN
|
||||||
|
DEALLOCATE(DEXPF2)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DEXPF2(0:2*NL_M-2,0:2*NL_M-2))
|
ALLOCATE(DEXPF2(0:2*NL_M-2,0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_DEXPFAC2
|
END SUBROUTINE ALLOC_DEXPFAC2
|
||||||
END MODULE DEXPFAC2_MOD
|
END MODULE DEXPFAC2_MOD
|
||||||
|
@ -842,6 +1013,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_DFACTSQ()
|
SUBROUTINE ALLOC_DFACTSQ()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(DFSQ)) THEN
|
||||||
|
DEALLOCATE(DFSQ)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DFSQ(0:2*NL_M-2))
|
ALLOCATE(DFSQ(0:2*NL_M-2))
|
||||||
END SUBROUTINE ALLOC_DFACTSQ
|
END SUBROUTINE ALLOC_DFACTSQ
|
||||||
END MODULE DFACTSQ_MOD
|
END MODULE DFACTSQ_MOD
|
||||||
|
@ -912,7 +1086,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_LINLBD()
|
SUBROUTINE ALLOC_LINLBD()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(LBD)) THEN
|
||||||
|
DEALLOCATE(LBD)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(LBD(-N_MU_M:N_MU_M,0:N_NU_M))
|
ALLOCATE(LBD(-N_MU_M:N_MU_M,0:N_NU_M))
|
||||||
|
IF (ALLOCATED(NUMAX)) THEN
|
||||||
|
DEALLOCATE(NUMAX)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NUMAX(NATP_M))
|
ALLOCATE(NUMAX(NATP_M))
|
||||||
END SUBROUTINE ALLOC_LINLBD
|
END SUBROUTINE ALLOC_LINLBD
|
||||||
END MODULE LINLBD_MOD
|
END MODULE LINLBD_MOD
|
||||||
|
@ -952,6 +1132,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_RA()
|
SUBROUTINE ALLOC_RA()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(N_RA)) THEN
|
||||||
|
DEALLOCATE(N_RA)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(N_RA(NATP_M))
|
ALLOCATE(N_RA(NATP_M))
|
||||||
END SUBROUTINE ALLOC_RA
|
END SUBROUTINE ALLOC_RA
|
||||||
END MODULE RA_MOD
|
END MODULE RA_MOD
|
||||||
|
@ -963,6 +1146,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_SPECTRUM()
|
SUBROUTINE ALLOC_SPECTRUM()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(I_SPECTRUM)) THEN
|
||||||
|
DEALLOCATE(I_SPECTRUM)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(I_SPECTRUM(NE_M))
|
ALLOCATE(I_SPECTRUM(NE_M))
|
||||||
END SUBROUTINE ALLOC_SPECTRUM
|
END SUBROUTINE ALLOC_SPECTRUM
|
||||||
END MODULE SPECTRUM_MOD
|
END MODULE SPECTRUM_MOD
|
||||||
|
@ -979,9 +1165,21 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_DIRECT()
|
SUBROUTINE ALLOC_DIRECT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(DIRANA)) THEN
|
||||||
|
DEALLOCATE(DIRANA)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DIRANA(3,49))
|
ALLOCATE(DIRANA(3,49))
|
||||||
|
IF (ALLOCATED(ANADIR)) THEN
|
||||||
|
DEALLOCATE(ANADIR)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(ANADIR(3,49))
|
ALLOCATE(ANADIR(3,49))
|
||||||
|
IF (ALLOCATED(THETAR)) THEN
|
||||||
|
DEALLOCATE(THETAR)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(THETAR(49))
|
ALLOCATE(THETAR(49))
|
||||||
|
IF (ALLOCATED(PHIR)) THEN
|
||||||
|
DEALLOCATE(PHIR)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(PHIR(49))
|
ALLOCATE(PHIR(49))
|
||||||
END SUBROUTINE ALLOC_DIRECT
|
END SUBROUTINE ALLOC_DIRECT
|
||||||
END MODULE DIRECT_MOD
|
END MODULE DIRECT_MOD
|
||||||
|
@ -998,9 +1196,21 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_DIRECT_A()
|
SUBROUTINE ALLOC_DIRECT_A()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(DIRANA_A)) THEN
|
||||||
|
DEALLOCATE(DIRANA_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DIRANA_A(3,49))
|
ALLOCATE(DIRANA_A(3,49))
|
||||||
|
IF (ALLOCATED(ANADIR_A)) THEN
|
||||||
|
DEALLOCATE(ANADIR_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(ANADIR_A(3,49))
|
ALLOCATE(ANADIR_A(3,49))
|
||||||
|
IF (ALLOCATED(THETAR_A)) THEN
|
||||||
|
DEALLOCATE(THETAR_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(THETAR_A(49))
|
ALLOCATE(THETAR_A(49))
|
||||||
|
IF (ALLOCATED(PHIR_A)) THEN
|
||||||
|
DEALLOCATE(PHIR_A)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(PHIR_A(49))
|
ALLOCATE(PHIR_A(49))
|
||||||
END SUBROUTINE ALLOC_DIRECT_A
|
END SUBROUTINE ALLOC_DIRECT_A
|
||||||
END MODULE DIRECT_A_MOD
|
END MODULE DIRECT_A_MOD
|
||||||
|
@ -1016,9 +1226,21 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_PATH()
|
SUBROUTINE ALLOC_PATH()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(NPATH)) THEN
|
||||||
|
DEALLOCATE(NPATH)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NPATH(0:NDIF_M))
|
ALLOCATE(NPATH(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(NPATH2)) THEN
|
||||||
|
DEALLOCATE(NPATH2)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NPATH2(0:NDIF_M))
|
ALLOCATE(NPATH2(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(NPMA)) THEN
|
||||||
|
DEALLOCATE(NPMA)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NPMA(0:NDIF_M))
|
ALLOCATE(NPMA(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(NPMI)) THEN
|
||||||
|
DEALLOCATE(NPMI)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(NPMI(0:NDIF_M))
|
ALLOCATE(NPMI(0:NDIF_M))
|
||||||
END SUBROUTINE ALLOC_PATH
|
END SUBROUTINE ALLOC_PATH
|
||||||
END MODULE PATH_MOD
|
END MODULE PATH_MOD
|
||||||
|
@ -1030,6 +1252,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_ROT()
|
SUBROUTINE ALLOC_ROT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(RLM01)) THEN
|
||||||
|
DEALLOCATE(RLM01)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(RLM01(1-NL_M:NL_M-1,1-NL_M:NL_M-1,0:NL_M-1))
|
ALLOCATE(RLM01(1-NL_M:NL_M-1,1-NL_M:NL_M-1,0:NL_M-1))
|
||||||
END SUBROUTINE ALLOC_ROT
|
END SUBROUTINE ALLOC_ROT
|
||||||
END MODULE ROT_MOD
|
END MODULE ROT_MOD
|
||||||
|
@ -1043,7 +1268,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_TESTPA()
|
SUBROUTINE ALLOC_TESTPA()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(IT)) THEN
|
||||||
|
DEALLOCATE(IT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(IT(0:NDIF_M))
|
ALLOCATE(IT(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(IN)) THEN
|
||||||
|
DEALLOCATE(IN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(IN(0:NDIF_M))
|
ALLOCATE(IN(0:NDIF_M))
|
||||||
END SUBROUTINE ALLOC_TESTPA
|
END SUBROUTINE ALLOC_TESTPA
|
||||||
END MODULE TESTPA_MOD
|
END MODULE TESTPA_MOD
|
||||||
|
@ -1067,6 +1298,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_TLDW()
|
SUBROUTINE ALLOC_TLDW()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(TLT)) THEN
|
||||||
|
DEALLOCATE(TLT)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(TLT(0:NT_M,4,NATM,NE_M))
|
ALLOCATE(TLT(0:NT_M,4,NATM,NE_M))
|
||||||
END SUBROUTINE ALLOC_TLDW
|
END SUBROUTINE ALLOC_TLDW
|
||||||
END MODULE TLDW_MOD
|
END MODULE TLDW_MOD
|
||||||
|
@ -1080,8 +1314,17 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_VARIA()
|
SUBROUTINE ALLOC_VARIA()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(CEX)) THEN
|
||||||
|
DEALLOCATE(CEX)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CEX(0:NDIF_M))
|
ALLOCATE(CEX(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(CEXDW)) THEN
|
||||||
|
DEALLOCATE(CEXDW)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(CEXDW(0:NDIF_M))
|
ALLOCATE(CEXDW(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(DW)) THEN
|
||||||
|
DEALLOCATE(DW)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DW(0:NDIF_M))
|
ALLOCATE(DW(0:NDIF_M))
|
||||||
END SUBROUTINE ALLOC_VARIA
|
END SUBROUTINE ALLOC_VARIA
|
||||||
END MODULE VARIA_MOD
|
END MODULE VARIA_MOD
|
||||||
|
@ -1094,6 +1337,9 @@ C=======================================================================
|
||||||
SUBROUTINE ALLOC_LBD()
|
SUBROUTINE ALLOC_LBD()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
INTEGER I, J
|
INTEGER I, J
|
||||||
|
IF (ALLOCATED(LBDM)) THEN
|
||||||
|
DEALLOCATE(LBDM)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(LBDM(2,NDIF_M))
|
ALLOCATE(LBDM(2,NDIF_M))
|
||||||
DO I=1,NDIF_M
|
DO I=1,NDIF_M
|
||||||
DO J=1,2
|
DO J=1,2
|
||||||
|
@ -1110,6 +1356,9 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_SCATMAT()
|
SUBROUTINE ALLOC_SCATMAT()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(F21)) THEN
|
||||||
|
DEALLOCATE(F21)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(F21(NSPIN2_M,NLAMBDA_M,NLAMBDA_M,NDIF_M))
|
ALLOCATE(F21(NSPIN2_M,NLAMBDA_M,NLAMBDA_M,NDIF_M))
|
||||||
END SUBROUTINE ALLOC_SCATMAT
|
END SUBROUTINE ALLOC_SCATMAT
|
||||||
END MODULE SCATMAT_MOD
|
END MODULE SCATMAT_MOD
|
||||||
|
@ -1123,7 +1372,13 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_EXTREM()
|
SUBROUTINE ALLOC_EXTREM()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
|
IF (ALLOCATED(FMIN)) THEN
|
||||||
|
DEALLOCATE(FMIN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(FMIN(0:NDIF_M))
|
ALLOCATE(FMIN(0:NDIF_M))
|
||||||
|
IF (ALLOCATED(FMAX)) THEN
|
||||||
|
DEALLOCATE(FMAX)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(FMAX(0:NDIF_M))
|
ALLOCATE(FMAX(0:NDIF_M))
|
||||||
END SUBROUTINE ALLOC_EXTREM
|
END SUBROUTINE ALLOC_EXTREM
|
||||||
END MODULE EXTREM_MOD
|
END MODULE EXTREM_MOD
|
||||||
|
@ -1139,11 +1394,25 @@ C=======================================================================
|
||||||
CONTAINS
|
CONTAINS
|
||||||
SUBROUTINE ALLOC_PRINTP()
|
SUBROUTINE ALLOC_PRINTP()
|
||||||
USE DIM_MOD
|
USE DIM_MOD
|
||||||
INTEGER I,J
|
IF (ALLOCATED(FMN)) THEN
|
||||||
|
DEALLOCATE(FMN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(FMN(NPATH_M))
|
ALLOCATE(FMN(NPATH_M))
|
||||||
|
IF (ALLOCATED(PATH)) THEN
|
||||||
|
DEALLOCATE(PATH)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(PATH(NPATH_M))
|
ALLOCATE(PATH(NPATH_M))
|
||||||
|
IF (ALLOCATED(DMN)) THEN
|
||||||
|
DEALLOCATE(DMN)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(DMN(NPATH_M))
|
ALLOCATE(DMN(NPATH_M))
|
||||||
|
IF (ALLOCATED(JON)) THEN
|
||||||
|
DEALLOCATE(JON)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(JON(NPATH_M))
|
ALLOCATE(JON(NPATH_M))
|
||||||
|
IF (ALLOCATED(JPON)) THEN
|
||||||
|
DEALLOCATE(JPON)
|
||||||
|
ENDIF
|
||||||
ALLOCATE(JPON(NPATH_M,NDIF_M))
|
ALLOCATE(JPON(NPATH_M,NDIF_M))
|
||||||
END SUBROUTINE ALLOC_PRINTP
|
END SUBROUTINE ALLOC_PRINTP
|
||||||
END MODULE PRINTP_MOD
|
END MODULE PRINTP_MOD
|
||||||
|
|
|
@ -1285,7 +1285,7 @@ C
|
||||||
WRITE(IUO1,562)
|
WRITE(IUO1,562)
|
||||||
ENDIF
|
ENDIF
|
||||||
IF(ISOM.EQ.0) CLOSE(IUO2)
|
IF(ISOM.EQ.0) CLOSE(IUO2)
|
||||||
IF((ISOM.EQ.0).AND.(NFICHLEC.NE.1)) CLOSE(IUO1)
|
C! IF((ISOM.EQ.0).AND.(NFICHLEC.NE.1)) CLOSE(IUO1)
|
||||||
C
|
C
|
||||||
C.......... End of the loop on the data files ..........
|
C.......... End of the loop on the data files ..........
|
||||||
C
|
C
|
||||||
|
@ -1309,7 +1309,7 @@ c ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
C
|
C
|
||||||
IF((ISOM.NE.0).OR.(NFICHLEC.EQ.1)) CLOSE(IUO1)
|
C! IF((ISOM.NE.0).OR.(NFICHLEC.EQ.1)) CLOSE(IUO1)
|
||||||
IF(ISOM.NE.0) CLOSE(IUO2)
|
IF(ISOM.NE.0) CLOSE(IUO2)
|
||||||
C STOP
|
C STOP
|
||||||
GOTO 999
|
GOTO 999
|
||||||
|
|
|
@ -144,8 +144,9 @@ def create_tests_results():
|
||||||
create_results(tc, 'test_cut_plane')
|
create_results(tc, 'test_cut_plane')
|
||||||
|
|
||||||
tc = PEDCopperTestCase()
|
tc = PEDCopperTestCase()
|
||||||
create_results(tc, 'test_phi_scan')
|
|
||||||
create_results(tc, 'test_theta_scan')
|
create_results(tc, 'test_theta_scan')
|
||||||
|
tc = PEDCopperTestCase()
|
||||||
|
create_results(tc, 'test_phi_scan')
|
||||||
|
|
||||||
def delete_results_file():
|
def delete_results_file():
|
||||||
os.remove(RESULTS_FILENAME)
|
os.remove(RESULTS_FILENAME)
|
||||||
|
|
|
@ -9,6 +9,7 @@ setup(name='msspec',
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
packages=find_packages(include='msspec.*'),
|
packages=find_packages(include='msspec.*'),
|
||||||
install_requires=[
|
install_requires=[
|
||||||
|
'numpy',
|
||||||
'ase',
|
'ase',
|
||||||
'h5py',
|
'h5py',
|
||||||
'lxml',
|
'lxml',
|
||||||
|
|
|
@ -266,7 +266,7 @@ class CommonBlockInfo(BaseInfo):
|
||||||
#exit()
|
#exit()
|
||||||
else:
|
else:
|
||||||
if re.match("^[A-HO-Z].*", v.name, re.I):
|
if re.match("^[A-HO-Z].*", v.name, re.I):
|
||||||
v.type = "DOUBLE PRECISION"
|
v.type = "REAL"
|
||||||
else:
|
else:
|
||||||
v.type = "INTEGER"
|
v.type = "INTEGER"
|
||||||
|
|
||||||
|
@ -808,6 +808,9 @@ def write_modules(infile):
|
||||||
# for each variable with a defined dimension
|
# for each variable with a defined dimension
|
||||||
for variable in variables:
|
for variable in variables:
|
||||||
if variable.dimension is not None:
|
if variable.dimension is not None:
|
||||||
|
s += f" IF (ALLOCATED({variable.name})) THEN\n"
|
||||||
|
s += f" DEALLOCATE({variable.name})\n"
|
||||||
|
s += f" ENDIF\n"
|
||||||
s += f" ALLOCATE({variable})\n"
|
s += f" ALLOCATE({variable})\n"
|
||||||
|
|
||||||
s += f" END SUBROUTINE ALLOC_{cbi.name.upper()}\n"
|
s += f" END SUBROUTINE ALLOC_{cbi.name.upper()}\n"
|
||||||
|
@ -832,10 +835,11 @@ def write_modules(infile):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
infile = 'spec.f'
|
infile = 'spec.f.orig'
|
||||||
|
|
||||||
# write the modules.f file
|
# write the modules.f file
|
||||||
write_modules(infile)
|
write_modules(infile)
|
||||||
|
exit()
|
||||||
|
|
||||||
fi = FileInfo(filename=infile)
|
fi = FileInfo(filename=infile)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue