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 with NUOPC errors.

Jbuzan

Jonathan R. Buzan
Member
Hello CESM Users,

I am attempting to port CESM to Eiger CSCS computational system. I have currently built ESMF and NCAR PIO using gnu and mpich. I am attempting to turn on NUOPC.
------------------------------------------------------------------------
git describe:
release-cesm2.2.2-0-g779b0a3
------------------------------------------------------------------------
But I am having trouble interpreting the error that I am encountering.
./xmlchange CPL_SEQ_OPTION='NUOPC'
./xmlchange COMP_INTERFACE='nuopc'
./xmlchange USE_ESMF_LIB='TRUE'

export PIO_PATH=/users/jbuzan/pio_jon/PIO/
export ESMF_PATH=/users/jbuzan/esmf_jon/ESMF/



##############################################################################################
Run "case.setup"
Run "case.setup Debug"
##############################################################################################
Setting Environment OMP_STACKSIZE=256M
Setting Environment MPI_TYPE_DEPTH=16
Setting resource.RLIMIT_STACK to -1 from (-1, -1)
copying /users/jbuzan/CESM2_2_2/CESM/cime/config/cesm/machines/Depends.gnu -> /capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_31
/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_31/env_mach_specific.xml already exists, delete to replace
/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_31/env_mach_specific.xml already exists, delete to replace
Traceback (most recent call last):
File "/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_31/./case.setup", line 67, in <module>
_main_func(__doc__)
File "/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_31/./case.setup", line 64, in _main_func
case.case_setup(clean=clean, test_mode=test_mode, reset=reset, keep=keep)
File "/users/jbuzan/CESM2_2_2/CESM/cime/scripts/Tools/../../scripts/lib/CIME/case/case_setup.py", line 270, in case_setup
run_and_log_case_status(functor, phase, caseroot=caseroot)
File "/users/jbuzan/CESM2_2_2/CESM/cime/scripts/Tools/../../scripts/lib/CIME/utils.py", line 1768, in run_and_log_case_status
rv = func()
^^^^^^
File "/users/jbuzan/CESM2_2_2/CESM/cime/scripts/Tools/../../scripts/lib/CIME/case/case_setup.py", line 254, in <lambda>
functor = lambda: _case_setup_impl(self, caseroot, clean=clean, test_mode=test_mode, reset=reset, keep=keep)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/jbuzan/CESM2_2_2/CESM/cime/scripts/Tools/../../scripts/lib/CIME/case/case_setup.py", line 161, in _case_setup_impl
if ninst > ntasks:
^^^^^^^^^^^^^^
TypeError: '>' not supported between instances of 'NoneType' and 'int'

Attached are the logs and config .xml files. I am not sure what the error is. Should I be using a version of CESM with NUOPC as default? if so, which version is that?

Cheers,
-Jonathan
 

Attachments

  • case.setup.log.txt
    260.2 KB · Views: 3
  • config_batch.xml.txt
    2.8 KB · Views: 2
  • config_compilers.xml.txt
    53.2 KB · Views: 2
  • config_machines.xml.txt
    6.1 KB · Views: 1

jedwards

CSEG and Liaisons
Staff member
You need to set the nuopc option before calling create_newcase. You can do this using option --driver nuopc
 

Jbuzan

Jonathan R. Buzan
Member
Hi Jim,

Thanks for that flag. I get past the ./case.setup step.
However, I am erroring out on:

f951: Warning: Nonexistent include directory /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_32/Compiler_BHIST_T_32/bld/gnu/mpich/nodebug/nothreads/nuopc/nuopc/esmf/include [-Wmissing-include-dirs]
f951: Warning: Nonexistent include directory /users/jbuzan/CESM2_2_2/CESM/cime/src/share/streams_nuopc [-Wmissing-include-dirs]
/users/jbuzan/CESM2_2_2/CESM/cime/src/share/nuopc/shr_fire_emis_mod.F90:128:132:
128 | if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
|
Error: Line truncated at (1) [-Werror=line-truncation]
/users/jbuzan/CESM2_2_2/CESM/cime/src/share/nuopc/shr_fire_emis_mod.F90:128:84:

I built my own ESMF and PIO. I am not sure if these are being passed correctly, though.
 

Jbuzan

Jonathan R. Buzan
Member
I am attaching the full log for clarity.
 

