New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
agrifpp.sh in trunk/NEMOGCM/TOOLS/COMPILE – NEMO

source: trunk/NEMOGCM/TOOLS/COMPILE/agrifpp.sh @ 2734

Last change on this file since 2734 was 2520, checked in by rblod, 13 years ago

Add in core documentation for compilation scripts

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#!/bin/bash
2#set -x
3set -o posix
4#set -u
5#set -e
6#+
7#
8# ==========
9# agrifpp.sh
10# ==========
11#
12# ----------------------------
13# Preform AGrif pre-processing
14# ----------------------------
15#
16# SYNOPSIS
17# ========
18#
19# ::
20#
21#  $ agrifpp.sh
22#
23#
24# DESCRIPTION
25# ===========
26#
27#
28# Look after key agrif, if yes the conv is used, otherwise standard pre-processing is performed.
29#
30# EXAMPLES
31# ========
32#
33# ::
34#
35#  $ ./agrifpp.sh 1 -Dkey
36#
37#  or
38#
39#  $ ./agrifpp.sh -Dkey
40#
41# TODO
42# ====
43#
44# option debug
45#
46#
47# EVOLUTIONS
48# ==========
49#
50# $Id: agrifpp.sh 2143 2010-10-04 12:49:55Z rblod $
51#
52#
53#
54#   * creation
55#
56#-
57
58if [ "$1" == "1" ]; then
59   shift
60   MYFILE=`echo $* |awk -F" " '{print $NF}' ` 
61   FPP_OPT=` echo $* |awk '{  for (i=1 ; i<NF ; i++ )  { printf " %s",  $i } }'`
62
63
64   if [ "${MYFILE}" != "par_oce.F90" -a  ! -f ${NEMO_TDIR}/${NEW_CONF}}/OPAFILES/param_done ]; then
65      cpp ${FPP_OPT} ${CONFIG_DIR}/${NEW_CONF}/WORK/par_oce.F90 > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90
66      (cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile par_oce.F90 > /dev/null )
67      cpp ${FPP_OPT}  -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC  ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_MODELFILES/par_oce.F90 > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90
68      touch ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done
69   elif  [ "${MYFILE}" == "par_oce.F90" -a -f ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done ] ; then
70      cd  ${NEMO_TDIR}/${NEW_CONF}/OPAFILES
71      cpp ${FPP_OPT} -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC ${MYFILE}
72      exit
73   fi
74
75   if [ "${MYFILE}" == agrif2model.F90 ]; then
76      cpp  -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@
77      exit
78   fi
79
80   cpp  -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@ > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/${MYFILE}
81   ( cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile ${MYFILE} > /dev/null )
82   cd  ${NEMO_TDIR}/${NEW_CONF}
83   sed 's/[    ]*$//' OPAFILES/AGRIF_MODELFILES/${MYFILE}> OPAFILES/${MYFILE}
84   cpp ${FPP_OPT} -IOPAFILES/AGRIF_INC OPAFILES/${MYFILE} 
85else
86   shift
87   cpp $@
88fi
89
Note: See TracBrowser for help on using the repository browser.