installing an older model version (cclm 4.8) on mistral – in #9: CCLM

in #9: CCLM

<p> The Fopts (see listing below, which is also part of the SP) should work for both CCLM4.8 and 5.0. If you use the dependency and object files from 4.8 and load the modules (already mentioned by the other replies) it will work. Do not use the object and dependency files from 5.0 for 4.8!! Note that the <span class="caps"> GRIBLIB </span> is not part of the SP, if you want to use <span class="caps"> GRIB </span> I/O you need to compile it and set the appropriate paths in the Fopts. </p> <p> <pre> # <ol> <li>preliminary recommendation for <span class="caps">CCLM</span> compiler options on <span class="caps">MISTRAL</span></li> <li>H.-J. Panitz, <span class="caps">IMK</span>-<span class="caps">TRO</span>/KIT, 2015-07-29</li> <li>change compiler, options and libraries according to your needs</li> </ol> # ######### <ol> <li>Mistral (<span class="caps">DKRZ</span>) / Intel Compiler</li> </ol> ######### # <ol> <li>modules and libraries</li> </ol> #</pre> </p> <ol> <li> .. <span class="caps"> MPI </span> <br/> <span class="caps"> MPI </span> _INC = <br/> <span class="caps"> MPI </span> _LIB = </li> </ol> <p> <ol> <li> .. netCDF <br/> <span class="caps"> NETCDFC </span> _ROOT = /sw/rhel6-x64/netcdf/netcdf_c-4.3.2-gcc48 <br/> <span class="caps"> NETCDFF </span> _ROOT = /sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-intel14 <br/> HDF5_ROOT = /sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-gcc48 <br/> <span class="caps"> SZIP </span> _ROOT = /sw/rhel6-x64/sys/libaec-0.3.2-gcc48 </li> </ol> # <br/> NC_INC = -I${NETCDFF_ROOT}/include <br/> NC_LIB = -L${NETCDFC_ROOT}/lib -lnetcdff <br/> NC_LIB += -L${NETCDFF_ROOT}/lib -lnetcdf <br/> NC_LIB += -L${HDF5_ROOT}/lib -lhdf5_hl -lhdf5 -lz <br/> NC_LIB += -L${SZIP_ROOT}/lib -lsz -lm # </p> <p> <ol> <li> .. <span class="caps"> GRIB </span> </li> </ol> # <ol> <li> The <span class="caps"> GRIB </span> Library is not part of the starter package </li> </ol> # <br/> GRIB_LIB= </p> <p> # <ol> <li> name and path of standard binary to be produced <br/> <span class="caps"> PROGRAM </span> = bin/cclm.exe </li> </ol> # </p> <ol> <li> .. other libs, if needed on the computer system (e.g. mathematical packages) <br/> OTHLIBS1= </li> </ol> # <ol> <li> compiler, options and libraries </li> </ol> # <ol> <li> important note wiith respect to the compiler </li> <li> I recommend to use the <span class="caps"> BULL </span> <span class="caps"> MPI </span> environmet. For this the nake of the compiler <br/> is “mpif90” </li> <li> If you want to use the <span class="caps"> INTEL </span> <span class="caps"> MPI </span> environment, then you have to change the name to “mpiifort” </li> <li> F90 = mpif90 </li> </ol> <ol> <li> if you want to use <span class="caps"> GRIB </span> you have to at - <span class="caps"> DGRIB </span> to the <span class="caps"> CPPFLAGS </span> and </li> <li> define the <span class="caps"> GRIBLIB </span> library above <br/> <span class="caps"> CPPFLAGS </span> = - <span class="caps"> DNETCDF </span> - <span class="caps"> DCLM </span> </li> </ol> <p> # <ol> <li> for purposes of first tests you may use in addition to the option below the op <br/> tions -fpe0 -traceback <br/> <span class="caps"> COMFLG </span> = -c -cpp -Os -no-vec -fp-model source $( <span class="caps"> CPPFLAGS </span> ) $( <span class="caps"> MPI </span> _INC) ${NC_INC} - <br/> I$( <span class="caps"> SRCDIR </span> ) </li> </ol> </p> <p> COMFLG1 = $( <span class="caps"> COMFLG </span> ) <br/> COMFLG2 = $( <span class="caps"> COMFLG </span> ) <br/> COMFLG3 = $( <span class="caps"> COMFLG </span> ) # <ol> <li> Compile src_setup_vartab.f90 with optimization level -O0; speeds up the compil <br/> ation very much!! </li> <li> for pruposes of first tests I recommend to use in addition to the option below the optiopn -fpe0 -traceback </li> </ol> # <br/> COMFLG4 = -c -cpp -O0 -no-vec -fp-model source $( <span class="caps"> CPPFLAGS </span> ) $( <span class="caps"> MPI </span> _INC) ${NC <br/> _INC} -I$( <span class="caps"> SRCDIR </span> ) </p> <p> # <br/> LDSEQ = ${F90} <br/> LDPAR = ${F90} <br/> LDFLG = -I$( <span class="caps"> SRCDIR </span> ) <br/> LIB = ${GRIB_LIB} ${NC_LIB} ${MPI_LIB} ${OTHLIBS1} <br/> LIB += -Wl,-rpath,$( <span class="caps"> NETCDFF </span> _ROOT)/lib:$( <span class="caps"> NETCDFC </span> _ROOT)/lib:$(HDF5_ROOT)/l <br/> ib:$( <span class="caps"> SZIP </span> _ROOT)/lib </p> <p> </p>

  @burkhardtrockel in #87364a6

