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 branches/DEV_r1879_FCM/NEMOGCM/TOOLS – NEMO

source: branches/DEV_r1879_FCM/NEMOGCM/TOOLS/agrifpp.sh @ 1972

Last change on this file since 1972 was 1972, checked in by flavoni, 14 years ago

Add TOOLS directory and scripts to compile with FCM, see ticket: #685

  • 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
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$
51#
52#
53# - rblod 2010-06-20T16:11:47Z
54#
55#   * creation
56#
57#-
58
59if [ "$1" == "1" ]; then
60   shift
61   MYFILE=`echo $* |awk -F" " '{print $NF}' ` 
62   FPP_OPT=` echo $* |awk '{  for (i=1 ; i<NF ; i++ )  { printf " %s",  $i } }'`
63
64
65   MYFILE=`echo $* |awk -F" " '{print $NF}' `
66   if [ "${MYFILE}" != "par_oce.F90" -a  ! -f ${NEMO_TDIR}/${NEW_CONF}}/OPAFILES/param_done ]; then
67      cpp -P -C -traditional  ${FPP_OPT} ${CONFIG_DIR}/${NEW_CONF}/WORK/par_oce.F90 > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/par_oce.F90
68      (cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/AGRIFLIB/bin/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile par_oce.F90 > /dev/null )
69      cpp -P -C -traditional  -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
70      touch ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done
71   elif  [ "${MYFILE}" == "par_oce.F90" -a -f ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/param_done ] ; then
72      cd  ${NEMO_TDIR}/${NEW_CONF}/OPAFILES
73      cpp -P -C -traditional -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC ${MYFILE}
74      exit
75   fi
76
77   if [ "${MYFILE}" == agrif2model.F90 ]; then
78      cpp  -P -C -traditional -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@
79      exit
80   fi
81
82   cpp   -P -traditional -I${NEMO_TDIR}/${NEW_CONF}/OPAFILES/AGRIF_INC $@ > ${NEMO_TDIR}/${NEW_CONF}/OPAFILES/${MYFILE}
83   ( cd ${NEMO_TDIR}/${NEW_CONF}/OPAFILES ; ${NEMO_TDIR}/${NEW_CONF}/AGRIFLIB/bin/conv agrif_opa.in -rm -comdirin ./ -comdirout AGRIF_MODELFILES/ -convfile ${MYFILE} > /dev/null )
84   cd  ${NEMO_TDIR}/${NEW_CONF}
85   mv -f OPAFILES/AGRIF_MODELFILES/${MYFILE} OPAFILES/${MYFILE}
86   cpp  -P -C -traditional -IOPAFILES/AGRIF_INC OPAFILES/${MYFILE} 
87else
88   shift
89   cpp -P -C -traditional $@
90fi
91
Note: See TracBrowser for help on using the repository browser.