source: LMDZ5/trunk/makelmdz @ 1871

Last change on this file since 1871 was 1865, checked in by Laurent Fairhead, 11 years ago

Inclusion de la bibliothèque SISVAT/MAR à LMDZ pour le traitement des surfaces
"land ice"

  1. Menegoz

Integration of the SISVAT/MAR library to LMDZ to model the land ice surfaces

  1. Menegoz
  • Property svn:executable set to *
File size: 18.4 KB
Line 
1#!/bin/bash
2#
3# $Id$
4#
5#
6########################################################################
7# for debug, uncomment line below
8#set -xv
9########################################################################
10# options par defaut pour la commande make
11########################################################################
12dim="96x72x19"
13physique=lmd
14code=gcm
15filtre=filtrez
16grille=reg
17couple=false
18veget=false
19chimie=false
20parallel=none
21paramem="par"
22compil_mod=prod
23io=ioipsl
24LIBPREFIX=""
25fcm_path=none
26cosp=false
27sisvat=false
28
29# guess a default 'arch'
30arch="local" # start with assuming we're on a local machine with local arch file
31## try to recognise machine and infer arch from it
32machine=`hostname`
33if [[ "$machine" == "brodie" ]]
34then
35  arch="SX8_BRODIE"
36fi
37if [[ "${machine:0:6}" == "vargas" ]]
38then
39  arch="PW6_VARGAS"
40fi
41if [[ "${machine:0:6}" == "ciclad" ]]
42then
43  arch="AMD64_CICLAD"
44fi
45if [[ "${machine:0:7}" == "platine" ]]
46then
47  arch="IA64_PLATINE"
48fi
49if [[ "${machine:0:6}" == "titane" ]]
50then
51  arch="X64_TITANE"
52fi
53if [[ "${machine:0:8}" == "mercure1" ]]
54then
55  arch="SX8_MERCURE"
56fi
57if [[ "${machine:0:8}" == "mercure2" ]]
58then
59  arch="SX9_MERCURE"
60fi
61
62LMDGCM=`pwd -P`
63LIBFGCM=$LMDGCM/libf
64LIBOGCM=$LMDGCM/libo
65if [[ ! -d $LIBOGCM ]]
66then
67  # create the directory
68  mkdir $LIBOGCM
69  if [[ ! $? ]]
70  then
71  echo "Failed to create directory $LIBOGCM"
72  exit
73  fi
74fi
75COSP_PATH=$LMDGCM/.void_dir
76
77
78
79localdir=`pwd -P`
80########################################################################
81#  Quelques initialisations de variables du shell.
82########################################################################
83
84CPP_KEY="" 
85INCLUDE='-I$(LIBF)/grid -I$(LIBF)/bibio -I$(LIBF)/filtrez -I. '
86LIB=""
87adjnt=""
88##COMPIL_FFLAGS="%PROD_FFLAGS"
89PARA_FFLAGS=""
90PARA_LD=""
91EXT_SRC=""
92
93########################################################################
94# lecture des options
95########################################################################
96
97while (($# > 0))
98  do
99  case $1 in
100      "-h") cat <<fin
101Usage :
102makelmdz [options] -arch nom_arch exec
103[-h]                       : brief help
104[-d [[IMx]JMx]LM]          : IM, JM, LM are the dimensions in x, y, z (default: $dim)
105[-p PHYS]                  : set of physical parametrizations (in libf/phyPHYS), (default: lmd)
106[-prod / -dev / -debug]    : compilation mode production (default) / developement / debug
107[-c false/MPI1/MPI2]       : coupling with ocean model : MPI1/MPI2/false (default: false)
108[-v false/orchidee2.0/orchidee1.9/true] : version of the vegetation model to include (default: false)
109          false       : no vegetation model
110          orchidee2.0 : compile using ORCHIDEE 2.0 (or more recent version)
111          orchidee1.9 : compile using ORCHIDEE up to the version including OpenMP in ORCHIDEE : tag 1.9-1.9.5(version AR5)-1.9.6
112          true        : (obsolete; for backward compatibility) use ORCHIDEE tag 1.9-1.9.6
113[-chimie INCA/false]       : with INCA chemistry model or without (default: false)
114[-parallel none/mpi/omp/mpi_omp] : parallelism (default: none) : mpi, openmp or mixted mpi_openmp
115[-g GRI]                   : grid configuration in dyn3d/GRI_xy.h  (default: reg, inclues a zoom)
116[-io IO]                   : Input/Output library (default: ioipsl)
117[-include INCLUDES]        : extra include path to add
118[-cpp CPP_KEY]             : additional preprocessing definitions
119[-adjnt]                   : adjoint model, not operational ...
120[-mem]                     : reduced memory dynamics (if in parallel mode)
121[-filtre NOMFILTRE]        : use filtre from libf/NOMFILTRE (default: filtrez)
122[-link LINKS]              : additional links with other libraries
123[-fcm_path path]           : path to the fcm tool (default: tools/fcm/bin)
124[-ext_src path]            : path to an additional set of routines to compile with the model
125 -arch nom_arch            : target architecture
126 exec                      : executable to build
127fin
128          exit;;
129      "-d")
130          dim=$2 ; shift ; shift ;;
131     
132      "-p")
133          physique="$2" ;  shift ; shift ;;
134
135      "-g")
136          grille="$2" ; shift ; shift ;;
137
138      "-c")
139          couple="$2" ; shift ; shift ;;
140
141      "-prod")
142          compil_mod="prod" ; shift ;;
143
144      "-dev")
145          compil_mod="dev" ; shift ;;
146
147      "-debug")
148          compil_mod="debug" ; shift ;;
149
150      "-io")
151          io="$2" ; shift ; shift ;;
152
153      "-v")
154          veget="$2" ; shift ; shift ;;
155
156      "-chimie")
157          chimie="$2" ; shift ; shift ;;
158
159      "-parallel")
160          parallel="$2" ; shift ; shift ;;
161     
162      "-include")
163          INCLUDE="$INCLUDE -I$2" ; shift ; shift ;;
164
165      "-cpp")
166          CPP_KEY="$CPP_KEY $2" ; shift ; shift ;;
167
168      "-adjnt")
169          echo "not operational ... work to be done here ";exit
170          opt_dep="$opt_dep adjnt" ; adjnt="-ladjnt -ldyn3d "
171          optim="$optim -Dadj" ; shift ;;
172
173      "-cosp")
174          cosp="$2" ; shift ; shift ;;
175     
176      "-sisvat")
177          sisvat="$2" ; shift ; shift ;;
178     
179      "-mem")
180          paramem="mem" ; shift ;;
181
182      "-filtre")
183          filtre=$2 ; shift ; shift ;;
184
185      "-link")
186          LIB="$LIB $2" ; shift ; shift ;;
187
188      "-fcm_path")
189          fcm_path=$2 ; shift ; shift ;;
190
191      "-ext_src")
192          EXT_SRC=$2 ; shift ; shift ;;
193
194      "-arch")
195          arch=$2 ; shift ; shift ;;
196
197      *)
198          code="$1" ; shift ;;
199  esac
200done
201
202###############################################################
203# lecture des chemins propres à l'architecture de la machine #
204###############################################################
205rm -f .void_file
206echo > .void_file
207rm -rf .void_dir
208mkdir .void_dir
209rm -f arch.path
210if [[ -r arch/arch-${arch}.path ]]
211then
212  ln -s arch/arch-${arch}.path ./arch.path
213  source arch.path
214else
215  echo "Error: missing arch/arch-${arch}.path file !"
216  exit
217fi
218rm -f arch.fcm
219if [[ -r arch/arch-${arch}.fcm ]]
220then
221  ln -s arch/arch-${arch}.fcm arch.fcm
222else
223  echo "Error: missing arch/arch-${arch}.fcm file !"
224  exit
225fi
226########################################################################
227# Definition des clefs CPP, des chemins des includes et modules
228#  et des libraries
229########################################################################
230
231# basic compile flags from arch.fcm file
232archfileline=$( grep -i '^%BASE_FFLAGS' arch.fcm )
233COMPIL_FFLAGS=$( echo ${archfileline##%BASE_FFLAGS} )
234
235# other compile flags, depending on compilation mode
236if [[ "$compil_mod" == "prod" ]]
237then
238## read COMPIL_FFLAGS from arch.fcm file
239  archfileline=$( grep -i '^%PROD_FFLAGS' arch.fcm )
240  archfileopt=$( echo ${archfileline##%PROD_FFLAGS} )
241  COMPIL_FFLAGS="${COMPIL_FFLAGS} ${archfileopt}"
242elif [[ "$compil_mod" == "dev" ]]
243then
244## read %DEV_FFLAGS from arch.fcm file
245  archfileline=$( grep -i '^%DEV_FFLAGS' arch.fcm )
246  archfileopt=$( echo ${archfileline##%DEV_FFLAGS} )
247  COMPIL_FFLAGS="${COMPIL_FFLAGS} ${archfileopt}"
248elif [[ "$compil_mod" == "debug" ]]
249then
250## read %DEBUG_FFLAGS from arch.fcm file
251  archfileline=$( grep -i '^%DEBUG_FFLAGS' arch.fcm )
252  archfileopt=$( echo ${archfileline##%DEBUG_FFLAGS} )
253  COMPIL_FFLAGS="${COMPIL_FFLAGS} ${archfileopt}"
254fi
255
256# add CPP_KEY defined in arch.fcm file
257archfileline=$( grep -i '^%FPP_DEF' arch.fcm )
258archfileopt=$( echo ${archfileline##%FPP_DEF} )
259CPP_KEY="$CPP_KEY ${archfileopt}"
260
261# get compiler name from arch.fcm file
262archfileline=$( grep -i '^%COMPILER' arch.fcm )
263fcompiler=$( echo ${archfileline##%COMPILER} )
264
265# get linker name from arch.fcm file
266archfileline=$( grep -i '^%LINK' arch.fcm )
267linker=$( echo ${archfileline##%LINK} )
268
269# get ar command from arch.fcm file
270archfileline=$( grep -i '^%AR' arch.fcm )
271arcommand=$( echo ${archfileline##%AR} )
272
273# get make utility from arch.fcm file
274archfileline=$( grep -i '^%MAKE' arch.fcm )
275makecommand=$( echo ${archfileline##%MAKE} )
276
277# get basic libraries to link with arch.fcm file
278archfileline=$( grep -i '^%BASE_LD' arch.fcm )
279archfileopt=$( echo ${archfileline##%BASE_LD} )
280LIB="$LIB  ${archfileopt}"
281
282if [[ "$physique" != "nophys" ]]
283then
284   #We'll use some physics
285   CPP_KEY="$CPP_KEY CPP_PHYS"
286   if [[ "${physique:0:3}" == "lmd" ]]
287   then
288   #For lmd physics, default planet type is Earth
289   CPP_KEY="$CPP_KEY CPP_EARTH"
290   fi
291fi
292
293if [[ "$chimie" == "INCA" ]]
294then
295   CPP_KEY="$CPP_KEY INCA"
296   INCLUDE="$INCLUDE -I${INCA_INCDIR}"
297   LIB="$LIB -L${INCA_LIBDIR} -lchimie"
298   libchimie=" -L${INCA_LIBDIR} -lchimie"
299fi
300
301if [[ "$couple" != "false" ]]
302then
303   CPP_KEY="$CPP_KEY CPP_COUPLE"
304   INCLUDE="$INCLUDE -I${OASIS_INCDIR}"
305   LIB="$LIB -L${OASIS_LIBDIR} -lpsmile.${couple} -lmpp_io"
306fi
307
308if [[ "$parallel" == "none" ]]
309then
310  FLAG_PARA=''
311else
312  FLAG_PARA="$paramem"
313fi
314
315if [[ "$parallel" == "mpi" ]]
316then
317   CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI"
318  # MPI additional compilation options
319  archfileline=$( grep -i '^%MPI_FFLAGS' arch.fcm )
320  PARA_FFLAGS=$( echo ${archfileline##%MPI_FFLAGS} )
321  # MPI additional links
322  archfileline=$( grep -i '^%MPI_LD' arch.fcm )
323  PARA_LD=$( echo ${archfileline##%MPI_LD} )
324elif [[ "$parallel" == "omp" ]]
325then
326   CPP_KEY="$CPP_KEY CPP_PARA CPP_OMP"
327  # OMP additional compilation options
328  archfileline=$( grep -i '^%OMP_FFLAGS' arch.fcm )
329  PARA_FFLAGS=$( echo ${archfileline##%OMP_FFLAGS} )
330  # OMP additional links
331  archfileline=$( grep -i '^%OMP_LD' arch.fcm )
332  PARA_LD=$( echo ${archfileline##%OMP_LD} )
333elif [[ "$parallel" == "mpi_omp" ]]
334then
335   CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI CPP_OMP"
336  # MPI additional compilation options
337  archfileline=$( grep -i '^%MPI_FFLAGS' arch.fcm )
338  PARA_FFLAGS=$( echo ${archfileline##%MPI_FFLAGS} )
339  # OMP additional compilation options
340  archfileline=$( grep -i '^%OMP_FFLAGS' arch.fcm )
341  PARA_FFLAGS="${PARA_FFLAGS} "$( echo $archfileopt ${archfileline##%OMP_FFLAGS} )
342  # MPI additional links
343  archfileline=$( grep -i '^%MPI_LD' arch.fcm )
344  PARA_LD=$( echo ${archfileline##%MPI_LD} )
345  # OMP additional links
346  archfileline=$( grep -i '^%OMP_LD' arch.fcm )
347  PARA_LD="${PARA_LD} "$( echo $archfileopt ${archfileline##%OMP_LD} )
348fi
349
350if [[ ( "$parallel" == "omp" || "$parallel" == "mpi_omp" ) \
351   && "$compil_mod" == "debug" ]]
352then
353    echo "Usually, parallelization with OpenMP requires some optimization."
354    echo "We suggest switching to \"-dev\"."
355fi
356
357
358#==============================================================================
359if [ "$veget" = "true" -o "$veget" = "orchidee1.9" -o "$veget" = "orchidee2.0" ]
360then
361
362   INCLUDE="${INCLUDE} -I${ORCH_INCDIR}"
363   CPP_KEY="$CPP_KEY CPP_VEGET"
364# temporary, for Orchidee versions 1.9.* (before openmp activation)
365   if [[ "$veget" == "orchidee1.9" ]] ; then
366      CPP_KEY="$CPP_KEY ORCHIDEE_NOOPENMP"
367   fi
368   if [[ "$veget" == "orchidee2.0" ]] ; then
369      orch_libs="sechiba parameters stomate parallel orglob orchidee"
370   else
371      orch_libs="sechiba parameters stomate parallel orglob"
372   fi
373   LIB="${LIB} -L${ORCH_LIBDIR}"
374   for lib in ${orch_libs} ; do
375      if [ -f ${ORCH_LIBDIR}/lib${LIBPREFIX}$lib.a ] ; then
376         LIB="${LIB} -l${LIBPREFIX}$lib "
377      fi
378   done
379elif [[ "$veget" != "false" ]] ; then
380   echo "Option -v $veget does not exist"
381   echo "Use ./makelmdz -h for more information"
382   exit 
383fi
384
385#===============================================================================
386if [[ $io == ioipsl ]]
387then
388   CPP_KEY="$CPP_KEY CPP_IOIPSL"
389   INCLUDE="$INCLUDE -I${IOIPSL_INCDIR}"
390   LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl"
391fi
392
393if [[ "$cosp" == "true" ]]
394then
395   CPP_KEY="$CPP_KEY CPP_COSP"
396   COSP_PATH="$LIBFGCM/cosp"
397#   LIB="${LIB} -l${LIBPREFIX}cosp"
398   opt_dep="$opt_dep cosp"
399   lcosp="-l${LIBPREFIX}cosp"
400   INCLUDE="$INCLUDE"' -I$(LIBF)/cosp'
401fi
402
403if [[ "$sisvat" == "true" ]]
404then
405   CPP_KEY="$CPP_KEY CPP_SISVAT"
406fi
407
408
409INCLUDE="$INCLUDE ${NETCDF_INCDIR}"
410LIB="$LIB ${NETCDF_LIBDIR}"
411
412########################################################################
413# calcul du nombre de dimensions
414########################################################################
415
416
417dim_full=$dim
418dim=`echo $dim | sed -e 's/[^0-9]/ /g'` 
419set $dim
420dimc=$#
421echo calcul de la dimension
422echo dim $dim
423echo dimc $dimc
424
425
426########################################################################
427# Gestion des dimensions du modele.
428# on cree ou remplace le fichier des dimensions
429########################################################################
430
431cd $LIBFGCM/grid
432if [[ -f dimensions.h ]]
433then
434  echo 'ATTENTION: vous etes sans doute en train de compiler le modele par ailleurs'
435  echo "Attendez que la premiere compilation soit terminee pour relancer la suivante."
436  echo "Si vous etes sur que vous ne compilez pas le modele par ailleurs,"
437  echo  vous pouvez continuer en repondant oui.
438  echo "Voulez-vous vraiment continuer?"
439  echo ""
440  echo "WARNING: you are probably already compiling the model somewhere else."
441  echo "Wait until the first compilation is finished before launching this one."
442  echo "If you are sure that you are not compiling elsewhere, just answer "
443  echo "yes (or 'oui') to the question below to proceed."
444  echo "Do you wish to continue?"
445  read reponse
446  if [[ $reponse == "oui" || $reponse == "yes" ]]
447  then
448    \rm -f $LIBFGCM/grid/dimensions.h
449  else
450    exit
451  fi
452fi
453
454
455cd $LIBFGCM/grid/dimension
456./makdim $dim
457cat $LIBFGCM/grid/dimensions.h
458cd $LMDGCM
459
460
461########################################################################
462# Differentes dynamiques (3d, 2d, 1d)
463########################################################################
464
465if (( $dimc == 3 )) ; then
466   cd $LIBFGCM/grid
467   \rm fxyprim.h
468   cp -p fxy_${grille}.h fxyprim.h
469   filtre="FILTRE=$filtre"
470   INCLUDE="$INCLUDE "'-I$(LIBF)/dyn3d${FLAG_PARA} '
471elif (( $dimc == 2 )) ; then
472   filtre="FILTRE= L_FILTRE= "
473   INCLUDE="$INCLUDE "'-I$(LIBF)/dyn2d'
474elif (( $dimc == 1 )) ; then
475   filtre="L_DYN= DYN= FILTRE= L_FILTRE= DIRMAIN=phy$physique "
476   INCLUDE="$INCLUDE "'-I$(LIBF)/dyn3d' # Pas tres propre
477else
478   echo Dimension dimc=$dimc pas prevu ; exit
479fi
480
481######################################################################
482# Creation du suffixe de la configuration
483######################################################################
484
485SUFF_NAME=_${dim_full}
486SUFF_NAME=${SUFF_NAME}_phy${physique}
487
488if [[ "$parallel" != "none" ]]
489then
490  SUFF_NAME=${SUFF_NAME}_para
491  DYN=dyn${dimc}d${paramem}
492  if [[ "$paramem" == "mem" ]]
493  then
494   SUFF_NAME=${SUFF_NAME}_${paramem}
495  fi
496else
497  SUFF_NAME=${SUFF_NAME}_seq
498  DYN=dyn${dimc}d
499fi
500
501if [[ $veget != "false" ]]
502then
503  SUFF_NAME=${SUFF_NAME}_orch
504fi
505
506if [[ $couple != "false" ]]
507then
508  SUFF_NAME=${SUFF_NAME}_couple
509fi
510
511if [[ $chimie == "INCA" ]]
512then
513  SUFF_NAME=${SUFF_NAME}_inca
514fi
515
516cd $LMDGCM
517
518
519########################################################################
520#  Avant de lancer le make, on recree le makefile si necessaire
521########################################################################
522########################################################################
523# c'est a dire dans 3 cas:
524# 1. si la liste des fichiers .F et .h a ete modifiee depuis la
525#    derniere creation du makefile
526# 2. si le fichier contenant cette liste "liste_des_sources"
527#    n'existe pas.
528# 3. Si le makefile n'existe pas.
529########################################################################
530cd $LMDGCM
531
532find libf -name '*.[Fh]' -print > tmp77
533find libf -name '*.[Fh]' -exec egrep -i " *use *ioipsl" {} \; -print > tmp90
534find libf -name '*.[Fh90]' -print >> tmp90
535
536if [[ ! ( -r makefile ) || ! ( -r liste_des_sources_f90 ) || ! ( -r liste_des_sources_f77 ) || ` diff tmp77 liste_des_sources_f77 | wc -w ` -ne 0 || ` diff tmp90 liste_des_sources_f90 | wc -w ` -ne 0 ]]
537then
538  echo "les fichiers suivants ont ete crees ou detruits"
539  echo "ou les fichiers suivants sont passes ou ne sont plus en Fortran 90"
540  diff liste_des_sources_f77 tmp77
541  diff liste_des_sources_f90 tmp90
542  \cp -f tmp77 liste_des_sources_f77
543  \cp -f tmp90 liste_des_sources_f90
544  echo "on recree le makefile"
545  ./create_make_gcm > tmp
546  \mv -f tmp makefile
547  echo "Nouveau makefile cree"
548fi
549
550#################################################################
551# Preparation de l'execution de la comande make
552#################################################################
553
554source_code=${code}.F
555if [[ -r $LMDGCM/libf/dyn${dimc}d${FLAG_PARA}/${code}.F90 ]]
556then
557  source_code=${code}.F90
558fi
559
560# library directory name:
561nomlib=`echo ${arch}_${physique}_${dim_full}_${grille}_${compil_mod}_parall${parallel}_${CPP_KEY}_${FLAG_PARA} | sed -e 's/ //g' -e 's/-//g ' | sed -e 's/CPP_//g'`
562echo $nomlib
563
564if [[ ! -d "${LIBOGCM}/${nomlib}" ]]
565then
566  mkdir ${LIBOGCM}/${nomlib}
567  # check we indeed managed to create the directory
568  if [[ ! $? ]]
569  then
570    echo "Error: could not create directory ${LIBOGCM}/${nomlib}"
571    exit
572  fi
573fi
574
575# where module files are created
576mod_loc_dir=$localdir
577
578if [[ "$physique" != "nophys" ]]
579then
580  INCLUDE="$INCLUDE"' -I$(LIBF)/phy'"$physique"
581fi
582INCLUDE="$INCLUDE"' -I'${LIBOGCM}/${nomlib}
583
584# ranlib utility (check it exists or else default to ls)
585if [[ `which ranlib > /dev/null 2>&1 ; echo $?` -eq 0 ]]
586then
587  ranlib="ranlib"
588else
589  ranlib="ls"
590fi
591
592# add CPP keys to COMPIL_FLAGS
593# (but first add -D before all CPP_KEY items)
594cpp_definitions=`echo $CPP_KEY | sed -e 's/[A-Za-z_=0-9]*/-D&/g'`
595# (but add a -WF,-D before all CPP_KEY items) => for xlf on Vargas
596if [[ "${fcompiler:0:3}" == "xlf" ]]
597then
598cpp_definitions=`echo $CPP_KEY | sed -e 's/[A-Za-z_=0-9]*/-WF,-D&/g'`
599fi
600COMPIL_FFLAGS="${COMPIL_FFLAGS} ${cpp_definitions}"
601
602#################################################################
603# Execution du make
604#################################################################
605echo $makecommand RANLIB=$ranlib -f $LMDGCM/makefile \
606OPTION_DEP="$opt_dep" OPTION_LINK="$LIB ${PARA_LD}" \
607OPTIM90="${COMPIL_FFLAGS} ${PARA_FFLAGS}" \
608OPTIMTRU90="${COMPIL_FFLAGS} ${PARA_FFLAGS}" \
609OPTIM="${COMPIL_FFLAGS} ${PARA_FFLAGS}" \
610INCLUDE="$INCLUDE" \
611$filtre \
612LIBO=${LIBOGCM}/${nomlib} \
613"PHYS=$physique" \
614DIM=$dimc \
615FLAG_PARA=$FLAG_PARA \
616L_ADJNT=$adjnt \
617L_COSP="$lcosp" \
618L_CHIMIE="$libchimie" \
619LOCAL_DIR="$localdir"  \
620F77="$fcompiler" \
621F90="$fcompiler" \
622OPLINK="$LIB" \
623LINK="$linker" \
624GCM="$LMDGCM" \
625MOD_LOC_DIR=$mod_loc_dir \
626MOD_SUFFIX="mod" \
627AR=$arcommand \
628SOURCE=$source_code \
629PROG=$code
630
631$makecommand RANLIB=$ranlib -f $LMDGCM/makefile \
632OPTION_DEP="$opt_dep" OPTION_LINK="$LIB ${PARA_LD}" \
633OPTIM90="${COMPIL_FFLAGS} ${PARA_FFLAGS}" \
634OPTIMTRU90="${COMPIL_FFLAGS} ${PARA_FFLAGS}" \
635OPTIM="${COMPIL_FFLAGS} ${PARA_FFLAGS}" \
636INCLUDE="$INCLUDE" \
637$filtre \
638LIBO=${LIBOGCM}/${nomlib} \
639"PHYS=$physique" \
640DIM=$dimc \
641FLAG_PARA=$FLAG_PARA \
642L_ADJNT=$adjnt \
643L_COSP="$lcosp" \
644L_CHIMIE="$libchimie" \
645LOCAL_DIR="$localdir"  \
646F77="$fcompiler" \
647F90="$fcompiler" \
648OPLINK="$LIB" \
649LINK="$linker" \
650GCM="$LMDGCM" \
651MOD_LOC_DIR=$mod_loc_dir \
652MOD_SUFFIX="mod" \
653AR=$arcommand \
654SOURCE=$source_code \
655PROG=$code
656
657
658if [[ -r $LIBFGCM/grid/dimensions.h ]]
659then
660  # Cleanup: remove dimension.h file
661  \rm -f $LIBFGCM/grid/dimensions.h
662fi
Note: See TracBrowser for help on using the repository browser.