<p> The Fopts (see listing below, which is also part of the SP) should work for both CCLM4.8 and 5.0. If you use the dependency and object files from 4.8 and load the modules (already mentioned by the other replies) it will work. Do not use the object and dependency files from 5.0 for 4.8!! Note that the <span class="caps"> GRIBLIB </span> is not part of the SP, if you want to use <span class="caps"> GRIB </span> I/O you need to compile it and set the appropriate paths in the Fopts. </p> <p> <pre> # <ol> <li>preliminary recommendation for <span class="caps">CCLM</span> compiler options on <span class="caps">MISTRAL</span></li> <li>H.-J. Panitz, <span class="caps">IMK</span>-<span class="caps">TRO</span>/KIT, 2015-07-29</li> <li>change compiler, options and libraries according to your needs</li> </ol> # ######### <ol> <li>Mistral (<span class="caps">DKRZ</span>) / Intel Compiler</li> </ol> ######### # <ol> <li>modules and libraries</li> </ol> #</pre> </p> <ol> <li> .. <span class="caps"> MPI </span> <br/> <span class="caps"> MPI </span> _INC = <br/> <span class="caps"> MPI </span> _LIB = </li> </ol> <p> <ol> <li> .. netCDF <br/> <span class="caps"> NETCDFC </span> _ROOT = /sw/rhel6-x64/netcdf/netcdf_c-4.3.2-gcc48 <br/> <span class="caps"> NETCDFF </span> _ROOT = /sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-intel14 <br/> HDF5_ROOT = /sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-gcc48 <br/> <span class="caps"> SZIP </span> _ROOT = /sw/rhel6-x64/sys/libaec-0.3.2-gcc48 </li> </ol> # <br/> NC_INC = -I${NETCDFF_ROOT}/include <br/> NC_LIB = -L${NETCDFC_ROOT}/lib -lnetcdff <br/> NC_LIB += -L${NETCDFF_ROOT}/lib -lnetcdf <br/> NC_LIB += -L${HDF5_ROOT}/lib -lhdf5_hl -lhdf5 -lz <br/> NC_LIB += -L${SZIP_ROOT}/lib -lsz -lm # </p> <p> <ol> <li> .. <span class="caps"> GRIB </span> </li> </ol> # <ol> <li> The <span class="caps"> GRIB </span> Library is not part of the starter package </li> </ol> # <br/> GRIB_LIB= </p> <p> # <ol> <li> name and path of standard binary to be produced <br/> <span class="caps"> PROGRAM </span> = bin/cclm.exe </li> </ol> # </p> <ol> <li> .. other libs, if needed on the computer system (e.g. mathematical packages) <br/> OTHLIBS1= </li> </ol> # <ol> <li> compiler, options and libraries </li> </ol> # <ol> <li> important note wiith respect to the compiler </li> <li> I recommend to use the <span class="caps"> BULL </span> <span class="caps"> MPI </span> environmet. For this the nake of the compiler <br/> is “mpif90” </li> <li> If you want to use the <span class="caps"> INTEL </span> <span class="caps"> MPI </span> environment, then you have to change the name to “mpiifort” </li> <li> F90 = mpif90 </li> </ol> <ol> <li> if you want to use <span class="caps"> GRIB </span> you have to at - <span class="caps"> DGRIB </span> to the <span class="caps"> CPPFLAGS </span> and </li> <li> define the <span class="caps"> GRIBLIB </span> library above <br/> <span class="caps"> CPPFLAGS </span> = - <span class="caps"> DNETCDF </span> - <span class="caps"> DCLM </span> </li> </ol> <p> # <ol> <li> for purposes of first tests you may use in addition to the option below the op <br/> tions -fpe0 -traceback <br/> <span class="caps"> COMFLG </span> = -c -cpp -Os -no-vec -fp-model source $( <span class="caps"> CPPFLAGS </span> ) $( <span class="caps"> MPI </span> _INC) ${NC_INC} - <br/> I$( <span class="caps"> SRCDIR </span> ) </li> </ol> </p> <p> COMFLG1 = $( <span class="caps"> COMFLG </span> ) <br/> COMFLG2 = $( <span class="caps"> COMFLG </span> ) <br/> COMFLG3 = $( <span class="caps"> COMFLG </span> ) # <ol> <li> Compile src_setup_vartab.f90 with optimization level -O0; speeds up the compil <br/> ation very much!! </li> <li> for pruposes of first tests I recommend to use in addition to the option below the optiopn -fpe0 -traceback </li> </ol> # <br/> COMFLG4 = -c -cpp -O0 -no-vec -fp-model source $( <span class="caps"> CPPFLAGS </span> ) $( <span class="caps"> MPI </span> _INC) ${NC <br/> _INC} -I$( <span class="caps"> SRCDIR </span> ) </p> <p> # <br/> LDSEQ = ${F90} <br/> LDPAR = ${F90} <br/> LDFLG = -I$( <span class="caps"> SRCDIR </span> ) <br/> LIB = ${GRIB_LIB} ${NC_LIB} ${MPI_LIB} ${OTHLIBS1} <br/> LIB += -Wl,-rpath,$( <span class="caps"> NETCDFF </span> _ROOT)/lib:$( <span class="caps"> NETCDFC </span> _ROOT)/lib:$(HDF5_ROOT)/l <br/> ib:$( <span class="caps"> SZIP </span> _ROOT)/lib </p> <p> </p>