Attachments

  • csm_share.bldlog.240705-133311.txt
    223.4 KB · Views: 2

jedwards

CSEG and Liaisons
Staff member
I think that you need to add a couple of flags to your compiler in config_compilers.xml
Code:
-ffree-line-length-none -ffixed-line-length-none  -fallow-argument-mismatch  -fallow-invalid-boz
 

Jbuzan

Jonathan R. Buzan
Member
Thanks Jim.
I am getting a new error—progress!
ESMFMFILE define error. I need to read about that, because I pass:
Macros.make:ESMF_LIBDIR := /users/jbuzan/esmf_jon/ESMF/lib/libO/Linux.gfortran.64.mpich.default/

which I thought was adequate for the env_build.xml:
env_build.xml: <desc>TRUE implies using the ESMF library specified by ESMF_LIBDIR or ESMFMKFILE</desc>

I'll see if I can figure out what to give for the ESMFMKFILE.

Cheers,
-Jonathan

Running cmake for CDEPS
cmake_flags -DCIME_MODEL=cesm -Dcompile_threaded=FALSE -DINSTALL_SHAREDPATH=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/cdeps -DCASEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_33" -DCASETOOLS="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_33/Tools" -DCIMEROOT="/users/jbuzan/CESM2_2_2/CESM/cime" -DCOMP_INTERFACE="nuopc" -DCOMPILER="gnu" -DDEBUG="FALSE" -DEXEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld" -DINCROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/lib/include" -DLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/lib" -DMACH="eiger" -DMPILIB="mpich" -DNINST_VALUE="c1a1l1i1o1r1g1w1" -DOS="LINUX" -DPIO_VERSION="2" -DSHAREDLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld" -DSMP_PRESENT="FALSE" -DUSE_ESMF_LIB="TRUE" -DUSE_MOAB="FALSE" -DCAM_CONFIG_OPTS="-phys cam6 -co2_cycle" -DCOMP_LND="clm" -DCISM_USE_TRILINOS="FALSE" -DUSE_TRILINOS="FALSE" -DUSE_ALBANY="FALSE" -DUSE_PETSC="FALSE" -DCMAKE_C_COMPILER_WORKS=1 -DCMAKE_CXX_COMPILER_WORKS=1 -DCMAKE_Fortran_COMPILER_WORKS=1 -DCMAKE_C_COMPILER=cc -DCMAKE_CXX_COMPILER=CC -DCMAKE_Fortran_COMPILER=ftn -DCMAKE_INSTALL_PREFIX=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc -DLIBROOT=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc /users/jbuzan/CESM2_2_2/CESM/components/cdeps -DMPILIB=mpich -DPIO_C_LIBRARY=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/lib -DPIO_C_INCLUDE_DIR=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/include -DPIO_Fortran_LIBRARY=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/lib -DPIO_Fortran_INCLUDE_DIR=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/include
ERROR: ERROR from cmake output=-- The Fortran compiler identification is GNU 12.3.0
-- Cray Programming Environment 2.7.30 Fortran
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /opt/cray/pe/craype/2.7.30/bin/ftn - skipped
-- Configuring incomplete, errors occurred!, error=CMake Error at cmake/FindESMF.cmake:5 (message):
ESMFMKFILE env variable is not defined
Call Stack (most recent call first):
 

Jbuzan

Jonathan R. Buzan
Member
Hi Jim,

I think this is good news. CESM made it out of CDEPS and into the building the lnd. However, I am encountering an error that is a mystery to me. I chose the out-of-the-box BHIST compset with 0.9x1.25 resolution. This I believe set the RUN_TYPE to startup. and then automatically set the CISM_EVOLVE to FALSE. Yet, the error I am encountering is related to the CISM_EVOLVE.

