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

malloc(): invalid size (unsorted) when reading in my own forcing data

Yuan Sun

Yuan Sun
Member
What version of the code are you using?
CTSM5.2 with PIO2.6.2 and ESMF8.6

Have you made any changes to files in the source tree?
No

Describe every step you took leading up to the problem:
I tried to use ERA5 forcing to drive a region. The job script is below:

#!/bin/bash --login
module load cray-python/3.9.13.1
module load PrgEnv-gnu
module load cray-hdf5-parallel/1.12.2.1
module load cray-netcdf-hdf5parallel/4.9.0.1
module load cray-parallel-netcdf/1.12.3.1
export CESM_ROOT="/work/n02/n02/yuansun/cesm"
export CASE_SCRIPT="${CESM_ROOT}/my_cesm_sandbox_ctsm5.2/cime/scripts"
export CASE_NAME="${CESM_ROOT}/runs/0project6/test3"
export CASE_DOCS="CaseDocs"
export COMPSET=2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV
export RES=CLM_USRDAT
export GRIDNAME=001x001_MCR
export PROJECT=n02-duicv
export MACH=archer2
export OUTPUT=/work/n02/n02/yuansun/output_analysis/project6/make_surface
export INPUT="${CESM_ROOT}/cesm_inputdata/lnd"
export STARTYEAR=2012
export ENDYEAR=2022
export SURF=${OUTPUT}/surfdata_${GRIDNAME}_SSP3-7.0_${ENDYEAR}_78pfts_c240930.nc
export QUE=short
export WALLTIME=00:20:00
export FORCING_PATH=/work/n02/n02/yuansun/output_analysis/project6/mk_datm/datm_input_year

if [ -d "${CASE_NAME}" ]; then
rm -rf "${CASE_NAME}"
echo "'${CASE_NAME}' exits but is deleted"
echo "create a new case in '${CASE_NAME}'"
cd ${CASE_SCRIPT}
./create_newcase --case ${CASE_NAME} --compset ${COMPSET} --res ${RES} --project ${PROJECT} --machine ${MACH} --queue ${QUE} --walltime ${WALLTIME} --run-unsupported
else
echo "create a new case in '${CASE_NAME}'"
cd ${CASE_SCRIPT}
./create_newcase --case ${CASE_NAME} --compset ${COMPSET} --res ${RES} --project ${PROJECT} --machine ${MACH} --queue ${QUE} --walltime ${WALLTIME} --run-unsupported
fi

