Changeset 2412 for trunk


Ignore:
Timestamp:
Sep 29, 2020, 3:18:19 PM (4 years ago)
Author:
emillour
Message:

All GCMs:
Update scripts to install the IOIPSL. With the latest additions it is no longer necessary to use "modipsl" and a series of "sed" on various scripts. IOIPSL now uses arch.* files and an FCM-based compilation script, like the GCMs.
EM

Location:
trunk/LMDZ.COMMON/ioipsl
Files:
3 deleted
8 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/ioipsl/README

    r456 r2412  
    11Scripts in this directory are illustrative examples of how to
    2 obtain and install IOIPSL:
    3 1) install_ioipsl_gnome.bash: everything is set for Gnome, just run:
    4 ./install_ioipsl_gnome.bash
    5 And output modules and library will be in subdirectory 'modipsl/lib'
     2download and install IOIPSL, e.g.:
     31) install_ioipsl_occigen.bash: everything is set for Occigen, just run:
     4./install_ioipsl_occigen.bash
     5And output modules and library will be in ../../IOIPSL
     6(with links in 'modipsl/lib' and 'modipsl/bin' for backward compatibility)
    67
    7 2) install_ioipsl_gfortran.bash and install_ioipsl_pgf90.bash are more
    8 general examples for installing IOIPSL on a machine with either compiler.
    9 Note that the paths to the NetCDF library hard coded in the scripts
    10 will surely need to be adapted to your local settings.
    11 Then simply execute the script; output modules
    12 and library will be in subdirectory 'modipsl/lib'
     82) install_ioipsl_gfortran.bash, and install_ioipsl_pgf90.bash and
     9install_ioipsl_ifort.bash are more general examples
     10for installing IOIPSL on a machine with these compilers.
     11For these you might need to ajust the location of the NetCDF library
     12(see the NETCDF_HOME variable in the script)
     13And you will need to set up arch files (which should match those
     14of the GCM) to adequately compile the library
    1315
    14 Note that it is a good idea to install IOIPSL outside of the LMDZ tree
     16Note that it is a good idea to install IOIPSL alongside LMDZ
    1517so that its version can be tracked (and potentialy updated), as it is
    1618downloaded from a different svn repository.
     
    1820
    1921
     22
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_centos-ifort.bash

    r2185 r2412  
    44
    55#0. Preliminary stuff
    6 # source the environment from the GCM arch files
    7 source ../arch/arch-centos-ifort-para.env
    8 source ../arch/arch-centos-ifort-para.path
     6if (( $# == 0 ))
     7then
     8  # default behavior: get latest version of IOIPSL
     9  rev="HEAD"
     10else
     11  # but otherwise the first argument of the script can be the version to use
     12  if (( $# == 1 ))
     13  then
     14    rev=$1
     15  else
     16    echo "Error, invalid script arguments"
     17    echo "Usage:"
     18    echo "$0 rev"
     19    echo " where optional rev is the IOIPSL revision number"
     20    exit
     21  fi
     22fi
    923
    10 whereami=`pwd -P`
     24# cleanup possible previous attempt:
     25\rm -rf ../../IOIPSL modipsl
    1126
    12 # 1. Get IOIPSL (via modipsl)
    13 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    14 cd modipsl/util
     27# 1. Get IOIPSL
     28# move up at same level as LMDZ.COMMON , etc.
     29cd ../..
     30svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    1531
    16 ./model IOIPSL_PLUS
    17 
    18 # 2. Set correct settings:
    19 # add a "ciclad" configuration to AA_make.gdef
    20 echo "#-Q- cicladi  #- Global definitions for CentOS at LMD, ifort" >> AA_make.gdef
    21 echo "#-Q- cicladi  M_K = make" >> AA_make.gdef
    22 echo "#-Q- cicladi  P_C = cpp" >> AA_make.gdef
    23 echo '#-Q- cicladi  P_O = -P -C $(P_P)' >> AA_make.gdef
    24 echo "#-Q- cicladi  F_C = ifort -mcmodel=large -shared-intel -c" >> AA_make.gdef
    25 echo "#-Q- cicladi  #-D- MD    F_D = -g" >> AA_make.gdef
    26 echo "#-Q- cicladi  #-D- MN    F_D =" >> AA_make.gdef
    27 echo "#-Q- cicladi  #-P- I4R4  F_P = -integer-size 32" >> AA_make.gdef
    28 echo "#-Q- cicladi  #-P- I4R8  F_P = -integer-size 32 -real-size 64" >> AA_make.gdef
    29 echo "#-Q- cicladi  #-P- I8R8  F_P = -integer-size 64 -real-size 64" >> AA_make.gdef
    30 echo '#-Q- cicladi  F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR)' >> AA_make.gdef
    31 echo "#-Q- cicladi  F_L = ifort" >> AA_make.gdef
    32 echo "#-Q- cicladi  M_M = 0" >> AA_make.gdef
    33 echo "#-Q- cicladi  L_X = 0" >> AA_make.gdef
    34 echo "#-Q- cicladi  L_O =" >> AA_make.gdef
    35 echo "#-Q- cicladi  A_C = ar -r" >> AA_make.gdef
    36 echo "#-Q- cicladi  A_G = ar -x" >> AA_make.gdef
    37 echo "#-Q- cicladi  C_C = icc -c" >> AA_make.gdef
    38 echo "#-Q- cicladi  C_O =" >> AA_make.gdef
    39 echo "#-Q- cicladi  C_L = icc" >> AA_make.gdef
    40 echo "#-Q- cicladi  #-" >> AA_make.gdef
    41 echo "#-Q- cicladi  NCDF_INC = ${NETCDF_INCDIR:2}" >> AA_make.gdef
    42 echo "#-Q- cicladi  NCDF_LIB = ${NETCDF_LIBDIR} ${NETCDF_LIB}" >> AA_make.gdef
    43 echo "#-Q- cicladi  #-" >> AA_make.gdef
    44 
    45 # set default working precision for IOIPSL:
    46 ./ins_make -t cicladi -p I4R8
     32# 2. Set correct settings: copy over arch.* files
     33cd IOIPSL
     34cp -f ../LMDZ.COMMON/arch/arch-centos-ifort-para.env arch
     35cp -f ../LMDZ.COMMON/arch/arch-centos-ifort-para.path arch
     36cp -f ../LMDZ.COMMON/arch/arch-centos-ifort-para.fcm arch
    4737
    4838## 3. build ioipsl:
    49 cd ../modeles/IOIPSL/src
    50 make
    51 ## Compile the rebuild tool:
    52 cd ../tools
    53 make
     39./makeioipsl_fcm -arch centos-ifort-para -job 8 > makeioipsl.out 2>&1
    5440
    55 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     41## 4. Check if the library was indeed built:
     42whereami=`pwd -P`
     43if [[ -f lib/libioipsl.a ]]
    5644  then
    57   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     45  echo "OK: ioipsl library is in ${whereami}/lib"
    5846else
    59   echo "Something went wrong..."
     47  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     48  exit
    6049fi
     50
     51## 5. Comply with old setup and make appropriate links
     52cd ../LMDZ.COMMON/ioipsl
     53mkdir modipsl
     54cd modipsl
     55# lib + module files
     56mkdir lib
     57cd lib
     58ln -s ../../../../IOIPSL/lib/libioipsl.a .
     59ln -s ../../../../IOIPSL/inc/* .
     60cd ..
     61# rebuild utility
     62mkdir bin
     63cd bin
     64ln -s ../../../../IOIPSL/bin/* .
     65
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_ciclad-ifort.bash

    r2411 r2412  
    44
    55#0. Preliminary stuff
    6 # source the environment from the GCM arch files
    7 source ../arch/arch-CICLADifort.env
    8 source ../arch/arch-CICLADifort.path
    96
    10 whereami=`pwd -P`
     7if (( $# == 0 ))
     8then
     9  # default behavior: get latest version of IOIPSL
     10  rev="HEAD"
     11else
     12  # but otherwise the first argument of the script can be the version to use
     13  if (( $# == 1 ))
     14  then
     15    rev=$1
     16  else
     17    echo "Error, invalid script arguments"
     18    echo "Usage:"
     19    echo "$0 rev"
     20    echo " where optional rev is the IOIPSL revision number"
     21    exit
     22  fi
     23fi
    1124
    12 # 1. Get IOIPSL (via modipsl)
    13 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    14 cd modipsl/util
     25# cleanup possible previous attempt:
     26\rm -rf ../../IOIPSL modipsl
    1527
    16 ./model IOIPSL_PLUS
     28# 1. Get IOIPSL
     29# move up at same level as LMDZ.COMMON , etc.
     30cd ../..
     31svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    1732
    18 # 2. Set correct settings:
    19 # add a "ciclad" configuration to AA_make.gdef
    20 echo "#-Q- cicladi  #- Global definitions for ciclad at UPMC, ifort" >> AA_make.gdef
    21 echo "#-Q- cicladi  M_K = make" >> AA_make.gdef
    22 echo "#-Q- cicladi  P_C = cpp" >> AA_make.gdef
    23 echo '#-Q- cicladi  P_O = -P -C $(P_P)' >> AA_make.gdef
    24 echo "#-Q- cicladi  F_C = ifort -mcmodel=large -shared-intel -c" >> AA_make.gdef
    25 echo "#-Q- cicladi  #-D- MD    F_D = -g" >> AA_make.gdef
    26 echo "#-Q- cicladi  #-D- MN    F_D =" >> AA_make.gdef
    27 echo "#-Q- cicladi  #-P- I4R4  F_P = -integer-size 32" >> AA_make.gdef
    28 echo "#-Q- cicladi  #-P- I4R8  F_P = -integer-size 32 -real-size 64" >> AA_make.gdef
    29 echo "#-Q- cicladi  #-P- I8R8  F_P = -integer-size 64 -real-size 64" >> AA_make.gdef
    30 echo '#-Q- cicladi  F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR)' >> AA_make.gdef
    31 echo "#-Q- cicladi  F_L = ifort" >> AA_make.gdef
    32 echo "#-Q- cicladi  M_M = 0" >> AA_make.gdef
    33 echo "#-Q- cicladi  L_X = 0" >> AA_make.gdef
    34 echo "#-Q- cicladi  L_O =" >> AA_make.gdef
    35 echo "#-Q- cicladi  A_C = ar -r" >> AA_make.gdef
    36 echo "#-Q- cicladi  A_G = ar -x" >> AA_make.gdef
    37 echo "#-Q- cicladi  C_C = icc -c" >> AA_make.gdef
    38 echo "#-Q- cicladi  C_O =" >> AA_make.gdef
    39 echo "#-Q- cicladi  C_L = icc" >> AA_make.gdef
    40 echo "#-Q- cicladi  #-" >> AA_make.gdef
    41 echo "#-Q- cicladi  NCDF_INC = ${NETCDF_INCDIR:2}" >> AA_make.gdef
    42 echo "#-Q- cicladi  NCDF_LIB = ${NETCDF_LIBDIR} ${NETCDF_LIB}" >> AA_make.gdef
    43 echo "#-Q- cicladi  #-" >> AA_make.gdef
    44 
    45 # set default working precision for IOIPSL:
    46 ./ins_make -t cicladi -p I4R8
     33# 2. Set correct settings: copy over arch.* files
     34cd IOIPSL
     35cp -f ../LMDZ.COMMON/arch/arch-CICLADifort.env arch
     36cp -f ../LMDZ.COMMON/arch/arch-CICLADifort.path arch
     37cp -f ../LMDZ.COMMON/arch/arch-CICLADifort.fcm arch
    4738
    4839## 3. build ioipsl:
    49 cd ../modeles/IOIPSL/src
    50 make
    51 ## Compile the rebuild tool:
    52 cd ../tools
    53 make
     40./makeioipsl_fcm -arch CICLADifort -job 8 > makeioipsl.out 2>&1
    5441
    55 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     42## 4. Check if the library was indeed built:
     43whereami=`pwd -P`
     44if [[ -f lib/libioipsl.a ]]
    5645  then
    57   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     46  echo "OK: ioipsl library is in ${whereami}/lib"
    5847else
    59   echo "Something went wrong..."
     48  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     49  exit
    6050fi
     51
     52## 5. Comply with old setup and make appropriate links
     53cd ../LMDZ.COMMON/ioipsl
     54mkdir modipsl
     55cd modipsl
     56# lib + module files
     57mkdir lib
     58cd lib
     59ln -s ../../../../IOIPSL/lib/libioipsl.a .
     60ln -s ../../../../IOIPSL/inc/* .
     61cd ..
     62# rebuild utility
     63mkdir bin
     64cd bin
     65ln -s ../../../../IOIPSL/bin/* .
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_gfortran.bash

    r2075 r2412  
    22# script to download and install the latest version of IOIPSL
    33# using gfortran
    4 # You'll probably have to change paths to NetCDF library 'lib' and 'include'
     4# You'll probably have to change path to NetCDF library
    55# below to adapt this script to your computer.
    66
    7 #setfolder="/planeto/emlmd/netcdf64-4.0.1_gfortran4.4.7"
    8 #setfolder="/donnees/emlmd/netcdf64-4.0.1_gfortran/"
    9 setfolder=$NETCDF
     7#0. Preliminary stuff
     8if (( $# == 0 ))
     9then
     10  # default behavior: get latest version of IOIPSL
     11  rev="HEAD"
     12else
     13  # but otherwise the first argument of the script can be the version to use
     14  if (( $# == 1 ))
     15  then
     16    rev=$1
     17  else
     18    echo "Error, invalid script arguments"
     19    echo "Usage:"
     20    echo "$0 rev"
     21    echo " where optional rev is the IOIPSL revision number"
     22    exit
     23  fi
     24fi
    1025
    11 #0. Preliminary stuff
    12 # netcdf include and lib dirs:
    13 netcdf_include=$setfolder"/include"
    14 netcdf_lib=$setfolder"/lib"
     26# Where is the NetCDF library root located? Hopefully nf-config can tell us
     27# but you might need an appropriate "module load netcdf***" beforehand
     28NETCDF_HOME=$(nf-config --prefix)
    1529
    16 whereami=`pwd -P`
     30# cleanup possible previous attempt:
     31\rm -rf ../../IOIPSL modipsl
    1732
    18 # 1. Get IOIPSL (via modipsl)
    19 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    20 cd modipsl/util
     33# 1. Get IOIPSL
     34# move up at same level as LMDZ.COMMON , etc.
     35cd ../..
     36svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    2137
    22 # make all refs to ksh become refs to bash
    23 for i in ins_m_prec model script_diff_model script_log_analyse script_recup_model
    24 do
    25   sed -e s:'#!/bin/ksh':'#!/bin/bash':1 $i > tmp
    26   mv -f tmp $i
    27 done
    28 chmod u=rwx model
    29 chmod u=rwx ins_m_prec
    30 ./model IOIPSL_PLUS
    31 
    32 # 2. Set correct settings:
    33 # modify path to netcdf in 'AA_make.gdef'
    34 cp AA_make.gdef AA_make.gdef.old
    35 sed -e s:"gfortran  NCDF_INC = /usr/local/include":"gfortran  NCDF_INC = ${netcdf_include}":1 \
    36     -e s:"gfortran  NCDF_LIB = -L/usr/local/lib":"gfortran  NCDF_LIB = -L${netcdf_lib}":1 \
    37     AA_make.gdef.old > AA_make.gdef
    38 
    39 # set default working precision for IOIPSL:
    40 ./ins_make -t gfortran -p I4R8
     38# 2. Set correct settings: make some arch.* files
     39# Ideally these arch files should be the same as the GCM's
     40# arch.env file (add any suitable module load here)
     41cd IOIPSL/arch
     42echo "" > arch-gfortran.env
     43echo "export NETCDF_HOME=$NETCDF_HOME" >> arch-gfortran.env
     44# arch.fcm file
     45echo '%COMPILER            gfortran' > arch-gfortran.fcm
     46echo '%LINK                gfortran' >> arch-gfortran.fcm
     47echo '%AR                  ar' >> arch-gfortran.fcm
     48echo '%MAKE                make' >> arch-gfortran.fcm
     49echo '%FPP_FLAGS           -P -traditional' >> arch-gfortran.fcm
     50echo '%BASE_FFLAGS         -c -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fno-align-commons -fcray-pointer' >> arch-gfortran.fcm
     51echo '%PROD_FFLAGS         -O3' >> arch-gfortran.fcm
     52echo '%DEV_FFLAGS          -O -Wall -fbounds-check' >> arch-gfortran.fcm
     53echo '%DEBUG_FFLAGS        -ffpe-trap=invalid,zero,overflow -fbounds-check -g3 -O0 -fstack-protector-all -finit-real=snan -fbacktrace' >> arch-gfortran.fcm
     54echo '%MPI_FFLAGS          ' >> arch-gfortran.fcm
     55echo '%OMP_FFLAGS          ' >> arch-gfortran.fcm
     56echo '%BASE_LD             ' >> arch-gfortran.fcm
     57echo '%MPI_LD              ' >> arch-gfortran.fcm
     58echo '%OMP_LD              ' >> arch-gfortran.fcm
     59# arch.path file
     60echo "NETCDF_INCDIR=\"-I$NETCDF_HOME/include\"" > arch-gfortran.path
     61echo "NETCDF_LIBDIR=\"-L$NETCDF_HOME/lib\"" >> arch-gfortran.path
     62echo 'NETCDF_LIB="-lnetcdff"' >> arch-gfortran.path
     63echo '' >> arch-gfortran.path
     64echo 'HDF5_INCDIR=""' >> arch-gfortran.path
     65echo 'HDF5_LIBDIR=""' >> arch-gfortran.path
     66echo 'HDF5_LIB=""' >> arch-gfortran.path
     67echo '' >> arch-gfortran.path
     68echo 'MPI_INCDIR=""' >> arch-gfortran.path
     69echo 'MPI_LIBDIR=""' >> arch-gfortran.path
     70echo 'MPI_LIB=""' >> arch-gfortran.path
    4171
    4272## 3. build ioipsl:
    43 cd ../modeles/IOIPSL/src
    44 # make all refs to ksh become refs to bash
    45 for i in AA_make.ldef Makefile
    46 do
    47   sed -e s:'/bin/ksh':'/bin/bash':1 $i > tmp
    48   mv -f tmp $i
    49 done
    50 make
    51 ## Compile the rebuild tool:
    52 cd ../tools
    53 # make all refs to ksh become refs to bash
    54 for i in AA_make.ldef Makefile rebuild
    55 do
    56   sed -e s:'/bin/ksh':'/bin/bash':1 $i > tmp
    57   mv -f tmp $i
    58 done
    59 chmod u=rwx rebuild
    60 make
     73cd ..
     74./makeioipsl_fcm -arch gfortran -job 8 > makeioipsl.out 2>&1
    6175
    62 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     76## 4. Check if the library was indeed built:
     77whereami=`pwd -P`
     78if [[ -f lib/libioipsl.a ]]
    6379  then
    64   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     80  echo "OK: ioipsl library is in ${whereami}/lib"
    6581else
    66   echo "Something went wrong..."
     82  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     83  exit
    6784fi
    6885
     86## 5. Comply with old setup and make appropriate links
     87cd ../LMDZ.COMMON/ioipsl
     88mkdir modipsl
     89cd modipsl
     90# lib + module files
     91mkdir lib
     92cd lib
     93ln -s ../../../../IOIPSL/lib/libioipsl.a .
     94ln -s ../../../../IOIPSL/inc/* .
     95cd ..
     96# rebuild utility
     97mkdir bin
     98cd bin
     99ln -s ../../../../IOIPSL/bin/* .
     100
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_ifort.bash

    r1824 r2412  
    11#!/bin/bash
    2 # script to download and install the latest version of IOIPSL on Gnome
    3 #
     2# script to download and install the latest version of IOIPSL
     3# using ifort
     4# You'll probably have to change path to NetCDF library
     5# below to adapt this script to your computer.
    46
    57#0. Preliminary stuff
    6 NETCDF="/opt/netcdf3/ifort"
    7 netcdf_include="$NETCDF/include"
    8 netcdf_lib="$NETCDF/lib"
    9 echo $netcdf_include
    10 echo $netcdf_lib
     8if (( $# == 0 ))
     9then
     10  # default behavior: get latest version of IOIPSL
     11  rev="HEAD"
     12else
     13  # but otherwise the first argument of the script can be the version to use
     14  if (( $# == 1 ))
     15  then
     16    rev=$1
     17  else
     18    echo "Error, invalid script arguments"
     19    echo "Usage:"
     20    echo "$0 rev"
     21    echo " where optional rev is the IOIPSL revision number"
     22    exit
     23  fi
     24fi
    1125
    12 whereami=`pwd -P`
     26# Where is the NetCDF library root located? Hopefully nf-config can tell us
     27# but you might need an appropriate "module load netcdf***" beforehand
     28NETCDF_HOME=$(nf-config --prefix)
    1329
    14 # 1. Get IOIPSL (via modipsl)
    15 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    16 cd modipsl/util
     30# cleanup possible previous attempt:
     31\rm -rf ../../IOIPSL modipsl
    1732
    18 ./model IOIPSL_PLUS
     33# 1. Get IOIPSL
     34# move up at same level as LMDZ.COMMON , etc.
     35cd ../..
     36svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    1937
    20 # 2. Set correct settings:
    21 # add a "ciclad" configuration to AA_make.gdef
    22 echo "#-Q- cicladi  #- Global definitions for ciclad at UPMC, ifort" >> AA_make.gdef
    23 echo "#-Q- cicladi  M_K = make" >> AA_make.gdef
    24 echo "#-Q- cicladi  P_C = cpp" >> AA_make.gdef
    25 echo '#-Q- cicladi  P_O = -P -C $(P_P)' >> AA_make.gdef
    26 echo "#-Q- cicladi  F_C = ifort -mcmodel=large -shared-intel -c" >> AA_make.gdef
    27 echo "#-Q- cicladi  #-D- MD    F_D = -g" >> AA_make.gdef
    28 echo "#-Q- cicladi  #-D- MN    F_D =" >> AA_make.gdef
    29 echo "#-Q- cicladi  #-P- I4R4  F_P = -integer-size 32" >> AA_make.gdef
    30 echo "#-Q- cicladi  #-P- I4R8  F_P = -integer-size 32 -real-size 64" >> AA_make.gdef
    31 echo "#-Q- cicladi  #-P- I8R8  F_P = -integer-size 64 -real-size 64" >> AA_make.gdef
    32 echo '#-Q- cicladi  F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR)' >> AA_make.gdef
    33 echo "#-Q- cicladi  F_L = ifort" >> AA_make.gdef
    34 echo "#-Q- cicladi  M_M = 0" >> AA_make.gdef
    35 echo "#-Q- cicladi  L_X = 0" >> AA_make.gdef
    36 echo "#-Q- cicladi  L_O =" >> AA_make.gdef
    37 echo "#-Q- cicladi  A_C = ar -r" >> AA_make.gdef
    38 echo "#-Q- cicladi  A_G = ar -x" >> AA_make.gdef
    39 echo "#-Q- cicladi  C_C = icc -c" >> AA_make.gdef
    40 echo "#-Q- cicladi  C_O =" >> AA_make.gdef
    41 echo "#-Q- cicladi  C_L = icc" >> AA_make.gdef
    42 echo "#-Q- cicladi  #-" >> AA_make.gdef
    43 echo "#-Q- cicladi  NCDF_INC = ${netcdf_include}" >> AA_make.gdef
    44 echo "#-Q- cicladi  NCDF_LIB = -L${netcdf_lib} -lnetcdf" >> AA_make.gdef
    45 echo "#-Q- cicladi  #-" >> AA_make.gdef
    46 
    47 # set default working precision for IOIPSL:
    48 ./ins_make -t cicladi -p I4R8
     38# 2. Set correct settings: make some arch.* files
     39# Ideally these arch files should be the same as the GCM's
     40# arch.env file (add any suitable module load here)
     41cd IOIPSL/arch
     42echo "" > arch-ifort.env
     43echo "export NETCDF_HOME=$NETCDF_HOME" >> arch-ifort.env
     44# arch.fcm file
     45echo '%COMPILER            ifort' > arch-ifort.fcm
     46echo '%LINK                ifort' >> arch-ifort.fcm
     47echo '%AR                  ar' >> arch-ifort.fcm
     48echo '%MAKE                make' >> arch-ifort.fcm
     49echo '%FPP_FLAGS           -P -traditional' >> arch-ifort.fcm
     50echo '%BASE_FFLAGS         -real-size 64 -ip -mkl=parallel -fp-model precise -align common' >> arch-ifort.fcm
     51echo '%PROD_FFLAGS         -O3' >> arch-ifort.fcm
     52echo '%DEV_FFLAGS          -O2' >> arch-ifort.fcm
     53echo '%DEBUG_FFLAGS        -fpe0 -g -no-ftz -check -traceback -ftrapuv -fp-stack-check -O0' >> arch-ifort.fcm
     54echo '%MPI_FFLAGS          ' >> arch-ifort.fcm
     55echo '%OMP_FFLAGS          ' >> arch-ifort.fcm
     56echo '%BASE_LD             ' >> arch-ifort.fcm
     57echo '%MPI_LD              ' >> arch-ifort.fcm
     58echo '%OMP_LD              ' >> arch-ifort.fcm
     59# arch.path file
     60echo "NETCDF_INCDIR=\"-I$NETCDF_HOME/include\"" > arch-ifort.path
     61echo "NETCDF_LIBDIR=\"-L$NETCDF_HOME/lib\"" >> arch-ifort.path
     62echo 'NETCDF_LIB="-lnetcdff"' >> arch-ifort.path
     63echo '' >> arch-ifort.path
     64echo 'HDF5_INCDIR=""' >> arch-ifort.path
     65echo 'HDF5_LIBDIR=""' >> arch-ifort.path
     66echo 'HDF5_LIB=""' >> arch-ifort.path
     67echo '' >> arch-ifort.path
     68echo 'MPI_INCDIR=""' >> arch-ifort.path
     69echo 'MPI_LIBDIR=""' >> arch-ifort.path
     70echo 'MPI_LIB=""' >> arch-ifort.path
    4971
    5072## 3. build ioipsl:
    51 cd ../modeles/IOIPSL/src
    52 make
    53 ## Compile the rebuild tool:
    54 cd ../tools
    55 make
     73cd ..
     74./makeioipsl_fcm -arch ifort -job 8 > makeioipsl.out 2>&1
    5675
    57 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     76## 4. Check if the library was indeed built:
     77whereami=`pwd -P`
     78if [[ -f lib/libioipsl.a ]]
    5879  then
    59   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     80  echo "OK: ioipsl library is in ${whereami}/lib"
    6081else
    61   echo "Something went wrong..."
     82  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     83  exit
    6284fi
     85
     86## 5. Comply with old setup and make appropriate links
     87cd ../LMDZ.COMMON/ioipsl
     88mkdir modipsl
     89cd modipsl
     90# lib + module files
     91mkdir lib
     92cd lib
     93ln -s ../../../../IOIPSL/lib/libioipsl.a .
     94ln -s ../../../../IOIPSL/inc/* .
     95cd ..
     96# rebuild utility
     97mkdir bin
     98cd bin
     99ln -s ../../../../IOIPSL/bin/* .
     100
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_jeanzay.bash

    r2256 r2412  
    11#!/bin/bash
    2 # script to download and install the latest version of IOIPSL on occigen
     2# script to download and install the latest version of IOIPSL on Jean Zay
    33#
    44
    55#0. Preliminary stuff
    6 source ../arch/arch-X64_JEANZAY.env
    76module load subversion
    87
     8if (( $# == 0 ))
     9then
     10  # default behavior: get latest version of IOIPSL
     11  rev="HEAD"
     12else
     13  # but otherwise the first argument of the script can be the version to use
     14  if (( $# == 1 ))
     15  then
     16    rev=$1
     17  else
     18    echo "Error, invalid script arguments"
     19    echo "Usage:"
     20    echo "$0 rev"
     21    echo " where optional rev is the IOIPSL revision number"
     22    exit
     23  fi
     24fi
    925
    10 whereami=`pwd -P`
     26# cleanup possible previous attempt:
     27\rm -rf ../../IOIPSL modipsl
    1128
    12 # 1. Get IOIPSL (via modipsl)
    13 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    14 cd modipsl/util
     29# 1. Get IOIPSL
     30# move up at same level as LMDZ.COMMON , etc.
     31cd ../..
     32svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    1533
    16 ./model IOIPSL_PLUS
    17 
    18 # 2. Set correct settings:
    19 # set default working precision for IOIPSL:
    20 ./ins_make -t jeanzay -p I4R8
     34# 2. Set correct settings: copy over arch.* files
     35cd IOIPSL
     36cp -f ../LMDZ.COMMON/arch/arch-X64_JEANZAY.env arch
     37cp -f ../LMDZ.COMMON/arch/arch-X64_JEANZAY.path arch
     38cp -f ../LMDZ.COMMON/arch/arch-X64_JEANZAY.fcm arch
    2139
    2240## 3. build ioipsl:
    23 cd ../modeles/IOIPSL/src
    24 gmake
    25 ## Compile the rebuild tool:
    26 cd ../tools
    27 gmake
     41./makeioipsl_fcm -arch X64_JEANZAY -job 8 > makeioipsl.out 2>&1
    2842
    29 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     43## 4. Check if the library was indeed built:
     44whereami=`pwd -P`
     45if [[ -f lib/libioipsl.a ]]
    3046  then
    31   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     47  echo "OK: ioipsl library is in ${whereami}/lib"
    3248else
    33   echo "Something went wrong..."
     49  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     50  exit
    3451fi
     52
     53## 5. Comply with old setup and make appropriate links
     54cd ../LMDZ.COMMON/ioipsl
     55mkdir modipsl
     56cd modipsl
     57# lib + module files
     58mkdir lib
     59cd lib
     60ln -s ../../../../IOIPSL/lib/libioipsl.a .
     61ln -s ../../../../IOIPSL/inc/* .
     62cd ..
     63# rebuild utility
     64mkdir bin
     65cd bin
     66ln -s ../../../../IOIPSL/bin/* .
     67
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_jeanzay_pgi.bash

    r2256 r2412  
    11#!/bin/bash
    2 # script to download and install the latest version of IOIPSL on occigen
     2# script to download and install the latest version of IOIPSL on Jean Zay
    33#
    44
    55#0. Preliminary stuff
    6 source ../arch/arch-X64_JEANZAY-pgi.env
    76module load subversion
    87
     8if (( $# == 0 ))
     9then
     10  # default behavior: get latest version of IOIPSL
     11  rev="HEAD"
     12else
     13  # but otherwise the first argument of the script can be the version to use
     14  if (( $# == 1 ))
     15  then
     16    rev=$1
     17  else
     18    echo "Error, invalid script arguments"
     19    echo "Usage:"
     20    echo "$0 rev"
     21    echo " where optional rev is the IOIPSL revision number"
     22    exit
     23  fi
     24fi
    925
    10 whereami=`pwd -P`
     26# cleanup possible previous attempt:
     27\rm -rf ../../IOIPSL modipsl
    1128
    12 # 1. Get IOIPSL (via modipsl)
    13 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    14 cd modipsl/util
     29# 1. Get IOIPSL
     30# move up at same level as LMDZ.COMMON , etc.
     31cd ../..
     32svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    1533
    16 ./model IOIPSL_PLUS
    17 
    18 # 2. Set correct settings:
    19 # set default working precision for IOIPSL:
    20 sed -i -e s:"jeanzay  F_C = mpiifort -c -cpp":"jeanzay  F_C = mpif90 -c -Mpreprocess":1 \
    21 -e s/'jeanzay  F_O = -DCPP_PARA -O3 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR) -fp-model precise'/'jeanzay  F_O = -DCPP_PARA -fast -O3 -Munroll=c:4 $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR)'/1 \
    22 -e s:'jeanzay  NCDF_INC = ./':"jeanzay  NCDF_INC = $(nf-config --includedir)":1 \
    23 -e s:'jeanzay  NCDF_LIB = -lnetcdff':"jeanzay  NCDF_LIB = $(nf-config --flibs)":1 \
    24 -e s:"jeanzay  F_L = mpiifort":"jeanzay  F_L = mpif90":1 AA_make.gdef
    25 
    26 ./ins_make -t jeanzay -p I4R8
     34# 2. Set correct settings: copy over arch.* files
     35cd IOIPSL
     36cp -f ../LMDZ.COMMON/arch/arch-X64_JEANZAY-pgi.env arch
     37cp -f ../LMDZ.COMMON/arch/arch-X64_JEANZAY-pgi.path arch
     38cp -f ../LMDZ.COMMON/arch/arch-X64_JEANZAY-pgi.fcm arch
    2739
    2840## 3. build ioipsl:
    29 cd ../modeles/IOIPSL/src
    30 gmake
    31 ## Compile the rebuild tool:
    32 cd ../tools
    33 gmake
     41./makeioipsl_fcm -arch X64_JEANZAY-pgi -job 8 > makeioipsl.out 2>&1
    3442
    35 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     43## 4. Check if the library was indeed built:
     44whereami=`pwd -P`
     45if [[ -f lib/libioipsl.a ]]
    3646  then
    37   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     47  echo "OK: ioipsl library is in ${whereami}/lib"
    3848else
    39   echo "Something went wrong..."
     49  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     50  exit
    4051fi
     52
     53## 5. Comply with old setup and make appropriate links
     54cd ../LMDZ.COMMON/ioipsl
     55mkdir modipsl
     56cd modipsl
     57# lib + module files
     58mkdir lib
     59cd lib
     60ln -s ../../../../IOIPSL/lib/libioipsl.a .
     61ln -s ../../../../IOIPSL/inc/* .
     62cd ..
     63# rebuild utility
     64mkdir bin
     65cd bin
     66ln -s ../../../../IOIPSL/bin/* .
     67
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_occigen.bash

    r1671 r2412  
    11#!/bin/bash
    2 # script to download and install the latest version of IOIPSL on occigen
     2# script to download and install the latest version of IOIPSL on Occigen
    33#
    44
    5 #0. Preliminary stuff
    6 module purge
    7 #module load intel/15.6.233
    8 #module load intelmpi/5.1.3.258
    9 #module load hdf5/1.8.14
    10 #module load netcdf/4.3.3-rc2_fortran-4.4.1
    11 module load intel/17.0
    12 module load intelmpi/2017.0.098
    13 module load hdf5/1.8.17
    14 module load netcdf/4.4.0_fortran-4.4.2
     5#0. Preliminary stuff
    156
    16 whereami=`pwd -P`
     7if (( $# == 0 ))
     8then
     9  # default behavior: get latest version of IOIPSL
     10  rev="HEAD"
     11else
     12  # but otherwise the first argument of the script can be the version to use
     13  if (( $# == 1 ))
     14  then
     15    rev=$1
     16  else
     17    echo "Error, invalid script arguments"
     18    echo "Usage:"
     19    echo "$0 rev"
     20    echo " where optional rev is the IOIPSL revision number"
     21    exit
     22  fi
     23fi
    1724
    18 # 1. Get IOIPSL (via modipsl)
    19 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    20 cd modipsl/util
     25# cleanup possible previous attempt:
     26\rm -rf ../../IOIPSL modipsl
    2127
    22 ./model IOIPSL_PLUS
     28# 1. Get IOIPSL
     29# move up at same level as LMDZ.COMMON , etc.
     30cd ../..
     31svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    2332
    24 # 2. Set correct settings:
    25 # add a "occigen" configuration to AA_make.gdef
    26 echo "#-Q- occigen  #- Global definitions for Occigen at CINES, ifort" >> AA_make.gdef
    27 echo "#-Q- occigen  M_K = make" >> AA_make.gdef
    28 echo "#-Q- occigen  P_C = cpp" >> AA_make.gdef
    29 echo '#-Q- occigen  P_O = -P -C $(P_P)' >> AA_make.gdef
    30 echo "#-Q- occigen  F_C = ifort -mcmodel=medium -shared-intel -c" >> AA_make.gdef
    31 echo "#-Q- occigen  #-D- MD    F_D = -g" >> AA_make.gdef
    32 echo "#-Q- occigen  #-D- MN    F_D =" >> AA_make.gdef
    33 echo "#-Q- occigen  #-P- I4R4  F_P = -integer-size 32" >> AA_make.gdef
    34 echo "#-Q- occigen  #-P- I4R8  F_P = -integer-size 32 -real-size 64" >> AA_make.gdef
    35 echo "#-Q- occigen  #-P- I8R8  F_P = -integer-size 64 -real-size 64" >> AA_make.gdef
    36 echo '#-Q- occigen  F_O = -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR)' >> AA_make.gdef
    37 echo "#-Q- occigen  F_L = ifort" >> AA_make.gdef
    38 echo "#-Q- occigen  M_M = 0" >> AA_make.gdef
    39 echo "#-Q- occigen  L_X = 0" >> AA_make.gdef
    40 echo "#-Q- occigen  L_O =" >> AA_make.gdef
    41 echo "#-Q- occigen  A_C = ar -r" >> AA_make.gdef
    42 echo "#-Q- occigen  A_G = ar -x" >> AA_make.gdef
    43 echo "#-Q- occigen  C_C = icc -c" >> AA_make.gdef
    44 echo "#-Q- occigen  C_O =" >> AA_make.gdef
    45 echo "#-Q- occigen  C_L = icc" >> AA_make.gdef
    46 echo "#-Q- occigen  #-" >> AA_make.gdef
    47 echo "#-Q- occigen  NCDF_INC = ${NETCDFF_INCDIR}" >> AA_make.gdef
    48 echo "#-Q- occigen  NCDF_LIB = -L${NETCDFF_LIBDIR} -lnetcdff" >> AA_make.gdef
    49 echo "#-Q- occigen  #-" >> AA_make.gdef
    50 
    51 # set default working precision for IOIPSL:
    52 ./ins_make -t occigen -p I4R8
     33# 2. Set correct settings: copy over arch.* files
     34cd IOIPSL
     35cp -f ../LMDZ.COMMON/arch/arch-X64_OCCIGEN.env arch
     36cp -f ../LMDZ.COMMON/arch/arch-X64_OCCIGEN.path arch
     37cp -f ../LMDZ.COMMON/arch/arch-X64_OCCIGEN.fcm arch
    5338
    5439## 3. build ioipsl:
    55 cd ../modeles/IOIPSL/src
    56 make
    57 ## Compile the rebuild tool:
    58 cd ../tools
    59 make
     40# but first make a small correction to makeioipsl_fcm
     41sed -i -e s:'$HDF5_LIBDIR $HDF5_LIB':'':1 makeioipsl_fcm
     42./makeioipsl_fcm -arch X64_OCCIGEN -job 8 > makeioipsl.out 2>&1
    6043
    61 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     44## 4. Check if the library was indeed built:
     45whereami=`pwd -P`
     46if [[ -f lib/libioipsl.a ]]
    6247  then
    63   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     48  echo "OK: ioipsl library is in ${whereami}/lib"
    6449else
    65   echo "Something went wrong..."
     50  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     51  exit
    6652fi
     53
     54## 5. Comply with old setup and make appropriate links
     55cd ../LMDZ.COMMON/ioipsl
     56mkdir modipsl
     57cd modipsl
     58# lib + module files
     59mkdir lib
     60cd lib
     61ln -s ../../../../IOIPSL/lib/libioipsl.a .
     62ln -s ../../../../IOIPSL/inc/* .
     63cd ..
     64# rebuild utility
     65mkdir bin
     66cd bin
     67ln -s ../../../../IOIPSL/bin/* .
  • trunk/LMDZ.COMMON/ioipsl/install_ioipsl_pgf90.bash

    r1567 r2412  
    22# script to download and install the latest version of IOIPSL
    33# using pgf90
    4 # You'll probably have to change paths to NetCDF library 'lib' and 'include'
     4# You'll probably have to change path to NetCDF library
    55# below to adapt this script to your computer.
    66
    77#0. Preliminary stuff
    8 # netcdf include and lib dirs:
    9 netcdf_include="/donnees/emlmd/netcdf64-4.0.1_pgi/include"
    10 netcdf_lib="/donnees/emlmd/netcdf64-4.0.1_pgi/lib"
     8if (( $# == 0 ))
     9then
     10  # default behavior: get latest version of IOIPSL
     11  rev="HEAD"
     12else
     13  # but otherwise the first argument of the script can be the version to use
     14  if (( $# == 1 ))
     15  then
     16    rev=$1
     17  else
     18    echo "Error, invalid script arguments"
     19    echo "Usage:"
     20    echo "$0 rev"
     21    echo " where optional rev is the IOIPSL revision number"
     22    exit
     23  fi
     24fi
    1125
    12 whereami=`pwd -P`
     26# Where is the NetCDF library root located? Hopefully nf-config can tell us
     27# but you might need an appropriate "module load netcdf***" beforehand
     28NETCDF_HOME=$(nf-config --prefix)
    1329
    14 # 1. Get IOIPSL (via modipsl)
    15 svn co http://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl
    16 cd modipsl/util
     30# cleanup possible previous attempt:
     31\rm -rf ../../IOIPSL modipsl
    1732
    18 ./model IOIPSL_PLUS
     33# 1. Get IOIPSL
     34# move up at same level as LMDZ.COMMON , etc.
     35cd ../..
     36svn co --revision $rev http://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/trunk IOIPSL
    1937
    20 # 2. Set correct settings:
    21 # modify path to netcdf in 'AA_make.gdef'
    22 cp AA_make.gdef AA_make.gdef.old
    23 sed -e s:"linux    NCDF_INC = /distrib/local/netcdf/pgf/include/":"linux    NCDF_INC = ${netcdf_include}":1 \
    24     -e s:"linux    NCDF_LIB = -L/distrib/local/netcdf/pgf/lib/":"linux    NCDF_LIB = -L${netcdf_lib}":1 \
    25     AA_make.gdef.old > AA_make.gdef
    26 
    27 # set default working precision for IOIPSL:
    28 ./ins_make -t linux -p I4R8
     38# 2. Set correct settings: make some arch.* files
     39# Ideally these arch files should be the same as the GCM's
     40# arch.env file (add any suitable module load here)
     41cd IOIPSL/arch
     42echo "" > arch-pgf90.env
     43echo "export NETCDF_HOME=$NETCDF_HOME" >> arch-pgf90.env
     44# arch.fcm file
     45echo '%COMPILER            pgf90' > arch-pgf90.fcm
     46echo '%LINK                pgf90' >> arch-pgf90.fcm
     47echo '%AR                  ar' >> arch-pgf90.fcm
     48echo '%MAKE                make' >> arch-pgf90.fcm
     49echo '%FPP_FLAGS           -P -traditional' >> arch-pgf90.fcm
     50echo '%BASE_FFLAGS         -i4 -r8' >> arch-pgf90.fcm
     51echo '%PROD_FFLAGS         -O2 -Munroll -Mnoframe -Mautoinline -Mcache_align' >> arch-pgf90.fcm
     52echo '%DEV_FFLAGS          -Mbounds' >> arch-pgf90.fcm
     53echo '%DEBUG_FFLAGS        -g -traceback -Mbounds -Mchkfpstk -Mchkstk -Ktrap=denorm,divz,fp,inv,ovf' >> arch-pgf90.fcm
     54echo '%MPI_FFLAGS          ' >> arch-pgf90.fcm
     55echo '%OMP_FFLAGS          ' >> arch-pgf90.fcm
     56echo '%BASE_LD             ' >> arch-pgf90.fcm
     57echo '%MPI_LD              ' >> arch-pgf90.fcm
     58echo '%OMP_LD              ' >> arch-pgf90.fcm
     59# arch.path file
     60echo "NETCDF_INCDIR=\"-I$NETCDF_HOME/include\"" > arch-pgf90.path
     61echo "NETCDF_LIBDIR=\"-L$NETCDF_HOME/lib\"" >> arch-pgf90.path
     62echo 'NETCDF_LIB="-lnetcdff"' >> arch-pgf90.path
     63echo '' >> arch-pgf90.path
     64echo 'HDF5_INCDIR=""' >> arch-pgf90.path
     65echo 'HDF5_LIBDIR=""' >> arch-pgf90.path
     66echo 'HDF5_LIB=""' >> arch-pgf90.path
     67echo '' >> arch-pgf90.path
     68echo 'MPI_INCDIR=""' >> arch-pgf90.path
     69echo 'MPI_LIBDIR=""' >> arch-pgf90.path
     70echo 'MPI_LIB=""' >> arch-pgf90.path
    2971
    3072## 3. build ioipsl:
    31 cd ../modeles/IOIPSL/src
    32 make
    33 ## Compile the rebuild tool:
    34 cd ../tools
    35 make
     73cd ..
     74./makeioipsl_fcm -arch pgf90 -job 8 > makeioipsl.out 2>&1
    3675
    37 if [[ -f ${whereami}/modipsl/lib/libioipsl.a ]]
     76## 4. Check if the library was indeed built:
     77whereami=`pwd -P`
     78if [[ -f lib/libioipsl.a ]]
    3879  then
    39   echo "OK: ioipsl library is in ${whereami}/modipsl/lib"
     80  echo "OK: ioipsl library is in ${whereami}/lib"
    4081else
    41   echo "Something went wrong..."
     82  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
     83  exit
    4284fi
    4385
     86## 5. Comply with old setup and make appropriate links
     87cd ../LMDZ.COMMON/ioipsl
     88mkdir modipsl
     89cd modipsl
     90# lib + module files
     91mkdir lib
     92cd lib
     93ln -s ../../../../IOIPSL/lib/libioipsl.a .
     94ln -s ../../../../IOIPSL/inc/* .
     95cd ..
     96# rebuild utility
     97mkdir bin
     98cd bin
     99ln -s ../../../../IOIPSL/bin/* .
     100
Note: See TracChangeset for help on using the changeset viewer.