Ignore:
Timestamp:
Jun 26, 2014, 6:07:05 PM (11 years ago)
Author:
emillour
Message:

Common dynamics:
Some updates to keep up with LMDZ5 Earth model evolution
(up to LMDZ5 rev 2070). See file "DOC/chantiers/commit_importants.log"
for detailed list of changes.
Note that the updates of exner* routines change (as expected) results
at numerical roundoff level.
EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/create_make_gcm

    r1300 r1302  
    55#set -xv
    66
    7 rm -f create_make_gcm.log
    87
    98machine=`hostname`
    109os=`uname`
    1110gcm=`pwd`
     11logfile=$gcm/create_make_gcm.log
     12rm -f $logfile ; touch -f $logfile
    1213libf=$gcm/libf
    1314libo=$gcm/libo
     
    5152echo "FILTRE   = filtre"
    5253echo "PHYS  = "
    53 echo "DYN  = dyn "
    5454echo 'LIBPHY = $(LIBO)/libphy$(PHYS).a'
    5555echo 'DIRMAIN=dyn$(DIM)d$(FLAG_PARA)'
     
    5959echo
    6060echo '# Les differentes librairies pour l"edition des liens:'
    61 echo
    62 echo 'dyn3d            = $(LIBO)/libdyn3d.a $(LIBO)/lib$(FILTRE).a'
    63 echo 'dyn3dpar      = $(LIBO)/libdyn3dpar.a $(LIBO)/lib$(FILTRE).a'
    64 echo 'dyn2d            = $(LIBO)/libdyn2d.a'
    65 echo 'dyn1d            = $(LIBO)/libdyn1d.a'
    66 echo 'L_DYN      = -ldyn$(DIM)d$(FLAG_PARA)'
     61echo 'L_DYN      = -ldyn$(DIM)d$(FLAG_PARA) -ldyn3d_common'
    6762echo 'L_FILTRE   = -l$(FILTRE)'
    6863echo 'L_PHY = -lphy$(PHYS) '
    6964echo 'L_BIBIO    = -lbibio'
    70 echo 'L_DYN3D_COMMON    = -ldyn3d_common'
    7165echo 'L_ADJNT    ='
    7266echo 'L_COSP     = -lcosp'
     
    10094echo
    10195echo "PROG = code"
     96echo 'DYN  = dyn$(DIM)d'
    10297echo
    10398#echo 'main : chimie $(DYN) bibio phys $(OPTION_DEP) '
    104 echo 'main : $(DYN) bibio dyn3d_common phys $(OPTION_DEP) '
     99echo 'main : $(DYN) bibio phys $(OPTION_DEP) '
    105100echo '  cd $(LIBO) ; $(RANLIB) lib*.a ; cd $(GCM) ;\'
    106101echo '  cd $(LOCAL_DIR); \'
     
    108103echo '  $(LINK) $(PROG).o -L$(LIBO) $(L_DYN) $(L_ADJNT) $(L_COSP) $(L_AERONOMARS) $(L_PHY) $(L_DYN) $(L_DYN3D_COMMON) $(L_BIBIO) $(L_DYN3D_COMMON) $(L_PHY) $(L_DYN) $(L_FILTRE) $(OPLINK) $(OPTION_LINK) -o $(LOCAL_DIR)/$(PROG).e ; $(RM) $(PROG).o '
    109104echo
    110 echo 'dyn : $(LIBO)/libdyn$(DIM)d$(FLAG_PARA).a $(FILTRE)$(DIM)d'
    111 echo
    112105echo 'phys : $(LIBPHY)'
     106echo 'dyn3d : $(LIBO)/libdyn$(DIM)d$(FLAG_PARA).a $(LIBO)/lib$(FILTRE).a $(LIBO)/libdyn3d_common.a'
     107echo 'dyn2d : $(LIBO)/libdyn2d.a'
     108echo 'dyn1d :'
     109echo
    113110echo
    114111#echo 'chimie : $(LIBO)/libchimie.a'
    115112echo
    116113echo 'bibio : $(LIBO)/libbibio.a'
    117 echo
    118 echo 'dyn3d_common : $(LIBO)/libdyn3d_common.a'
    119114echo
    120115echo 'adjnt : $(LIBO)/libadjnt.a'
     
    138133echo
    139134cd $libf >/dev/null 2>&1
    140 for diri in ` ls `
    141 do
     135for diri in ` ls ` ; do
     136
    142137   if [ -d $diri ] ; then
    143138   if [ "`ls $diri/*.F $diri/*/*.F`" != "" ] || [ "`ls $diri/*.F90 $diri/*/*.F90`" != "" ]  ; then
     
    146141      listlib=""
    147142# Liste des fichiers .F et .F90 n'etant pas des programmes principaux
    148       for fili in `ls $diri/*.F $diri/*/*.F`
    149       do
     143      for fili in `ls $diri/*.F $diri/*/*.F` ; do
    150144         # Check if file is a routine or main program
    151145         # i.e: look for the "program" keword preceeded by leading spaces
     
    156150         fi
    157151      done
    158       for fili in `ls $diri/*.F90 $diri/*/*.F90`
    159       do
     152      for fili in `ls $diri/*.F90 $diri/*/*.F90` ; do
    160153         # Check if file is a routine or main program
    161154         # i.e. look for "program" keyword (with possibly some leading spaces)
     
    168161#
    169162      echo
    170       echo $listlib >> create_make_gcm.log
     163      echo $listlib >> $logfile
    171164      echo
    172165      echo "#======================================================================="
     
    185178      echo "# Compilation des membres de la bibliotheque lib"$diri".a"
    186179      echo
    187       for trufile in $listlib
    188       do
    189 #         if [ -f $fili.F90 ] ; then
    190 #           trufile=$fili.F90
    191 #         else
    192 #           trufile=$fili.F
    193 #         fi
     180      for trufile in $listlib ; do
    194181         fili=`echo $trufile | awk -F/ ' { print $NF } ' | cut -d. -f1`
    195182         F90=0 ; egrep -i '^ *use ' $trufile > /dev/null 2>&1 && F90=1
     
    208195##########################################################################
    209196
    210          for stri in ` ( sed -e '/^[cC\!]/d' $trufile | sed -n "/\#include/s/\#include//p" | sed 's/\"//g' ; sed -e '/^[cC\!]/d' $trufile | egrep -i '^ *use ' | sed -e 's/,/ /' | awk ' { print $2 } ' ) `
    211          do
    212             echo $trufile $fili $stri >> create_make_gcm.log
     197         for stri in ` ( sed -e '/^[cC\!]/d' $trufile | sed -e "/\#include /s/\#include /XXnclude /" -e "/include /s/include /XXnclude /" -e "/INCLUDE /s/INCLUDE /XXnclude /" | sed -n "/XXnclude /s/XXnclude//p" | sed 's/\"//g' | sort | uniq ; sed -e '/^[cC\!]/d' $trufile | egrep -i '^ *use ' | sed -e 's/,/ /' | awk ' { print $2 } ' | sort | uniq ) ` ; do
     198            echo $trufile $fili $stri >> $logfile
    213199            strj=`echo $stri | tr [A-Z] [a-z]`
    214200            str2=""
    215             for dirinc in filtrez bibio dyn3d_common grid dyn3d phydev $diri $diri/*/ ; do
     201            for dirinc in filtrez bibio dyn3d_common grid dyn3d phy* $diri $diri/*/ ; do
    216202# Recherche dans l'ordre hierarchique inverse car seule la derniere
    217203# ligne est conservee
     
    223209                   libstr=$dirinc
    224210               fi
     211               echo dirinc $dirinc >> $logfile
    225212               if [ -f $dirinc/$stri ] ; then
    226213                  str2='$(LIBF)/'$dirstr/$stri
     
    234221                  str2='$(LIBO)/lib'$strlib'.a('$stri'.o)'
    235222               fi
     223               echo stri $stri  >> $logfile
     224               echo str2 $str2  >> $logfile
    236225            done
     226               echo dernier str2 $str2  >> $logfile
    237227            if [ "$str2" = "" ] ; then
    238                echo Warn: Include $diri $trufile $fili $stri pas trouve >> $gcm/create_make_gcm.log
     228               echo Warn: Include $diri $trufile $fili $stri pas trouve >> $logfile
    239229            elif [ "$str2" = "$str1" ] ; then
    240                echo Warn: Include $diri $trufile $fili $stri $str1 trouve 2x >> $gcm/create_make_gcm.log
     230               echo Warn: Include $diri $trufile $fili $stri $str1 trouve 2x >> $logfile
    241231            else
    242232               echo $str1 \\
Note: See TracChangeset for help on using the changeset viewer.