Main menu

Navigation

Porting CESM1.0.6 to generic machine

12 posts / 0 new
Last post
chrisbs@...
Porting CESM1.0.6 to generic machine

Hi,

I am porting CESM1.0.6 to a new machine (generic linux intel).  I am on step 5 (running the job) of the “porting using a generic machine” instructions.  Our cluster uses a SLURM management system for submitting jobs to the queue. I have modified the .run script accordingly (as far as I can tell).  I have attached the .run script.  

After submitting the job the log file reads:

 

CCSM_COMPSET=X_PRESENT_DAY (X)

COMP_ATM=xatm

COMP_LND=xlnd

COMP_ICE=xice

COMP_GLC=xglc

COMP_OCN=xocn

COMP_CPL=cpl

CCSM_LCOMPSET=X_PRESENT_DAY

CCSM_SCOMPSET=X

COMP_RUN_BARRIERS=FALSE

COMP_INTERFACE=MCT

BUILD_COMPLETE=TRUE

SMP_BUILD=a0l0i0o0g0c0

SMP_VALUE=a0l0i0o0g0c0

-------------------------------------------------------------------------

 CCSM BUILDNML SCRIPT STARTING

 - To prestage restarts, untar a restart.tar file into /scratch/users/chriss1//test1/run

 - Create modelio namelist input files

 CCSM BUILDNML SCRIPT HAS FINISHED SUCCESSFULLY

-------------------------------------------------------------------------

 CCSM PRESTAGE SCRIPT STARTING

 - CCSM input data directory, DIN_LOC_ROOT_CSMDATA, is /home/chriss1/cesm_input

 - Case input data directory, DIN_LOC_ROOT, is /home/chriss1/cesm_input

 - Checking the existence of input datasets in DIN_LOC_ROOT

 CCSM PRESTAGE SCRIPT HAS FINISHED SUCCESSFULLY

Wed Jan 21 10:08:36 PST 2015 -- CSM EXECUTION BEGINS HERE

Wed Jan 21 10:08:46 PST 2015 -- CSM EXECUTION HAS FINISHED

Model did not complete - see /scratch/users/chriss1//test1/run/cpl.log.150121-100810

 

The cpl.log file in my run directory gives the following error message:

 

(seq_mct_drv) : Initialize each component: atm, lnd, ocn, and ice

(shr_sys_flush) WARNING: no implementation for this architecture

(seq_mct_drv) : Initialize atm component

(shr_sys_flush) WARNING: no implementation for this architecture

(shr_sys_flush) WARNING: no implementation for this architecture

 

Additionally, the ccsm.log file reads:

 

srun: error: sh-2-11: tasks 0-7: Segmentation fault

srun: error: sh-2-12: tasks 8-15: Segmentation fault

  

0 0 1 329 1877 University of Michigan 15 4 2202 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

I’m not sure what the “WARNING: no implementation for this architecture” statement means.  Any help with this problem would be great.  Please let me know any other information you may need to assist me.  Thanks!

santos

The shr_sys_flush warning is due to not defining -DLINUX, I think. Maybe this is an issue of upper vs. lowercase, e.g. the scripts define "-DLinux", so you have to add "-DLINUX" to the CPPDEFS in the Macros file.

However, this probably isn't the cause of the segfault. If you can attach the entire ccsm.log file, that would be helpful.

Sean Patrick Santos

CESM Software Engineering Group

chrisbs@...

Thanks for your reply.  Unfortunately, the segfault statements are the only things in the ccsm.log file.

santos

That's unusual. You probably do want to add -DLINUX to the Macros file, which will hopefully fix the flush statement, so at least something gets into that log during future attempts.

You can try running with DEBUG set to TRUE. You can also check for core files in your run directory, which can be run through a debugger (they may not be helpful unless you set DEBUG or add "-g" to your flags in the Macros file). You have not said which version of ifort you are running, which may be relevant.

Sean Patrick Santos

CESM Software Engineering Group

chrisbs@...

Hi Sean,

The ifort I am using is:  Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.1.106 Build 20131008

I am new to this side (porting, etc.) of the climate modeling process, so I'm trying to figure this all out as I go. When you say I want to add -DLINUX to the Macros file, does that mean I should open the "Macros.generic_linux_intel" file and add -DLINUX to the end of the line that says:

CPPDEFS += -DSYSLINUX -DSEQ_$(FRAMEWORK) -DFORTRANUNDERSCORE -DNO_R16 -DNO_SHR_VMATH

Thanks!

- Chris

 

chrisbs@...

Hmm, no luck with adding -DLINUX to the Macros file (I've attached the file).  I also tried running with the DEBUG option in env_build.xml set to TRUE, but this didn't yeild any insights (same error messages).  All other log files in the run directory are empty.

Any thoughts on what else could be causing the "WARNING: no implementation for this architecture" error?

Thanks,

Chris

Attachment: 
jedwards

Can you send us your csm_share build log in particular we are looking for the command that was used to build shr_sys_mod.F90

CESM Software Engineer

chrisbs@...

Hi,

I've attached the csm_share build log.

Thank you,

Chris

jedwards

In your Macros file you have:

FFLAGS := -O -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none -fno-range-check

 

change this to be

FFLAGS := -O -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none -fno-range-check $(CPPDEFS)

CESM Software Engineer

chrisbs@...

Thanks. I made the switch, cleaned the build and tried to rebuild.  I get the following message when building:

 

ERROR: ccsm.buildexe.csh failed, see /scratch/users/chriss1/test1/run/ccsm.bldlog.150122-160042

ERROR: cat /scratch/users/chriss1/test1/run/ccsm.bldlog.150122-160042

 

I've attached the ccsm.bldlog.  I am not sure how to address this error.  Any help is greatly appreciated.

Thanks,

Chris

 
Attachment: 
santos

The original generic_linux_intel FFLAGS is this:

FFLAGS        := $(CPPDEFS) -g -fp-model precise -convert big_endian -assume byterecl -ftz -traceback

But yours is:

FFLAGS := -O -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none -fno-range-check

So one obvious issue is that it doesn't include $(CPPDEFS). But the bigger issue is that these are all gfortran flags, and your buildlog shows that you're using an OpenMPI directory with "gcc" in the name, which means that it was probably built with gfortran, and that mpif90 is probably gfortran.

If you're intending to use the Intel Fortran compiler (ifort), you need to have an MPI implementation that was built with ifort on your system, and I would reset your Macros file (or at least all of the FFLAGS and other compiler flags) to the original Macros.generic_linux_intel.

If you're intending to use gfortran instead, I think that that's outside of what we've been testing with CESM 1.0.6 (our GNU compiler support was weaker in the CESM 1.0 series). I'm not sure how much work a gcc/gfortran port would be, but at a minimum, FFLAGS needs to have $(CPPDEFS) somewhere in it, and you need a gfortran NETCDF_PATH in that case as well.

 

Sean Patrick Santos

CESM Software Engineering Group

chrisbs@...

Okay, thanks.  I will get in contact with the staff of our cluster and see if we can make progress given this new information.  Thanks for your help.

 

Log in or register to post comments

Who's new

  • jwolff
  • tinna.gunnarsdo...
  • sarthak2235@...
  • eolivares@...
  • shubham.gandhi@...