wiki:DevelopmentActivities/ORCHIDEE-HIGH-LATITUDES

ORCHIDEE-HIGH-LATITUDES

This branch results from the merge of three versions developed by Isabelle Gouttevin (CWRR soil freezing hydrology), Charles Koven (permafrost soil carbon) and Bruno Ringeval (wetlands and methane emissions).

Notes on the compilation

This version needs specific options for compilation (Obelix + Titane only).
If you use modipsl, you have to add the option -mcmodel=medium as an option of the compiler and to link by the option -mcmodel=medium -shared-intel.This option works on sequential and parallel mode.
Without this option, you will have the following error message at the end of the compilation :

/applications/intel/cprof/11.1.056/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xa38): relocation truncated to fit:
R_X86_64_PC32 against `tmp_ptr'
for_diags_intel.c:(.text+0xab9): relocation truncated to fit:
R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section
in
/applications/intel/cprof/11.1.056/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xac2): relocation truncated to fit:
R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section
in
/applications/intel/cprof/11.1.056/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xaf4): additional relocation overflows omitted
from the output
gmake[1]: *** [../../bin/orchidee_ol] Error 1
gmake[1]: Leaving directory
`/home/cont003/p25krin/ORCHIDEE_HIGH_LAT/modipsl/modeles/ORCHIDEE_OL'
make: *** [orchidee_ol] Error 2

In modipsl/util, edit AA_make.gdef and look for the host (lxiv8 for obelix and titane) and modify it. Look at the following of a correct AA_make.gdef :

#-Q- lxiv8    #- Global definitions for Intel compiler (ifort) at LSCE
#-Q- lxiv8    M_K = gmake
#-Q- lxiv8    P_C = cpp
#-Q- lxiv8    P_O = -P -C $(P_P)
#-Q- lxiv8    F_C = ifort -c -cpp
#-Q- lxiv8    #-D- MD    F_D = -g
#-Q- lxiv8    #-D- MN    F_D =
#-Q- lxiv8    #-P- I4R4  F_P = -i4
#-Q- lxiv8    #-P- I4R8  F_P = -i4 -r8
#-Q- lxiv8    #-P- I8R8  F_P = -i8 -r8
#-Q- lxiv8    F_O = -mcmodel=medium -O $(F_D) $(F_P) -I$(MODDIR) -module $(MODDIR)
#-Q- lxiv8    F_L = ifort -mcmodel=medium -shared-intel
#-Q- lxiv8    M_M = 0
#-Q- lxiv8    L_X = 0
#-Q- lxiv8    L_O = -Vaxlib
#-Q- lxiv8    A_C = ar -r
#-Q- lxiv8    A_G = ar -x
#-Q- lxiv8    C_C = cc -c
#-Q- lxiv8    C_O =
#-Q- lxiv8    C_L = cc
#-Q- lxiv8    #-
#-Q- lxiv8    NCDF_INC = /usr/local/include
#-Q- lxiv8    NCDF_LIB = -L/usr/local/lib -lnetcdff -lnetcdf
#-Q- lxiv8    #-

After that, execute ./ins_make and compile it from modeles/ORCHIDEE_OL. The compilation should be OK.

Last modified 12 years ago Last modified on 2012-04-17T16:53:53+02:00