diff --git a/.github/workflows/srt.yml b/.github/workflows/srt.yml
index 39526be99..34252cb63 100644
--- a/.github/workflows/srt.yml
+++ b/.github/workflows/srt.yml
@@ -26,8 +26,8 @@ jobs:
CPPFLAGS: "-I/usr/include -I/usr/local/include "
LDFLAGS: "-L/usr/lib/x86_64-linux-gnu -lnetcdf -lnetcdff -lpnetcdf"
# Versions of all dependencies can be updated here
- ESMF_VERSION: v8.4.0
- PARALLELIO_VERSION: pio2_5_10
+ ESMF_VERSION: v8.5.0
+ PARALLELIO_VERSION: pio2_6_0
CIME_MODEL: cesm
CIME_DRIVER: nuopc
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -153,6 +153,7 @@ jobs:
mkdir -p $HOME/cesm/scratch
mkdir -p $HOME/cesm/inputdata
pushd $GITHUB_WORKSPACE/cesm/cime/CIME/tests
+ export SRCROOT=$GITHUB_WORKSPACE/cesm/
export CIME_TEST_PLATFORM=ubuntu-latest
export PIO_INCDIR=$HOME/pio/include
export PIO_LIBDIR=$HOME/pio/lib
@@ -175,6 +176,6 @@ jobs:
popd
# the following can be used by developers to login to the github server in case of errors
# see https://github.com/marketplace/actions/debugging-with-tmate for further details
-# - name: Setup tmate session
-# if: ${{ failure() }}
-# uses: mxschmitt/action-tmate@v3
+ - name: Setup tmate session
+ if: ${{ failure() }}
+ uses: mxschmitt/action-tmate@v3
diff --git a/cime_config/namelist_definition_drv.xml b/cime_config/namelist_definition_drv.xml
index d9001cfb7..dec6868f1 100644
--- a/cime_config/namelist_definition_drv.xml
+++ b/cime_config/namelist_definition_drv.xml
@@ -938,7 +938,7 @@
default: ogrid
- xgrid
+ ogrid
diff --git a/mediator/esmFldsExchange_cesm_mod.F90 b/mediator/esmFldsExchange_cesm_mod.F90
index 13811aec9..a2c4fe435 100644
--- a/mediator/esmFldsExchange_cesm_mod.F90
+++ b/mediator/esmFldsExchange_cesm_mod.F90
@@ -2158,7 +2158,7 @@ subroutine esmFldsExchange_cesm(gcomp, phase, rc)
! liquid from river and possibly flood from river to ocean
if (fldchk(is_local%wrap%FBImp(comprof, comprof), 'Forr_rofl' , rc=rc)) then
if (trim(rof2ocn_liq_rmap) == 'unset') then
- call addmap_from(comprof, 'Forr_rofl', compocn, mapconsd, 'none', 'unset')
+ call addmap_from(comprof, 'Forr_rofl', compocn, mapconsd, 'one', 'unset')
else
call addmap_from(comprof, 'Forr_rofl', compocn, map_rof2ocn_liq, 'none', rof2ocn_liq_rmap)
end if
@@ -2182,7 +2182,7 @@ subroutine esmFldsExchange_cesm(gcomp, phase, rc)
! ice from river to ocean
if (fldchk(is_local%wrap%FBImp(comprof, comprof), 'Forr_rofi' , rc=rc)) then
if (trim(rof2ocn_ice_rmap) == 'unset') then
- call addmap_from(comprof, 'Forr_rofi', compocn, mapconsd, 'none', 'unset')
+ call addmap_from(comprof, 'Forr_rofi', compocn, mapconsd, 'one', 'unset')
else
call addmap_from(comprof, 'Forr_rofi', compocn, map_rof2ocn_ice, 'none', rof2ocn_ice_rmap)
end if
diff --git a/mediator/med_internalstate_mod.F90 b/mediator/med_internalstate_mod.F90
index c5497293f..66e2eb1db 100644
--- a/mediator/med_internalstate_mod.F90
+++ b/mediator/med_internalstate_mod.F90
@@ -262,7 +262,6 @@ subroutine med_internalstate_init(gcomp, rc)
end do
end if
is_local%wrap%num_icesheets = num_icesheets
-
call NUOPC_CompAttributeGet(gcomp, name='mediator_present', value=cvalue, isPresent=isPresent, isSet=isSet, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (isPresent .and. isSet) then
diff --git a/mediator/med_map_mod.F90 b/mediator/med_map_mod.F90
index 6a0661643..54bcbb154 100644
--- a/mediator/med_map_mod.F90
+++ b/mediator/med_map_mod.F90
@@ -111,7 +111,7 @@ subroutine med_map_RouteHandles_initfrom_esmflds(gcomp, flds_scalar_name, llogun
type(ESMF_Mesh) :: mesh_dst
type(med_fldlist_type), pointer :: FldListFr
type(med_fldlist_entry_type), pointer :: fldptr
- character(len=*), parameter :: subname=' (module_med_map: RouteHandles_init) '
+ character(len=*), parameter :: subname=' (med_map_mod: RouteHandles_init) '
!-----------------------------------------------------------
call t_startf('MED:'//subname)
@@ -305,7 +305,7 @@ subroutine med_map_routehandles_initfrom_fieldbundle(n1, n2, FBsrc, FBdst, mapin
! local variables
type(ESMF_Field) :: fldsrc
type(ESMF_Field) :: flddst
- character(len=*), parameter :: subname=' (module_MED_map:med_map_routehandles_initfrom_fieldbundle) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_map_routehandles_initfrom_fieldbundle) '
!---------------------------------------------
rc = ESMF_SUCCESS
@@ -654,7 +654,7 @@ logical function med_map_RH_is_created_RH3d(RHs,n1,n2,mapindex,rc)
integer , intent(out) :: rc
! local variables
- character(len=*), parameter :: subname=' (module_MED_map:med_map_RH_is_created_RH3d) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_map_RH_is_created_RH3d) '
!-----------------------------------------------------------
rc = ESMF_SUCCESS
@@ -679,7 +679,7 @@ logical function med_map_RH_is_created_RH1d(RHs,mapindex,rc)
! local variables
integer :: rc1, rc2
logical :: mapexists
- character(len=*), parameter :: subname=' (module_MED_map:med_map_RH_is_created_RH1d) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_map_RH_is_created_RH1d) '
!-----------------------------------------------------------
rc = ESMF_SUCCESS
@@ -751,7 +751,7 @@ subroutine med_map_packed_field_create(destcomp, flds_scalar_name, &
character(CL), allocatable :: fieldNameList(:)
character(CS) :: mapnorm_mapindex
character(len=CX) :: tmpstr
- character(len=*), parameter :: subname=' (module_MED_map:med_packed_field_create) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_packed_field_create) '
!-----------------------------------------------------------
rc = ESMF_SUCCESS
@@ -819,6 +819,7 @@ subroutine med_map_packed_field_create(destcomp, flds_scalar_name, &
//' '//trim(fieldnamelist(nf))
call ESMF_LogWrite(trim(tmpstr), ESMF_LOGMSG_INFO)
else
+ !if(rof_name .ne. 'xrof' .and. compname(destcomp) .ne. 'ocn') then
if (mapnorm_mapindex /= packed_data(mapindex)%mapnorm) then
write(tmpstr,*)'Map type '//trim(mapnames(mapindex)) &
//', destcomp '//trim(compname(destcomp)) &
@@ -954,7 +955,7 @@ subroutine med_map_field_packed(FBSrc, FBDst, FBFracSrc, field_normOne, packed_d
type(ESMF_Field), pointer :: fieldlist_dst(:)
real(r8), pointer :: data_norm(:)
real(r8), pointer :: data_dst(:,:)
- character(len=*), parameter :: subname=' (module_MED_map:med_map_field_packed) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_map_field_packed) '
!-----------------------------------------------------------
call t_startf('MED:'//subname)
@@ -1166,7 +1167,7 @@ subroutine med_map_field_normalized(field_src, field_dst, routehandles, maptype,
integer :: ungriddedUBound(1) ! currently the size must equal 1 for rank 2 fields
integer :: lsize_src
integer :: lsize_dst
- character(len=*), parameter :: subname=' (module_MED_map:med_map_field_normalized) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_map_field_normalized) '
!-----------------------------------------------------------
rc = ESMF_SUCCESS
@@ -1279,7 +1280,7 @@ subroutine med_map_field(field_src, field_dst, routehandles, maptype, fldname, r
logical :: checkflag = .false.
character(len=CS) :: lfldname
real(ESMF_KIND_R8), parameter :: fillValue = 9.99e20_ESMF_KIND_R8
- character(len=*), parameter :: subname='(module_MED_map:med_map_field) '
+ character(len=*), parameter :: subname='(med_map_mod:med_map_field) '
!---------------------------------------------------
rc = ESMF_SUCCESS
@@ -1382,7 +1383,7 @@ subroutine med_map_uv_cart3d(FBsrc, FBdst, routehandles, mapindex, rc)
integer :: spatialDim
real(r8), parameter :: deg2rad = shr_const_pi/180.0_R8 ! deg to rads
logical :: first_time = .true.
- character(len=*), parameter :: subname=' (module_MED_map:med_map_uv_cart3d) '
+ character(len=*), parameter :: subname=' (med_map_mod:med_map_uv_cart3d) '
!-------------------------------------------------------------------------------
rc = ESMF_SUCCESS
diff --git a/mediator/med_methods_mod.F90 b/mediator/med_methods_mod.F90
index 54fe20ec1..649c9c511 100644
--- a/mediator/med_methods_mod.F90
+++ b/mediator/med_methods_mod.F90
@@ -1354,7 +1354,10 @@ subroutine med_methods_FB_accum(FBout, FBin, copy, rc)
call med_methods_Field_GetFldPtr(lfield, fldptr1=dataptro1, fldptr2=dataptro2, rank=lranko, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
- if (lranki == 1 .and. lranko == 1) then
+ if (lranki == 0 .and. lranko == 0) then
+ ! do nothing
+ call ESMF_LogWrite(trim(subname)//": Both ranki and ranko are 0", ESMF_LOGMSG_INFO)
+ elseif (lranki == 1 .and. lranko == 1) then
if (.not.med_methods_FieldPtr_Compare(dataPtro1, dataPtri1, subname, rc)) then
call ESMF_LogWrite(trim(subname)//": ERROR in dataPtr1 size ", ESMF_LOGMSG_ERROR)
@@ -1397,7 +1400,7 @@ subroutine med_methods_FB_accum(FBout, FBin, copy, rc)
else
write(msgString,'(a,2i8)') trim(subname)//": ranki, ranko = ",lranki,lranko
- call ESMF_LogWrite(trim(msgString), ESMF_LOGMSG_INFO)
+ call ESMF_LogWrite(trim(msgString), ESMF_LOGMSG_ERROR)
call ESMF_LogWrite(trim(subname)//": ERROR ranki ranko not supported "//trim(lfieldnamelist(n)), &
ESMF_LOGMSG_ERROR)
rc = ESMF_FAILURE