Building gptl with output to file /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/gptl.bldlog.240705-151315
Calling /users/jbuzan/CESM2_2_2/CESM/cime/src/build_scripts/buildlib.gptl
Component gptl build complete with 2 warnings
Building mct with output to file /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/mct.bldlog.240705-151315
Calling /users/jbuzan/CESM2_2_2/CESM/cime/src/build_scripts/buildlib.mct
Component mct build complete with 48 warnings
Building pio with output to file /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/pio.bldlog.240705-151315
Calling /users/jbuzan/CESM2_2_2/CESM/cime/src/build_scripts/buildlib.pio
Component pio build complete with 10 warnings
Building csm_share with output to file /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/csm_share.bldlog.240705-151315
Calling /users/jbuzan/CESM2_2_2/CESM/cime/src/build_scripts/buildlib.csm_share
Component csm_share build complete with 28 warnings
Building CDEPS with output to file /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/CDEPS.bldlog.240705-151315
Calling /users/jbuzan/CESM2_2_2/CESM/components/cdeps/cime_config/buildlib
- Building clm library
Building lnd with output to /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lnd.bldlog.240705-151315
Error: UNIT specification at (1) must be an INTEGER expression or a CHARACTER variable
Component lnd build complete with 13 warnings
clm built in 48.862386 seconds

lnd.bldlog:
f951: Warning: Nonexistent include directory ‘/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/gnu/mpich/nodebug/nothreads/nuopc/finclude’ [-Wmissing-include-dirs]
/users/jbuzan/CESM2_2_2/CESM/components/clm/src/cpl/nuopc/lnd_comp_nuopc.F90:303:17:
303 | write (cism_evolve,*) cvalue
| 1
Error: UNIT specification at (1) must be an INTEGER expression or a CHARACTER variable
gmake: *** [/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile:999: lnd_comp_nuopc.o] Error 1
ERROR: Command gmake complib -j 8 MODEL=clm COMPLIB=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/gnu/mpich/nodebug/nothreads/nuopc/nuopc/esmf/lib/libclm.a -f /capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile CIME_MODEL=cesm SMP=FALSE CASEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36" CASETOOLS="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools" CIMEROOT="/users/jbuzan/CESM2_2_2/CESM/cime" COMP_INTERFACE="nuopc" COMPILER="gnu" DEBUG="FALSE" EXEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld" INCROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib/include" LIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib" MACH="eiger" MPILIB="mpich" NINST_VALUE="c1a1l1i1o1r1g1w1" OS="LINUX" PIO_VERSION="2" SHAREDLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld" SMP_PRESENT="FALSE" USE_ESMF_LIB="TRUE" USE_MOAB="FALSE" CAM_CONFIG_OPTS="-phys cam6 -co2_cycle" COMP_LND="clm" CISM_USE_TRILINOS="FALSE" USE_TRILINOS="FALSE" USE_ALBANY="FALSE" USE_PETSC="FALSE" failed with rc=2
 

Attachments

  • lnd.bldlog.240705-151315.txt
    963.6 KB · Views: 0

jedwards

