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

ERROR: Parsing error in ESMF_Profile.summary file

Ming Chen

Ming Chen
New Member
I am running CAM-MPAS to simulate a squall line occurred on 2020-04-29.

My initial time is 2020-04-28_06:00:00, so I specify

./xmlchange START_TOD=21600
./xmlchange RUN_STARTDATE=2020-04-28

The case died immediately with the error message in run.o file: "ERROR: Parsing error in ESMF_Profile.summary file"

And many PET.ESMF_logFile appears in run directory. They include error message like:

PET4604 (ice_comp_nuopc):(ModelAdvance) CICE clock not in sync with ESMF model clock
PET4604 ICE:src/addon/NUOPC/src/NUOPC_ModelBase.F90:2226 Failure - Passing error in return code
PET4604 ESMCI_FTable.C:832 ESMCI_FTableCallEntryPointVMHop Wrong argument specified

What are the possible reasons for the above errors?
 

zarzycki

New Member
FWIW, I strongly suspect this is an issue where the CICE clock starts at 0 for an initial run and the ESMF sync clock that comes from CIME has 21600 so some error check is encountered.

Try this sourcemod in ice_comp_nuopc.F90.

Code:
if (idate < 0) then
          if (my_task == master_task) then
             write(nu_diag,*) trim(subname),' ERROR curr_ymd,year_init =',curr_ymd,year_init
             write(nu_diag,*) trim(subname),' ERROR idate lt zero',idate
          end if
          call abort_ice(subname//' :: ERROR idate lt zero')
       endif
       myear = (idate/10000)                     ! integer year of basedate
       mmonth= (idate-myear*10000)/100           ! integer month of basedate
       mday  =  idate-myear*10000-mmonth*100     ! day of month of basedate
!++CMZ
       msec = start_tod
!--CMZ
       if (my_task == master_task) then
          write(nu_diag,*) trim(subname),' CMZcurr_ymd = ',curr_ymd
          write(nu_diag,*) trim(subname),' cice year_init = ',year_init
          write(nu_diag,*) trim(subname),' cice start date = ',idate
          write(nu_diag,*) trim(subname),' cice start ymds = ',myear,mmonth,mday,start_tod
          write(nu_diag,*) trim(subname),' cice calendar_type = ',trim(calendar_type)
       endif
 

Ming Chen

Ming Chen
New Member
Hi Colin,

Many thanks for the posts. To answer your questions:

(1) If I set START_TOD=0, the case can run successfully.

(2) There are a few different "ice_comp_nuopc.F90" located in various directories:

./cime/CIME/non_py/src/components/xcpl_comps_nuopc/xice/src/ice_comp_nuopc.F90
./components/cice/src/cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
./components/cdeps/dice/ice_comp_nuopc.F90
./components/cice5/src/drivers/nuopc/ice_comp_nuopc.F90

I modified the following two based on your suggestion:

./components/cice/src/cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
./components/cice/src/cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90

Please let me know whether this is fine. The job is on the waiting queue and I will keep you updated about the result.

Thanks gain!

Ming
 

Ming Chen

Ming Chen
New Member
Hi Colin,
Folloiwng your suggestion, I modified the code ./components/cice/src/cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
The case was done successfully after the modification.
Thank you !
Ming
 
Top