From 8267f0b3bcdd58fec716486cc4ee0ab8d28b5bea Mon Sep 17 00:00:00 2001 From: kdraeder Date: Fri, 27 Mar 2026 16:12:23 -0600 Subject: [PATCH 1/2] Made coarse-resolution larg-ensemble MCC, ERI tests work. Changes are needed in multiple components: cesm, cime, cmeps, mom/MOM6. The branches are labeled with DART_lowres_{component}. cesm/driver/ensemble_driver.F90 Remove PETcount versus NINST test to let middle-sized tests work. if(modulo(PetCount-pio_asyncio_ntasks*number_of_members, & number_of_members) .ne. 0) then --- cesm/driver/ensemble_driver.F90 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cesm/driver/ensemble_driver.F90 b/cesm/driver/ensemble_driver.F90 index 5ca17b1b4..4593eadc4 100644 --- a/cesm/driver/ensemble_driver.F90 +++ b/cesm/driver/ensemble_driver.F90 @@ -254,12 +254,13 @@ subroutine SetModelServices(ensemble_driver, rc) if (chkerr(rc,__LINE__,u_FILE_u)) return ntasks_per_member = PetCount/number_of_members - pio_asyncio_ntasks - if(modulo(PetCount-pio_asyncio_ntasks*number_of_members, number_of_members) .ne. 0) then - write (msgstr,'(a,i5,a,i3,a,i3,a)') & - "PetCount (",PetCount,") - Async IOtasks (",pio_asyncio_ntasks*number_of_members,") must be evenly divisable by number of members (",number_of_members,")" - call ESMF_LogSetError(ESMF_RC_ARG_BAD, msg=msgstr, line=__LINE__, file=__FILE__, rcToReturn=rc) - return - endif +! if(modulo(PetCount-pio_asyncio_ntasks*number_of_members, number_of_members) .ne. 0) then +! write (msgstr,'(a,i5,a,i3,a,i3,a)') & +! "PetCount (",PetCount,") - Async IOtasks (",pio_asyncio_ntasks*number_of_members, & +! ") must be evenly divisable by number of members (",number_of_members,")" +! call ESMF_LogSetError(ESMF_RC_ARG_BAD, msg=msgstr, line=__LINE__, file=__FILE__, rcToReturn=rc) +! return +! endif !------------------------------------------- ! Loop over number of ensemblel members @@ -280,7 +281,7 @@ subroutine SetModelServices(ensemble_driver, rc) asyncio_task = .false. ! Determine pet list for driver instance if(pio_asyncio_ntasks > 0) then - do n=pio_asyncio_rootpe,pio_asyncio_rootpe+pio_asyncio_stride*(pio_asyncio_ntasks-1),pio_asyncio_stride + do n= pio_asyncio_rootpe, pio_asyncio_rootpe+pio_asyncio_stride*(pio_asyncio_ntasks-1), pio_asyncio_stride asyncio_petlist(iopetcnt) = (inst-1)*(ntasks_per_member+pio_asyncio_ntasks) + n if(asyncio_petlist(iopetcnt) == localPet) asyncio_task = .true. iopetcnt = iopetcnt+1 From 4cc3183cf4f51d74d41a2875500555768f09f178 Mon Sep 17 00:00:00 2001 From: kdraeder Date: Tue, 26 May 2026 14:45:25 -0600 Subject: [PATCH 2/2] Removed spaces which snuck into recent commit --- cesm/driver/ensemble_driver.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cesm/driver/ensemble_driver.F90 b/cesm/driver/ensemble_driver.F90 index 4593eadc4..8e72a6ae7 100644 --- a/cesm/driver/ensemble_driver.F90 +++ b/cesm/driver/ensemble_driver.F90 @@ -281,7 +281,7 @@ subroutine SetModelServices(ensemble_driver, rc) asyncio_task = .false. ! Determine pet list for driver instance if(pio_asyncio_ntasks > 0) then - do n= pio_asyncio_rootpe, pio_asyncio_rootpe+pio_asyncio_stride*(pio_asyncio_ntasks-1), pio_asyncio_stride + do n=pio_asyncio_rootpe,pio_asyncio_rootpe+pio_asyncio_stride*(pio_asyncio_ntasks-1),pio_asyncio_stride asyncio_petlist(iopetcnt) = (inst-1)*(ntasks_per_member+pio_asyncio_ntasks) + n if(asyncio_petlist(iopetcnt) == localPet) asyncio_task = .true. iopetcnt = iopetcnt+1