Project

General

Profile

installing an older model version (cclm 4.8) on mistral

Added by Alexander Walter over 4 years ago

Hi,
in order to keep my results (of model simulations) consistent with previous ones I tried to install the same version of cfu/int2lm/cclm (from starter package 1.3.4) on mistral as I used on another machine before.

I get the error message:

/bin/sh: mpif90: command not found
make: *** [/pf/b/ ....] error 127

Does anybody have a working configuration of Fopts/Makefile for installing cclm 4.8 on mistral ...
OR can tell me what’s the reason for this error ?

Thanks.


Replies (13)

RE: installing an older model version (cclm 4.8) on mistral - Added by Oliver Gutjahr over 4 years ago

It seems you did not load any compiler? (There is none loaded as default on Mistral)

e.g.
module load fca
module load mxm
module load bullxmpi_mlx_mt/bullxmpi_mlx_mt-1.2.9.2

RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter over 4 years ago

Oliver Gutjahr wrote:

It seems you did not load any compiler? (There is none loaded as default on Mistral)

e.g.
module load fca
module load mxm
module load bullxmpi_mlx_mt/bullxmpi_mlx_mt-1.2.9.2

Thanks, I didn’t know that.
The Fortran compiler according to the Fopts would be mpxlf_r, the C compiler is mpcc_r.
I don’t see them in module avail.

Which should I take instead?

RE: installing an older model version (cclm 4.8) on mistral - Added by Oliver Gutjahr over 4 years ago

You cannot use the Fopts of the starter package v1.3.4 on Mistral, as it was meant for the former blizzard machine.

If I am not wrong, it might be possible just to use the Fopts (and the mpif90, i.e. bullxmpi) from the newest version of the starter package (@Burkhardt: correct me if I’m wrong).

RE: installing an older model version (cclm 4.8) on mistral - Added by Hans-Juergen Panitz over 4 years ago

Hi Alexander,

Please, have a look into the Redmine of CLM-Community.

http://redc.clm-community.eu/projects/cclmdkrz/wiki/

Even two years ago advices are given there.

Furthermore, have a look into documents provided by DKRZ on their homepage.

Hans-Juergen

RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter over 4 years ago

@ Oliver Gutjahr

... it might be possible just to use the Fopts from the newest version of the starter package

That worked for cfu.

@ Hans-Juergen Panitz

have a look into documents provided by DKRZ on their homepage

I did not find there any hacks concerning CCLM (compiler settings).

The link you posted concerns compiler options for cclm. What about int2lm ?
And what about the grib library, neccessary to compile int2lm? It seems there is no such folder “grib” in newer SP versions, where I could take the Fopts file from.

RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter over 4 years ago

I have now installed cfu.

For int2lm I have copied the Fopts, ObjFiles, ObjDependencies from SP 2.4.
But which MPI_INC, MPI_LIB I should use?
And where do I get the Grib library from (since there is no such folder in SP 2.4)?

RE: installing an older model version (cclm 4.8) on mistral - Added by Hans-Juergen Panitz over 4 years ago

Again my advice to look into the CLM Redmine Wiki and to read Burkhardt’s and my recommendations there.

You find

- the required modules that have to be loaded

- a file “Fopts” for CCLM

Of course, you can also consider this Fopts file as an example file for the compilation of INT2LM.
Only a few adaptions are necessary which might depend on the INT2LM version you want to use, and which are related to the conditional compiler options in CPPFLAGS. Read the misc-global file in the DOCS directory of your INT2LM version.

Furthermore, the file shows a path to a working version of GRIB_LIB.
Note that it is GRIB1!
Try whether you have access to this lib.

Hans-Jürgen

RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter over 4 years ago

Sorry for bothering you again.

Hans-Juergen Panitz wrote:

- the required modules that have to be loaded

The required modules are now loaded. (also in bash_profile)

- a file “Fopts” for CCLM
Of course, you can also consider this Fopts file as an example file for the compilation of INT2LM.