The Fopts (see listing below, which is also part of the SP) should work for both CCLM4.8 and 5.0. If you use the dependency and object files from 4.8 and load the modules (already mentioned by the other replies) it will work. Do not use the object and dependency files from 5.0 for 4.8!! Note that the GRIBLIB is not part of the SP, if you want to use GRIB I/O you need to compile it and set the appropriate paths in the Fopts.

#
	
  1. preliminary recommendation for CCLM compiler options on MISTRAL
  2. H.-J. Panitz, IMK-TRO/KIT, 2015-07-29
  3. change compiler, options and libraries according to your needs
# #########
  1. Mistral (DKRZ) / Intel Compiler
######### #
  1. modules and libraries
#

  1. .. MPI
    MPI _INC =
    MPI _LIB =

  1. .. netCDF
    NETCDFC _ROOT = /sw/rhel6-x64/netcdf/netcdf_c-4.3.2-gcc48
    NETCDFF _ROOT = /sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-intel14
    HDF5_ROOT = /sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-gcc48
    SZIP _ROOT = /sw/rhel6-x64/sys/libaec-0.3.2-gcc48
#
NC_INC = -I${NETCDFF_ROOT}/include
NC_LIB = -L${NETCDFC_ROOT}/lib -lnetcdff
NC_LIB += -L${NETCDFF_ROOT}/lib -lnetcdf
NC_LIB += -L${HDF5_ROOT}/lib -lhdf5_hl -lhdf5 -lz
NC_LIB += -L${SZIP_ROOT}/lib -lsz -lm #

  1. .. GRIB
#
  1. The GRIB Library is not part of the starter package
#
GRIB_LIB=

#

  1. name and path of standard binary to be produced
    PROGRAM = bin/cclm.exe
#

  1. .. other libs, if needed on the computer system (e.g. mathematical packages)
    OTHLIBS1=
#
  1. compiler, options and libraries
#
  1. important note wiith respect to the compiler
  2. I recommend to use the BULL MPI environmet. For this the nake of the compiler
    is “mpif90”
  3. If you want to use the INTEL MPI environment, then you have to change the name to “mpiifort”
  4. F90 = mpif90
  1. if you want to use GRIB you have to at - DGRIB to the CPPFLAGS and
  2. define the GRIBLIB library above
    CPPFLAGS = - DNETCDF - DCLM

#

  1. for purposes of first tests you may use in addition to the option below the op
    tions -fpe0 -traceback
    COMFLG = -c -cpp -Os -no-vec -fp-model source $( CPPFLAGS ) $( MPI _INC) ${NC_INC} -
    I$( SRCDIR )

COMFLG1 = $( COMFLG )
COMFLG2 = $( COMFLG )
COMFLG3 = $( COMFLG ) #

  1. Compile src_setup_vartab.f90 with optimization level -O0; speeds up the compil
    ation very much!!
  2. for pruposes of first tests I recommend to use in addition to the option below the optiopn -fpe0 -traceback
#
COMFLG4 = -c -cpp -O0 -no-vec -fp-model source $( CPPFLAGS ) $( MPI _INC) ${NC
_INC} -I$( SRCDIR )

#
LDSEQ = ${F90}
LDPAR = ${F90}
LDFLG = -I$( SRCDIR )
LIB = ${GRIB_LIB} ${NC_LIB} ${MPI_LIB} ${OTHLIBS1}
LIB += -Wl,-rpath,$( NETCDFF _ROOT)/lib:$( NETCDFC _ROOT)/lib:$(HDF5_ROOT)/l
ib:$( SZIP _ROOT)/lib