CSEG and Liaisons
Staff member
This is a bug in the code that is picked up by newer gnu compilers - the fix is to replace line 303 of file /users/jbuzan/CESM2_2_2/CESM/components/clm/src/cpl/nuopc/lnd_comp_nuopc.F90 with
Code:
       if (trim(cvalue) == '.true.') then                                                     
          cism_evolve = .true.                                                                 
       else if (trim(cvalue) == '.false.') then                                               
          cism_evolve = .false.                                                               
       else                                                                                   
          call shr_sys_abort(subname//'Could not determine cism_evolve value '//trim(cvalue)) 
       endif
 

Jbuzan

Jonathan R. Buzan
Member
Thanks Jim!
Since this is a source code change I put it in:
$CASE/SourceMods/src.clm

The lnd completed, but am encountering a similar error in the ocean, glacier, and atmospheric codes. My guess is that there is a fix for all of them?

f951: Warning: Nonexistent include directory ‘/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/gnu/mpich/nodebug/nothreads/nuopc/finclude’ [-Wmissing-include-dirs]
/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/ocn/source/ocn_comp_nuopc.F90:1082:22:
1082 | if (dbug > 1 .and. master_task) then
| 1
Error: Operands of logical operator ‘.and.’ at (1) are LOGICAL(4)/INTEGER(4)
gmake: *** [/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile:999: ocn_comp_nuopc.o] Error 1

f951: Warning: Nonexistent include directory ‘/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/gnu/mpich/nodebug/nothreads/nuopc/finclude’ [-Wmissing-include-dirs]
/users/jbuzan/CESM2_2_2/CESM/components/cism//source_glc/glc_ensemble.F90:59:10:
59 | use seq_comm_mct, only : seq_comm_suffix, seq_comm_inst, seq_comm_name
| 1
Fatal Error: Cannot open module file ‘seq_comm_mct.mod’ for reading at (1): No such file or directory
/users/jbuzan/CESM2_2_2/CESM/components/cism//drivers/cpl/glc_cpl_indices.F90:3:7:
3 | use seq_flds_mod
| 1
Fatal Error: Cannot open module file ‘seq_flds_mod.mod’ for reading at (1): No such file or directory
compilation terminated.
compilation terminated.
gmake: *** [/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile:999: glc_cpl_indices.o] Error 1
gmake: *** Waiting for unfinished jobs....
gmake: *** [/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile:999: glc_ensemble.o] Error 1
ERROR cism.buildexe: gmake complib -j 8 MODEL=cism COMPLIB=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib/libglc.a USER_MKDEPENDS_OPTS="-d /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/glc/lib/libglimmercismfortran.a" GLC_DIR=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/glc -f /capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile CIME_MODEL=cesm SMP=FALSE CASEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36" CASETOOLS="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools" CIMEROOT="/users/jbuzan/CESM2_2_2/CESM/cime" COMP_INTERFACE="nuopc" COMPILER="gnu" DEBUG="FALSE" EXEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld" INCROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib/include" LIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib" MACH="eiger" MPILIB="mpich" NINST_VALUE="c1a1l1i1o1r1g1w1" OS="LINUX" PIO_VERSION="2" SHAREDLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld" SMP_PRESENT="FALSE" USE_ESMF_LIB="TRUE" USE_MOAB="FALSE" CAM_CONFIG_OPTS="-phys cam6 -co2_cycle" COMP_LND="clm" CISM_USE_TRILINOS="FALSE" USE_TRILINOS="FALSE" USE_ALBANY="FALSE" USE_PETSC="FALSE"
failed: 512




f951: Warning: Nonexistent include directory ‘/SourceMods/src.cam’ [-Wmissing-include-dirs]
/users/jbuzan/CESM2_2_2/CESM/components/cam/src/cpl/nuopc/atm_import_export.F90:699:17:
699 | if (exists_fco2_ocn /= 0) then
| 1
Error: Operands of comparison operator ‘/=’ at (1) are LOGICAL(4)/INTEGER(4)
gmake: *** [/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile:999: atm_import_export.o] Error 1
gmake: *** Waiting for unfinished jobs....
ERROR: Command gmake complib -j 8 MODEL=cam COMPLIB=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib/libatm.a -f /capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools/Makefile CIME_MODEL=cesm SMP=FALSE CASEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36" CASETOOLS="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_36/Tools" CIMEROOT="/users/jbuzan/CESM2_2_2/CESM/cime" COMP_INTERFACE="nuopc" COMPILER="gnu" DEBUG="FALSE" EXEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld" INCROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib/include" LIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/lib" MACH="eiger" MPILIB="mpich" NINST_VALUE="c1a1l1i1o1r1g1w1" OS="LINUX" PIO_VERSION="2" SHAREDLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld" SMP_PRESENT="FALSE" USE_ESMF_LIB="TRUE" USE_MOAB="FALSE" CAM_CONFIG_OPTS="-phys cam6 -co2_cycle" COMP_LND="clm" CISM_USE_TRILINOS="FALSE" USE_TRILINOS="FALSE" USE_ALBANY="FALSE" USE_PETSC="FALSE" USER_CPPDEFS=' -DPLON=288 -DPLAT=192 -DNUM_COMP_INST_ATM=1 -DNUM_COMP_INST_LND=1 -DNUM_COMP_INST_OCN=1 -DNUM_COMP_INST_ICE=1 -DNUM_COMP_INST_GLC=1 -DNUM_COMP_INST_ROF=1 -DNUM_COMP_INST_WAV=1 -DNUM_COMP_INST_IAC=1 -DNUM_COMP_INST_ESP=1 -DPLEV=32 -DPCNST=37 -DPCOLS=16 -DPSUBCOLS=1 -DN_RAD_CNST=30 -DPTRM=1 -DPTRN=1 -DPTRK=1 -DSPMD -DMODAL_AERO -DMODAL_AERO_4MODE -DCLUBB_SGS -DCLUBB_CAM -DNO_LAPACK_ISNAN -DCLUBB_REAL_TYPE=dp' failed with rc=2





Error: Operands of logical operator ‘.and.’ at (1) are LOGICAL(4)/INTEGER(4)
Component ocn build complete with 58 warnings
pop built in 56.535508 seconds
Component glc build complete with 43 warnings
cism built in 64.751779 seconds
Error: Operands of comparison operator ‘/=’ at (1) are LOGICAL(4)/INTEGER(4)
Component atm build complete with 111 warnings
cam built in 72.186312 seconds
ERROR: BUILD FAIL: pop.buildlib failed, cat /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/ocn.bldlog.240705-160643
BUILD FAIL: cism.buildlib failed, cat /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/glc.bldlog.240705-160643
BUILD FAIL: cam.buildlib failed, cat /capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_36/Compiler_BHIST_T_36/bld/atm.bldlog.240705-160643
 

Attachments

  • ocn.bldlog.240705-160643.txt
    457.9 KB · Views: 0
  • glc.bldlog.240705-160643.txt
    392.5 KB · Views: 0

jedwards

CSEG and Liaisons
Staff member
Looks like that's the case - I invite you to submit PR's to the components with these fixes. Or perhaps you should consider
porting our latest beta tag instead?
Code:
git clone https://github.com/ESCOMP/cesm -b cesm3_0_beta01 cesm3_0_beta01
 

Jbuzan

Jonathan R. Buzan
Member
Hi Jim,

I execute the git clone, but my directory does not have the manage_externals directory.
But, I am guessing that this means that I need to figure out how to make the fixes? Or that these fixes are in this newer version?
jbuzan@eiger-ln001:~/cesm3_0_beta01/cesm3_0_beta01 [16:36:29] $ ls


bin ccs_config ChangeLog ChangeLog_template cime cime_config CODE_OF_CONDUCT.md components describe_version doc libraries LICENSE.txt README.rst share tools
 

jedwards

CSEG and Liaisons
Staff member
The newer version no longer uses manage_externals, the new tool is git-fleximod
Code:
./bin/git-fleximod update
 

Jbuzan

Jonathan R. Buzan
Member
Hi Jim,

I downloaded the files via the command you gave me. However, I do not know where the config_compilers.xml nor config_machines.xml are located. Do they not exist in CESM3?

Cheers,
-Jonathan


for CESM2.2.2
~/CESM2_2_2/CESM/cime/config/cesm/machines
config_batch.xml config_pio.xml Depends.babbageKnc Depends.cray Depends.intel14 Depends.mira README template.st_archive
config_compilers.xml config_workflow.xml Depends.bluewaters Depends.gnu Depends.intelmic Depends.nag template.case.run userdefined_laptop_template
config_machines.xml cylc_suite.rc.template Depends.corip1 Depends.intel Depends.intelmic14 nag_mpi_argument.txt template.case.test
in cesm3_0_beta01:
/users/jbuzan/cesm3_0_beta01/cesm3_0_beta01/cime
$ ls
ChangeLog CIME conftest.py doc Externals.cfg index.html MANIFEST.in README.md setup.cfg tools
ChangeLog_template CMakeLists.txt CONTRIBUTING.md docker Externals_cime.cfg LICENSE.TXT pyproject.toml scripts setup.py utils
 

jedwards

CSEG and Liaisons
Staff member
ccs_config/machines has a subdirectory for each machine with the config_machines.xml file in it.
ccs_config/machines/cmake_macros/ is a directory of files that replaces config_compilers.xml
 

Jbuzan

Jonathan R. Buzan
Member
Hi Jim,

I've decided that since I am switching to cesm3_0_beta01, I am switching to the Intel compilers. This, in theory, should make things easier, since Eiger's infrastructure is similar to Derecho. My understanding that the Intel compilers have better performance for CESM.

Architecture​

Compute Nodes (CN) feature two sockets with one AMD EPYCTM 7742 64-Core processor per socket, that interface with the high-speed HPE Slingshot interconnect: please check the system specifics of the HPE Cray EX Supercomputer. More detailed information on the supercomputer cabinets and the HPE Slingshot interconnect is available in the HPE Cray EX Liquid-Cooled Cabinet for Large-Scale Systems brochure.

I am in the process of compiling new versions of NCAR PIO and ESMF, then will get back to cesm3_0_beta01.
Cheers,
-Jonathan
 

pengzhou

peng zhou
New Member
Thanks Jim.
I am getting a new error—progress!
ESMFMFILE define error. I need to read about that, because I pass:
Macros.make:ESMF_LIBDIR := /users/jbuzan/esmf_jon/ESMF/lib/libO/Linux.gfortran.64.mpich.default/

which I thought was adequate for the env_build.xml:
env_build.xml: <desc>TRUE implies using the ESMF library specified by ESMF_LIBDIR or ESMFMKFILE</desc>

I'll see if I can figure out what to give for the ESMFMKFILE.

Cheers,
-Jonathan

Running cmake for CDEPS
cmake_flags -DCIME_MODEL=cesm -Dcompile_threaded=FALSE -DINSTALL_SHAREDPATH=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/cdeps -DCASEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_33" -DCASETOOLS="/capstor/scratch/cscs/jbuzan/cesm2_2_2/cases/Compiler_BHIST_T_33/Tools" -DCIMEROOT="/users/jbuzan/CESM2_2_2/CESM/cime" -DCOMP_INTERFACE="nuopc" -DCOMPILER="gnu" -DDEBUG="FALSE" -DEXEROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld" -DINCROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/lib/include" -DLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/lib" -DMACH="eiger" -DMPILIB="mpich" -DNINST_VALUE="c1a1l1i1o1r1g1w1" -DOS="LINUX" -DPIO_VERSION="2" -DSHAREDLIBROOT="/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld" -DSMP_PRESENT="FALSE" -DUSE_ESMF_LIB="TRUE" -DUSE_MOAB="FALSE" -DCAM_CONFIG_OPTS="-phys cam6 -co2_cycle" -DCOMP_LND="clm" -DCISM_USE_TRILINOS="FALSE" -DUSE_TRILINOS="FALSE" -DUSE_ALBANY="FALSE" -DUSE_PETSC="FALSE" -DCMAKE_C_COMPILER_WORKS=1 -DCMAKE_CXX_COMPILER_WORKS=1 -DCMAKE_Fortran_COMPILER_WORKS=1 -DCMAKE_C_COMPILER=cc -DCMAKE_CXX_COMPILER=CC -DCMAKE_Fortran_COMPILER=ftn -DCMAKE_INSTALL_PREFIX=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc -DLIBROOT=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc /users/jbuzan/CESM2_2_2/CESM/components/cdeps -DMPILIB=mpich -DPIO_C_LIBRARY=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/lib -DPIO_C_INCLUDE_DIR=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/include -DPIO_Fortran_LIBRARY=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/lib -DPIO_Fortran_INCLUDE_DIR=/capstor/scratch/cscs/jbuzan/cesm2_2_2/output/Compiler_BHIST_T_33/Compiler_BHIST_T_33/bld/gnu/mpich/nodebug/nothreads/nuopc/include
ERROR: ERROR from cmake output=-- The Fortran compiler identification is GNU 12.3.0
-- Cray Programming Environment 2.7.30 Fortran
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /opt/cray/pe/craype/2.7.30/bin/ftn - skipped
-- Configuring incomplete, errors occurred!, error=CMake Error at cmake/FindESMF.cmake:5 (message):
ESMFMKFILE env variable is not defined
Call Stack (most recent call first):

How was this problem solved, I hope to be told
 

jedwards

CSEG and Liaisons
Staff member
Add the environment variable ESMFMKFILE here. That should solve the problem. Where did you find the documentation about setting ESMF_LIBDIR? It seems incorrect to me, but maybe it was simply taken out of context.
 

pengzhou

peng zhou
New Member
Dear jedwards,
I am attempting an offline compilation of CTSM5.3.030, but I am currently encountering an error that I have been unable to resolve. During the build, the compiler fails in esm_utils_mod.F90 with

Error in opening the compiled module file. Check INCLUDE paths. [ESMF]

followed by a cascade of “conflicting attributes or multiple declaration” messages for ESMF_LogWrite, ESMF_FAILURE, and ESMF_LogFoundError. Although I have set ESMF_DIR and pointed both -I flags and linker flags to the correct ESMF install paths (including the modO/Linux.intel.64.mpich.default directory), the build still cannot locate esmf.mod and thus cannot resolve any of the ESMF symbols. I have cleaned the case (./case.clean --all), updated both env_build.xml and my shell environment to include the ESMF module and library directories, and rerun ./case.setup and ./case.build, but the same errors persist.
Could you please provide any guidance on correcting the module search paths?
Thank you for your assistance!
Sincerely,
Peng Zhou

/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(23): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [ESMF]
use ESMF, only : ESMF_LogFoundError, ESMF_LOGERR_PASSTHRU, ESMF_LOGMSG_INFO
--------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(47): error #6406: Conflicting attributes or multiple declaration of name. [ESMF_LOGWRITE]
call ESMF_LogWrite("ERROR: "//trim(lstring), ESMF_LOGMSG_INFO, line=line, file=file, rc=dbrc)
---------------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(48): error #6406: Conflicting attributes or multiple declaration of name. [ESMF_FAILURE]
lrc = ESMF_FAILURE
----------------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(52): error #6406: Conflicting attributes or multiple declaration of name. [ESMF_LOGFOUNDERROR]
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=line, file=file)) then
--------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(52): error #6341: A logical data type is required in this context. [ESMF_LOGFOUNDERROR]
if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=line, file=file)) then
--------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(23): error #6580: Name in only-list does not exist or is not accessible. [ESMF_LOGFOUNDERROR]
use ESMF, only : ESMF_LogFoundError, ESMF_LOGERR_PASSTHRU, ESMF_LOGMSG_INFO
---------------------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(23): error #6580: Name in only-list does not exist or is not accessible. [ESMF_LOGERR_PASSTHRU]
use ESMF, only : ESMF_LogFoundError, ESMF_LOGERR_PASSTHRU, ESMF_LOGMSG_INFO
-----------------------------------------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(23): error #6580: Name in only-list does not exist or is not accessible. [ESMF_LOGMSG_INFO]
use ESMF, only : ESMF_LogFoundError, ESMF_LOGERR_PASSTHRU, ESMF_LOGMSG_INFO
---------------------------------------------------------------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(24): error #6580: Name in only-list does not exist or is not accessible. [ESMF_FAILURE]
use ESMF, only : ESMF_FAILURE, ESMF_LogWrite
---------------------^
/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90(24): error #6580: Name in only-list does not exist or is not accessible. [ESMF_LOGWRITE]
use ESMF, only : ESMF_FAILURE, ESMF_LogWrite
-----------------------------------^
compilation aborted for /XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/components/cmeps/cesm/nuopc_cap_share/esm_utils_mod.F90 (code 1)
gmake: *** [/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/cime/scripts/I20001/Tools/Makefile:949: esm_utils_mod.o] Error 1
gmake: *** Waiting for unfinished jobs....