I took the Fopts from SP 2.4 (int2lm) and adapted a few things from the Fopts from the link you provided.
Still I have no clue how to set the variables MPI_INC, MPI_LIB. There are no recommandations in the example script for that.

Furthermore, the file shows a path to a working version of GRIB_LIB.
Note that it is GRIB1!

I adapted this.

When typing “make” compilation starts for some files but then I get the error

make: *** Keine Regel vorhanden, um das Target ».../src/int2lm/src/info_int2lm.f90«
benötigt von ».../src/int2lm/obj/info_int2lm.o«, zu erstellen.

RE: installing an older model version (cclm 4.8) on mistral - Added by Hans-Juergen Panitz over 4 years ago

“Still I have no clue how to set the variables MPI_INC, MPI_LIB. There are no recommandations in the example script for that”

There is no need to set these variables since you loaded all necessary modules, and if you did adapt your FOPTS correctly from the example

“make: *** Keine Regel vorhanden, um das Target ».../src/int2lm/src/info_int2lm.f90«
benötigt von ».../src/int2lm/obj/info_int2lm.o«, zu erstellen.”

Did you create the directory “obj” in the folder where you execute “make”?

Hans-Jürgen

RE: installing an older model version (cclm 4.8) on mistral - Added by Burkhardt Rockel over 4 years ago

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.

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

#... MPI
MPI_INC  = 
MPI_LIB  =

#... 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
#

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

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

#... other libs, if needed on the computer system (e.g. mathematical packages)
OTHLIBS1=
#
# compiler, options and libraries
#
# important note wiith respect to the compiler
# I recommend to use the BULL MPI environmet. For this the nake of the compiler 
is "mpif90" 
# If you want to use the INTEL MPI environment, then you have to change the name
 to "mpiifort" 
# 
F90          = mpif90

# if you want to use GRIB you have to at -DGRIB to the CPPFLAGS and 
#          define the GRIBLIB library above
CPPFLAGS     = -DNETCDF -DCLM 

#
# 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)
#
# Compile src_setup_vartab.f90 with optimization level -O0; speeds up the compil
ation very much!!
# 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

RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter over 4 years ago

For int2lm it worked fine using the Fopts as described + dependency and object files from int2lm 1.10,

But it does not work analogue for cclm (dependency and object files from cclm 4.8 + recommended Fopts).

Some files are compiled, then there are a lot of warnings, remarks and errors.
At the end “make” does not create the binary. (I’ve added the output)

The modules are loaded.
Thanks.

out.txt out.txt 79.3 KB

RE: installing an older model version (cclm 4.8) on mistral - Added by Hans-Juergen Panitz over 4 years ago

In your previous posts you asked for the GRIB-lib, because, as I assume, you realized that CCLM_4-8 needs it.
I provided you with the information where to find a GRIB-lib version working on MISTRAL.

So, why didn’t you use it?

Don’t tell me “because it is not included in the recommended Fopts version for CCLM”.

This version also tells you at the very beginning that it is “preliminary” and that you have to adapt it “to your needs”.
And you find a line telling you unequivocally that it prepared for the definition of the GRIB-Lib.

The Fopts version you used seems to be part of a recent version of the starter package that applies CCLM_5-8-9.
In CCLM_5-8-x, (x=1,....,9) GRIB-Lib can still be used, but the usage has to be defined explicitly in the compiler-flags (CPPFLAGS) as the conditional option "-DGRIB”, similar to "-DNETCDF” for the
usage of NetCDF.

Hans-Juergen

RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter over 4 years ago

Hans-Juergen Panitz wrote:

Don’t tell me “because it is not included in the recommended Fopts version for CCLM”.

How could I dare ...

... to think this is a forum where people, not completely familiar with technical issues get answers on questions, that are trivial for you?
Dont worry, I’m not going to waste your precious time again.

    (1-13/13)