@@ -19,37 +19,11 @@ module ESMX_Driver
1919
2020 public SetServices, SetVM, HConfigCreateFoundNode
2121
22- #if defined (__NVCOMPILER)
23- ! TODO: remove once NVHPC and PGI compilers work correctly w/o work-around
24-
25- abstract interface
26- recursive subroutine SetServicesRoutine (gridcomp , rc )
27- use ESMF
28- implicit none
29- type (ESMF_GridComp) :: gridcomp ! must not be optional
30- integer , intent (out ) :: rc ! must not be optional
31- end subroutine
32- recursive subroutine SetVMRoutine (gridcomp , rc )
33- use ESMF
34- implicit none
35- type (ESMF_GridComp) :: gridcomp ! must not be optional
36- integer , intent (out ) :: rc ! must not be optional
37- end subroutine
38- end interface
39-
40- type type_CompDef
41- procedure (SetServicesRoutine), pointer , nopass :: ssPtr = > null ()
42- procedure (SetVMRoutine), pointer , nopass :: svPtr = > null ()
43- character (ESMF_MAXSTR) :: name = " __uninitialized__"
44- end type
45-
46- #else
4722 type type_CompDef
48- procedure (SetServices ), pointer , nopass :: ssPtr = > null ()
49- procedure (SetVM ), pointer , nopass :: svPtr = > null ()
23+ procedure (SetServicesInterfaceGridComp ), pointer , nopass :: ssPtr = > null ()
24+ procedure (SetVMInterfaceGridComp ), pointer , nopass :: svPtr = > null ()
5025 character (ESMF_MAXSTR) :: name = " __uninitialized__"
5126 end type
52- #endif
5327
5428 include " compCnt.inc"
5529
@@ -386,8 +360,8 @@ subroutine SetModelServices(driver, rc)
386360
387361 if (inCompDef) then
388362 ! add child component with SetVM and SetServices in CompDef
389- #if defined (__INTEL_LLVM_COMPILER) || defined (__NVCOMPILER) || defined ( NAGFOR)
390- ! TODO: remove once IFX, NVHPC, and NAG compilers work correctly w/o work-around
363+ #if defined (NAGFOR)
364+ ! TODO: remove once NAG compiler works correctly w/o work-around
391365 call NUOPC_DriverAddGridCompPtr(driver, trim (compLabel), hconfig= hconfig, &
392366 compSetServicesRoutine= CompDef(j)% ssPtr, compSetVMRoutine= CompDef(j)% svPtr, &
393367 info= info, petList= petList, devList= devList, comp= comp, rc= rc)
@@ -396,7 +370,8 @@ subroutine SetModelServices(driver, rc)
396370 " ' to driver via Fortran module." , &
397371 line= __LINE__, file= FILENAME)) return ! bail out
398372#else
399- call NUOPC_DriverAddComp(driver, trim (compLabel), hconfig= hconfig, &
373+ ! TODO: call through generic NUOPC_DriverAddComp() once AOCC issues resolved
374+ call NUOPC_DriverAddGridComp(driver, trim (compLabel), hconfig= hconfig, &
400375 compSetServicesRoutine= CompDef(j)% ssPtr, compSetVMRoutine= CompDef(j)% svPtr, &
401376 info= info, petList= petList, devList= devList, comp= comp, rc= rc)
402377 if (ESMF_LogFoundError(rcToCheck= rc, &
0 commit comments