intel_tianheXY.cmake:
string(APPEND CPPDEFS " -DNO_SHR_VMATH -DCNL")
if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv")
endif()


set(ESMF_PATH "/APP/u22/x86/esmf/8.8.0-icc-oneapi2023.2-mpich-4.1.2-ch4")

set(ESMF_MOD_PATH "${ESMF_PATH}/mod/modO/Linux.intel.64.mpich.default")

set(ESMF_LIB_PATH "${ESMF_PATH}/lib")


string(APPEND FFLAGS
" -I${ESMF_MOD_PATH}"
" -I${ESMF_PATH}/include"
)


string(APPEND SLIBS
" ${ESMF_LIB_PATH}/libesmf.so"
)

string(APPEND SLIBS
" /APP/u22/x86/intel/oneapi2023.2/mkl/2023.2.0/lib/intel64/libmkl_intel_lp64.so"
" /APP/u22/x86/intel/oneapi2023.2/mkl/2023.2.0/lib/intel64/libmkl_intel_thread.so"
" /APP/u22/x86/intel/oneapi2023.2/mkl/2023.2.0/lib/intel64/libmkl_core.so"
" /APP/u22/x86/intel/oneapi2023.2/compiler/2023.2.0/linux/compiler/lib/intel64_lin/libiomp5.so")
set(PYTHONPATH "/APP/u22/x86/python3/3.9.7/")
set(MPI_LIB_NAME "mpi")
set(MPI_PATH "/APP/u22/x86/mpi/mpich/4.1.2-icc-oneapi2023.2-ch4/")
set(NETCDF_PATH "/APP/u22/x86/netcdf/4.9.3-icc-oneapi2023.2-mpich-4.1.2-ch4/")
execute_process(COMMAND /APP/u22/x86/netcdf/4.9.3-icc-oneapi2023.2-mpich-4.1.2-ch4/bin/nf-config --flibs OUTPUT_VARIABLE SHELL_CMD_OUTPUT_BUILD_INTERNAL_IGNORE0 OUTPUT_STRIP_TRAILING_WHITESPACE)
string(APPEND SLIBS " ${SHELL_CMD_OUTPUT_BUILD_INTERNAL_IGNORE0}")

