Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

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=xatmCOMP_LND=xlndCOMP_ICE=xiceCOMP_GLC=xglcCOMP_OCN=xocnCOMP_CPL=cplCCSM_LCOMPSET=X_PRESENT_DAYCCSM_SCOMPSET=XCOMP_RUN_BARRIERS=FALSECOMP_INTERFACE=MCTBUILD_COMPLETE=TRUESMP_BUILD=a0l0i0o0g0c0SMP_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 SUCCESSFULLYWed Jan 21 10:08:36 PST 2015 -- CSM EXECUTION BEGINS HEREWed Jan 21 10:08:46 PST 2015 -- CSM EXECUTION HAS FINISHEDModel 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 faultsrun: error: sh-2-12: tasks 8-15: Segmentation fault   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

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

santos

Member
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.
 
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 20131008I 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_VMATHThanks!- Chris 
 
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
 

jedwards

CSEG and Liaisons
Staff member
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
 

jedwards

CSEG and Liaisons
Staff member
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 beFFLAGS := -O -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none -fno-range-check $(CPPDEFS)
 

santos

Member
The original generic_linux_intel FFLAGS is this:FFLAGS        := $(CPPDEFS) -g -fp-model precise -convert big_endian -assume byterecl -ftz -tracebackBut yours is:FFLAGS := -O -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none -fno-range-checkSo 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. 
 
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-160042ERROR: 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 
 
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. 
 
Top