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

UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 152: invalid start byte

pansah

Peter Ansah
New Member
Hi,
I ported CESM2.1.1 and trying out the simple experiment
./create_newcase --case.......--compset QPC4 --res f45_f45_mg37 --run-unsupported.
./case.submit runs into the error "UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 152: invalid start byte".

config_batch.xml has the entries:
<batch_system MACH="....." type="slurm" >
<batch_submit>sbatch</batch_submit>
<submit_args>
<arg flag="--time" name="$JOB_WALLCLOCK_TIME"/>
<arg flag="-p" name="$JOB_QUEUE"/>
<arg flag="--account" name="$PROJECT"/>
</submit_args>
<queues>
<queue default="true">default</queue>
</queues>
</batch_system>

config_machines.xml:
<?xml version="1.0"?>
<config_machines version="2.0">
<machine MACH="pansah">
<DESC>node at ...., os is Linux, 22 pes/node, batch system is SLURM</DESC>
<NODENAME_REGEX>headnode.......</NODENAME_REGEX>
<OS>LINUX</OS>
<COMPILERS>intel</COMPILERS>
<MPILIBS>openmpi</MPILIBS>
<PROJECT>pa974865_esm</PROJECT>
<CIME_OUTPUT_ROOT>/........./output</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/......./inputdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/........../inputdata/atm/forcing</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/........../output/cesm_archive</DOUT_S_ROOT>
<BASELINE_ROOT>/.........../inputdata/ccsm_baselines</BASELINE_ROOT>
<CCSM_CPRNC>/............/cesm/cime/tools/cprnc</CCSM_CPRNC>
<GMAKE>make</GMAKE>
<GMAKE_J>8</GMAKE_J>
<BATCH_SYSTEM>slurm</BATCH_SYSTEM>
<SUPPORTED_BY>peter</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>22</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>22</MAX_MPITASKS_PER_NODE>
<PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
<mpirun mpilib="openmpi">
<executable>mpiexec</executable>
<arguments>
<arg name="num_tasks">-np {{ total_tasks }}</arg>
<arg name="tasks_per_node"> -npernode $MAX_MPITASKS_PER_NODE </arg>
</arguments>
</mpirun>
<module_system type="module">
<init_path lang="sh">/usr/share/Modules/init/sh</init_path>
<init_path lang="csh">/usr/share/Modules/init/csh</init_path>
<init_path lang="perl">/usr/share/Modules/init/perl.pm</init_path>
<init_path lang="python">/usr/share/Modules/init/python.py</init_path>
<cmd_path lang="sh">module</cmd_path>
<cmd_path lang="csh">module</cmd_path>
<cmd_path lang="perl">/usr/bin/modulecmd perl</cmd_path>
<cmd_path lang="python">/usr/bin/modulecmd python</cmd_path>
<modules>
<command name="purge"/>
<command name="load">ncarenv/1.0</command>
</modules>
<modules compiler="intel">
<command name="load">intel/2024.0.1</command>
<command name="load">mkl</command>
</modules>
</module_system>
<environment_variables>
<env name="OMP_STACKSIZE">256M</env>
<env name="MPI_TYPE_DEPTH">16</env>
</environment_variables>
<resource_limits>
<resource name="RLIMIT_STACK">-1</resource>
</resource_limits>

</machine>
</config_machines>

For the compiler, using the already defined default (I don't fully get how things work in this section of the code yet) :
<compiler COMPILER="intel">
<CFLAGS>
<base> -qno-opt-dynamic-align -fp-model precise -std=gnu99 </base>
<append compile_threaded="true"> -qopenmp </append>
<append DEBUG="FALSE"> -O2 -debug minimal </append>
<append DEBUG="TRUE"> -O0 -g </append>
</CFLAGS>
<CPPDEFS>
<!-- Technical Library -->
<append> -DFORTRANUNDERSCORE -DCPRINTEL</append>
</CPPDEFS>
<CXX_LDFLAGS>
<base> -cxxlib </base>
</CXX_LDFLAGS>
<CXX_LINKER>FORTRAN</CXX_LINKER>
<FC_AUTO_R8>
<base> -r8 </base>
</FC_AUTO_R8>
<FFLAGS>
<base> -qno-opt-dynamic-align -convert big_endian -assume byterecl -ftz -traceback -assume realloc_lhs -fp-model source </base>
<append compile_threaded="true"> -qopenmp </append>
<append DEBUG="TRUE"> -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created </append>
<append DEBUG="FALSE"> -O2 -debug minimal </append>
</FFLAGS>
<FFLAGS_NOOPT>
<base> -O0 </base>
<append compile_threaded="true"> -qopenmp </append>
</FFLAGS_NOOPT>
<FIXEDFLAGS>
<base> -fixed -132 </base>
</FIXEDFLAGS>
<FREEFLAGS>
<base> -free </base>
</FREEFLAGS>
<LDFLAGS>
<append compile_threaded="true"> -qopenmp </append>
</LDFLAGS>
<MPICC> mpicc </MPICC>
<MPICXX> mpicxx </MPICXX>
<MPIFC> mpif90 </MPIFC>
<SCC> icc </SCC>
<SCXX> icpc </SCXX>
<SFC> ifort </SFC>
<SLIBS>
<append MPILIB="mpich"> -mkl=cluster </append>
<append MPILIB="mpich2"> -mkl=cluster </append>
<append MPILIB="mvapich"> -mkl=cluster </append>
<append MPILIB="mvapich2"> -mkl=cluster </append>
<append MPILIB="mpt"> -mkl=cluster </append>
<append MPILIB="openmpi"> -mkl=cluster </append>
<append MPILIB="impi"> -mkl=cluster </append>
<append MPILIB="mpi-serial"> -mkl </append>
</SLIBS>
<SUPPORTS_CXX>TRUE</SUPPORTS_CXX>
</compiler>
 

jedwards

CSEG and Liaisons
Staff member
That looks like an error in the python version which you did not provide. You can use the --debug flag to case.submit for more information.
 
Top