config_machines.xml:
<machine MACH="tianheXY">
<DESC>NSCC-gz TianheXY, os is RedHat/Centos, 64 pes/node, batch system is Slurm</DESC>
<NODENAME_REGEX>tianheXY</NODENAME_REGEX>
<OS>linux</OS>
<COMPILERS>intel</COMPILERS>
<MPILIBS>mpich,mpi</MPILIBS>
<PROJECT>NSCC-GZ</PROJECT>
<CIME_OUTPUT_ROOT>/XYFS01/sysu_atmos_choujm_1/zhoup/CTSMoutput</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/XYFS01/sysu_atmos_choujm_1/zhoup/CLMinput/inputdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/XYFS01/sysu_atmos_choujm_1/zhoup/CLMinput/inputdata/atm/datm7</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/XYFS01/sysu_atmos_choujm_1/zhoup/CTSMoutput/projects/scratch/archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/XYFS01/sysu_atmos_choujm_1/zhoup/CTSMoutput/projects/baselines</BASELINE_ROOT>
<CCSM_CPRNC>/XYFS01/sysu_atmos_choujm_1/zhoup/ctsm5.3.030/cime/tools/cprnc/cprnc</CCSM_CPRNC>
<GMAKE_J>4</GMAKE_J>
<BATCH_SYSTEM>slurm</BATCH_SYSTEM>
<SUPPORTED_BY>Chenjingkun-nscc_gz</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>64</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>64</MAX_MPITASKS_PER_NODE>
<mpirun mpilib="mpich">
<executable>srun</executable>
<arguments>
<arg name="label"> --label</arg>
<arg name="num_tasks" > -n {{ total_tasks }}</arg>
</arguments>
</mpirun>
<module_system type="none"/>
<environment_variables>
<env name="NETCDF_PATH">/APP/u22/x86/netcdf/4.9.3-icc-oneapi2023.2-mpich-4.1.2-ch4</env>
<env name="HDF5_PATH">/APP/u22/x86/hdf5/1.14.3-icc-oneapi2023.2</env>
<env name="ESMF_PATH">/APP/u22/x86/esmf/8.8.0-icc-oneapi2023.2-mpich-4.1.2-ch4</env>
<env name="ESMF_INCLUDE">/APP/u22/x86/esmf/8.8.0-icc-oneapi2023.2-mpich-4.1.2-ch4/mod/modO/Linux.intel.64.mpich.default</env>
<env name="ESMF_LIB">/APP/u22/x86/esmf/8.8.0-icc-oneapi2023.2-mpich-4.1.2-ch4/lib</env>
</environment_variables>
</machine>

config_batch.xml
<batch_system MACH="tianheXY" type="slurm" >
<batch_submit>sbatch</batch_submit>
<submit_args>
<arg flag="--time" name="$JOB_WALLCLOCK_TIME"/>
<arg flag="-p" name="$JOB_QUEUE"/>
</submit_args>
<queues>
<queue walltimemax="48:00:00" nodemin="1" nodemax="256" default="true">deimos</queue>
</queues>

Currently Loaded Modulefiles:
1) intel/oneapi2023.2_noimpi 6) netcdf/4.9.3-icc-oneapi2023.2-mpich-4.1.2-ch4
2) mpi/mpich/4.1.2-icc-oneapi2023.2-ch4 7) python/python3/3.9.7
3) pnetcdf/1.12.3-icc-oneapi2023.2-mpich-4.1.2-ch4 8) perl/5.41.8-gcc-11.4.0
4) hdf5/1.14.3-icc-oneapi2023.2-mpich-4.1.2-ch4 9) pio/ParallelIO-pio2.6.2-icc-2023
5) libxml/2.9.14-icc-2023 10) esmf/8.8.0-icc-oneapi2023.2-mpich-4.1.2-ch4
 
Top