## installing an older model version (cclm 4.8) on mistral

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 Gutjahr12 months ago

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

e.g.

#### RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter 12 months ago

Oliver Gutjahr wrote:

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

e.g.

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.

#### RE: installing an older model version (cclm 4.8) on mistral - Added by Oliver Gutjahr12 months 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 Panitz12 months 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 12 months 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 12 months 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 Panitz12 months 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!

Hans-Jürgen

#### RE: installing an older model version (cclm 4.8) on mistral - Added by Alexander Walter 12 months 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!

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 Panitz12 months 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 Rockel12 months 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
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 12 months 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)

Thanks.

#### RE: installing an older model version (cclm 4.8) on mistral - Added by Hans-Juergen Panitz12 months 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 12 months 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)