iratxe_gonzalez-aparicio@jrc_ec_europa_eu
New Member
Dear all,I am running CLM4.0 at regiobal scale with my own dataset (pt1_pt1). The case is configured and built sucessfully. However, when it starts running the performance stops at the initialization stage, before starting reading my data. In the log files there are no messages at all (even if I set the DEBUG into TRUE), so that I included some prints in the code and the run stops in:/models/csm_share/shr/shr_cal_mod.F90Below I attached the part of the code where crahses. Only the numbers 1,2 and 10 are written in the log files. To have more information: the CALENDAR is set as NO_LEAP in the env_run.xml script. But when I tried the other option (GREGORIAN) the model crashes as well.It looks like the ESMF library is missing. I read the Chapter 9 of the manual and it says that the version ESMF V2.2.2r is the compatible one with the CLM 4.0. When I tried to install it I have problems with the ESMF_COMPILER. Could you please help me?- Anybody has an idea of the CLM reporting error about the calendar? - Do I really need the ESMF library?- Which ESMF_COMPILER should I set to install the ESMF library properly?Thank you in advance ...Regards, Iratxe write(*,*) ' 1'
lcalendar = shr_cal_calendarName(calendar)
write(*,*) '2'
if (trim(lcalendar) == trim(shr_cal_gregorian)) then
#ifdef USE_ESMF_LIB
write(*,*) '3'
call ESMF_TimeSet(ltime1,yy=year,mm=month,dd=1,s=0,calendarType=ESMF_CAL_GREGORIAN,rc=rc)
write(*,*) ' 4'
if(rc /= ESMF_SUCCESS) call ESMF_Finalize(rc=rc, terminationflag=ESMF_ABORT)
write(*,*) '5'
if (month < 12) then
call ESMF_TimeSet(ltime2,yy=year,mm=month+1,dd=1,s=0,calendarType=ESMF_CAL_GREGORIAN,rc=rc)
write(*,*) '6'
if(rc /= ESMF_SUCCESS) call ESMF_Finalize(rc=rc, terminationflag=ESMF_ABORT)
else
write(*,*) '7'
call ESMF_TimeSet(ltime2,yy=year+1,mm=1,dd=1,s=0,calendarType=ESMF_CAL_GREGORIAN,rc=rc)
write(*,*) '8'
if(rc /= ESMF_SUCCESS) call ESMF_Finalize(rc=rc, terminationflag=ESMF_ABORT)
write(*,*) '9'
endif
call ESMF_TimeGet(ltime1,d=eday1,rc=rc)
call ESMF_TimeGet(ltime2,d=eday2,rc=rc)
shr_cal_numDaysInMonth = eday2-eday1
#else
write(*,*) '10'
call shr_sys_abort(trim(subname)//' ERROR: shr_cal gregorian requires USE_ESMF_LIB')
#endif
else
write(*,*) '11'
lcalendar = shr_cal_calendarName(calendar)
write(*,*) '2'
if (trim(lcalendar) == trim(shr_cal_gregorian)) then
#ifdef USE_ESMF_LIB
write(*,*) '3'
call ESMF_TimeSet(ltime1,yy=year,mm=month,dd=1,s=0,calendarType=ESMF_CAL_GREGORIAN,rc=rc)
write(*,*) ' 4'
if(rc /= ESMF_SUCCESS) call ESMF_Finalize(rc=rc, terminationflag=ESMF_ABORT)
write(*,*) '5'
if (month < 12) then
call ESMF_TimeSet(ltime2,yy=year,mm=month+1,dd=1,s=0,calendarType=ESMF_CAL_GREGORIAN,rc=rc)
write(*,*) '6'
if(rc /= ESMF_SUCCESS) call ESMF_Finalize(rc=rc, terminationflag=ESMF_ABORT)
else
write(*,*) '7'
call ESMF_TimeSet(ltime2,yy=year+1,mm=1,dd=1,s=0,calendarType=ESMF_CAL_GREGORIAN,rc=rc)
write(*,*) '8'
if(rc /= ESMF_SUCCESS) call ESMF_Finalize(rc=rc, terminationflag=ESMF_ABORT)
write(*,*) '9'
endif
call ESMF_TimeGet(ltime1,d=eday1,rc=rc)
call ESMF_TimeGet(ltime2,d=eday2,rc=rc)
shr_cal_numDaysInMonth = eday2-eday1
#else
write(*,*) '10'
call shr_sys_abort(trim(subname)//' ERROR: shr_cal gregorian requires USE_ESMF_LIB')
#endif
else
write(*,*) '11'