|
|
|
@ -16,7 +16,18 @@ IOW_ESM_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/
|
|
|
|
|
IOW_ESM_NETCDF_INCLUDE="${NETCDF_INCLUDE_PATH}" |
|
|
|
|
IOW_ESM_NETCDF_LIBRARY="${NETCDF_LIBRARY_PATH}" |
|
|
|
|
|
|
|
|
|
OASIS3_LIB="${IOW_ESM_ROOT}/components/OASIS3-MCT/oasis3-mct/IOW_ESM_PRODUCTION" |
|
|
|
|
if [ $debug == "debug" ]; then |
|
|
|
|
FFLAGS="-O0 -r8 -fp-model precise -xHost -DUSE_DOUBLE_PRECISION -g -traceback -check all -DIOW_ESM_DEBUG" |
|
|
|
|
configuration="DEBUG" |
|
|
|
|
else |
|
|
|
|
FFLAGS="-O3 -r8 -no-prec-div -fp-model fast=2 -xHost -DUSE_DOUBLE_PRECISION" |
|
|
|
|
configuration="PRODUCTION" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
OASIS3_LIB="${IOW_ESM_ROOT}/components/OASIS3-MCT/oasis3-mct/IOW_ESM_${configuration}" |
|
|
|
|
build_dir="build_${configuration}" |
|
|
|
|
bin_dir="bin_${configuration}" |
|
|
|
|
|
|
|
|
|
INCLUDES="-I ${OASIS3_LIB}/build/lib/mct \ |
|
|
|
|
-I${OASIS3_LIB}/build/lib/psmile.MPI1 \ |
|
|
|
|
-I ${OASIS3_LIB}/build/lib/psmile.MPI1 \ |
|
|
|
@ -27,17 +38,15 @@ INCLUDES="-I ${OASIS3_LIB}/build/lib/mct \
|
|
|
|
|
${OASIS3_LIB}/lib/libscrip.a \ |
|
|
|
|
-I${IOW_ESM_NETCDF_INCLUDE}" |
|
|
|
|
LIBS="-lnetcdf -lnetcdff -L${IOW_ESM_NETCDF_LIBRARY}" |
|
|
|
|
if [ $debug == "debug" ]; then |
|
|
|
|
FFLAGS="-O0 -r8 -fp-model precise -xHost -DUSE_DOUBLE_PRECISION -g -traceback -check all -DIOW_ESM_DEBUG" |
|
|
|
|
else |
|
|
|
|
FFLAGS="-O3 -r8 -no-prec-div -fp-model fast=2 -xHost -DUSE_DOUBLE_PRECISION" |
|
|
|
|
|
|
|
|
|
if [ "$rebuild" == "rebuild" ]; then |
|
|
|
|
rm -r "${build_dir}" |
|
|
|
|
rm -r "${bin_dir}" |
|
|
|
|
fi |
|
|
|
|
mkdir -p ./"${build_dir}" |
|
|
|
|
mkdir -p ./"${bin_dir}" |
|
|
|
|
|
|
|
|
|
rm -r build |
|
|
|
|
rm -r bin |
|
|
|
|
mkdir build |
|
|
|
|
mkdir bin |
|
|
|
|
cd build |
|
|
|
|
cd "${build_dir}" |
|
|
|
|
|
|
|
|
|
$FC -c $FFLAGS ../src/flux_lib/constants/*.F90 |
|
|
|
|
$FC -c $FFLAGS ../src/flux_lib/auxiliaries/*.F90 |
|
|
|
@ -49,17 +58,12 @@ $FC -c $FFLAGS ../src/flux_lib/*.F90
|
|
|
|
|
rm flux_library.a |
|
|
|
|
$AR rv flux_library.a *.o |
|
|
|
|
|
|
|
|
|
#$FC -c $FFLAGS ../src/routine_hdlerr.F90 -DUSE_DOUBLE_PRECISION -I${IOW_ESM_NETCDF_INCLUDE} $LIBS |
|
|
|
|
#$FC -c $FFLAGS ../src/function_sent.F90 -DUSE_DOUBLE_PRECISION -I${IOW_ESM_NETCDF_INCLUDE} $LIBS |
|
|
|
|
#$FC -c $FFLAGS ../src/read_grid.F90 -DUSE_DOUBLE_PRECISION -I${IOW_ESM_NETCDF_INCLUDE} $LIBS |
|
|
|
|
#$FC -c $FFLAGS ../src/decomp_def.F90 -DUSE_DOUBLE_PRECISION -I${IOW_ESM_NETCDF_INCLUDE} $LIBS |
|
|
|
|
#$FC -c $FFLAGS ../src/read_dimgrid.F90 -DUSE_DOUBLE_PRECISION -I${IOW_ESM_NETCDF_INCLUDE} $LIBS |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_basic.F90 |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_basic.F90 |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_prepare.F90 |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_calculate.F90 |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_parse_arg.F90 |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_io.F90 -I${IOW_ESM_NETCDF_INCLUDE} $LIBS |
|
|
|
|
$FC -c $FFLAGS ../src/flux_calculator_create_namcouple.F90 |
|
|
|
|
$FC $FFLAGS -o ../bin/flux_calculator ../src/flux_calculator.F90 flux_calculator_basic.o flux_calculator_prepare.o flux_calculator_calculate.o flux_calculator_io.o flux_calculator_parse_arg.o flux_calculator_create_namcouple.o flux_library.a $INCLUDES $LIBS -Wl,-rpath,${IOW_ESM_NETCDF_LIBRARY} |
|
|
|
|
$FC $FFLAGS -o ../"${bin_dir}"/flux_calculator ../src/flux_calculator.F90 flux_calculator_basic.o flux_calculator_prepare.o flux_calculator_calculate.o flux_calculator_io.o flux_calculator_parse_arg.o flux_calculator_create_namcouple.o flux_library.a $INCLUDES $LIBS -Wl,-rpath,${IOW_ESM_NETCDF_LIBRARY} |
|
|
|
|
|
|
|
|
|
cd .. |
|
|
|
|
cd - |
|
|
|
|