cd ${CASE_NAME}
./xmlchange RUN_STARTDATE=2012-01-01
./xmlchange LND_DOMAIN_MESH="${OUTPUT}/lnd_mesh_MCR.nc"
./xmlchange ATM_DOMAIN_MESH="${OUTPUT}/lnd_mesh_MCR.nc"
./xmlchange MASK_MESH="${OUTPUT}/mask_mesh_MCR.nc"
./xmlchange DATM_YR_START=${STARTYEAR}
./xmlchange DATM_YR_END=${ENDYEAR}
./xmlchange DATM_YR_ALIGN=${STARTYEAR}
./xmlchange NTASKS_CPL=80
./xmlchange NTASKS_ATM=80
./xmlchange NTASKS_LND=48
./xmlchange NTASKS_ICE=1
./xmlchange NTASKS_OCN=1
./xmlchange NTASKS_ROF=1
./xmlchange NTASKS_GLC=1
./xmlchange NTASKS_WAV=1
./xmlchange NTASKS_ESP=1
./xmlchange ROOTPE_CPL=0
./xmlchange ROOTPE_ATM=0
./xmlchange ROOTPE_LND=80
./xmlchange ROOTPE_ICE=0
./xmlchange ROOTPE_OCN=0
./xmlchange ROOTPE_ROF=0
./xmlchange ROOTPE_GLC=0
./xmlchange ROOTPE_WAV=0
./xmlchange ROOTPE_ESP=0
./xmlchange NTHRDS=1
./xmlchange STOP_OPTION=ndays
./xmlchange STOP_N=2
./xmlchange RESUBMIT=0
./xmlchange NTHRDS=1
./xmlchange CLM_FORCE_COLDSTART=on
./xmlchange DIN_LOC_ROOT_CLMFORC=${FORCING_PATH}
./xmlchange DEBUG=TRUE
./xmlchange DATM_SKIP_RESTART_READ=TRUE
./xmlchange GET_REFCASE=FALSE
./case.setup
./preview_namelists
# set user_nl_clm
echo "fsurdat='${SURF}'" >> user_nl_clm
echo "stream_fldfilename_urbantv = '${INPUT}/clm2/urbandata/CTSM52_tbuildmax_OlesonFeddema_2020_0.9x1.25_simyr1849-2106_c200605.nc'">> user_nl_clm
echo "hist_nhtfrq= -24" >> user_nl_clm
echo "hist_mfilt= 1" >> user_nl_clm
echo "hist_empty_htapes = .true." >> user_nl_clm
echo "hist_fincl1 = 'TWS'" >> user_nl_clm
echo "stream_year_first_urbantv = ${ENDYEAR}" >> user_nl_clm
echo "stream_year_last_urbantv = ${ENDYEAR}" >> user_nl_clm
echo "model_year_align_urbantv = ${STARTYEAR}" >> user_nl_clm
# set user_nl_datm
echo "CLMGSWP3v1.Solar:datafiles = ${FORCING_PATH}/era5_MCR_Solar_2012.nc,${FORCING_PATH}/era5_MCR_Solar_2013.nc,${FORCING_PATH}/era5_MCR_Solar_2014.nc,${FORCING_PATH}/era5_MCR_Solar_2015.nc,${FORCING_PATH}/era5_MCR_Solar_2016.nc,${FORCING_PATH}/era5_MCR_Solar_2017.nc,${FORCING_PATH}/era5_MCR_Solar_2018.nc,${FORCING_PATH}/era5_MCR_Solar_2019.nc,${FORCING_PATH}/era5_MCR_Solar_2020.nc,${FORCING_PATH}/era5_MCR_Solar_2021.nc,${FORCING_PATH}/era5_MCR_Solar_2022.nc" >> user_nl_datm_streams
echo "CLMGSWP3v1.Solar:datavars= FSDS Faxa_swdn">> user_nl_datm_streams
echo "CLMGSWP3v1.Solar:meshfile= ${OUTPUT}/lnd_mesh_MCR.nc">> user_nl_datm_streams
echo "CLMGSWP3v1.Precip:datafiles = ${FORCING_PATH}/era5_MCR_Prec_2012.nc,${FORCING_PATH}/era5_MCR_Prec_2013.nc,${FORCING_PATH}/era5_MCR_Prec_2014.nc,${FORCING_PATH}/era5_MCR_Prec_2015.nc,${FORCING_PATH}/era5_MCR_Prec_2016.nc,${FORCING_PATH}/era5_MCR_Prec_2017.nc,${FORCING_PATH}/era5_MCR_Prec_2018.nc,${FORCING_PATH}/era5_MCR_Prec_2019.nc,${FORCING_PATH}/era5_MCR_Prec_2020.nc,${FORCING_PATH}/era5_MCR_Prec_2021.nc,${FORCING_PATH}/era5_MCR_Prec_2022.nc" >> user_nl_datm_streams
echo "CLMGSWP3v1.Precip:datavars= PRECTmms Faxa_precn">> user_nl_datm_streams
echo "CLMGSWP3v1.Precip:meshfile= ${OUTPUT}/lnd_mesh_MCR.nc">> user_nl_datm_streams
echo "CLMGSWP3v1.TPQW:datafiles = ${FORCING_PATH}/era5_MCR_TPQWL_2012.nc,${FORCING_PATH}/era5_MCR_TPQWL_2013.nc,${FORCING_PATH}/era5_MCR_TPQWL_2014.nc,${FORCING_PATH}/era5_MCR_TPQWL_2015.nc,${FORCING_PATH}/era5_MCR_TPQWL_2016.nc,${FORCING_PATH}/era5_MCR_TPQWL_2017.nc,${FORCING_PATH}/era5_MCR_TPQWL_2018.nc,${FORCING_PATH}/era5_MCR_TPQWL_2019.nc,${FORCING_PATH}/era5_MCR_TPQWL_2020.nc,${FORCING_PATH}/era5_MCR_TPQWL_2021.nc,${FORCING_PATH}/era5_MCR_TPQWL_2022.nc" >> user_nl_datm_streams
echo "CLMGSWP3v1.TPQW:datavars = WIND Sa_wind , FLDS Faxa_lwdn , PSRF Sa_pbot , QBOT Sa_shum, TBOT Sa_tbot">> user_nl_datm_streams
echo "CLMGSWP3v1.TPQW:meshfile= ${OUTPUT}/lnd_mesh_MCR.nc">> user_nl_datm_streams
#echo "CLMGSWP3v1.${GRIDNAME}.zbot:datafiles = ${FORCING_PATH}/era5_MCR_zbot.nc" >> user_nl_datm_streams
#echo "CLMGSWP3v1.${GRIDNAME}.zbot:datavars = Zbot Sa_z">> user_nl_datm_streams
./case.setup --reset
./case.build
./preview_run
./case.submit

Describe your problem or question:
The cesm.log shows malloc(): invalid size (unsorted)

The error is simple even if I set ./xmlchange DEBUG=TRUE.

I tried many ways to find the error but failed. Thanks for any comments.

Best,
Yuan
 

Attachments

  • atm.log.7786642.241010-165315.txt
    12.1 KB · Views: 1
  • cesm.log.7786642.241010-165315.txt
    3.8 KB · Views: 1
  • lnd.log.7786642.241010-165315.txt
    74 KB · Views: 1
  • med.log.7786642.241010-165315.txt
    44.7 KB · Views: 1

Yuan Sun

Yuan Sun
Member
Hi,

This is just an update that I fixed this issue by manually regridding the atmosphere data to be consistent with the land mesh (0.01°) .

I guess that the error of dynamic memory resulted from the ESMF which tried to regrid ERA5 hourly atmosphere data from 0.1° to 0.01° but stopped. So I manually regrid the forcing using 'xesmf' Python package.

Best,
Yuan
 
Top