diff --git a/.github/workflows/gnu.yml.tempdisable b/.github/workflows/gnu.yml similarity index 93% rename from .github/workflows/gnu.yml.tempdisable rename to .github/workflows/gnu.yml index d28d1bb5b5..78db170f63 100644 --- a/.github/workflows/gnu.yml.tempdisable +++ b/.github/workflows/gnu.yml @@ -8,9 +8,9 @@ concurrency: env: cache_key: gnu11 - CC: gcc-10 - FC: gfortran-10 - CXX: g++-10 + CC: gcc-14 + FC: gfortran-14 + CXX: g++-14 # Split into a steup step, and a WW3 build step which @@ -45,7 +45,8 @@ jobs: run: | # Install NetCDF, ESMF, g2, etc using Spack sudo apt install cmake - git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git + #git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git + git clone -c feature.manyFiles=true --depth=2 --branch=spack-stack-1.9.3 https://github.com/JCSDA/spack.git source spack/share/spack/setup-env.sh spack env create ww3-gnu ww3/model/ci/spack_gnu.yaml spack env activate ww3-gnu diff --git a/.github/workflows/intel.yml.tempdisable b/.github/workflows/intel.yml similarity index 99% rename from .github/workflows/intel.yml.tempdisable rename to .github/workflows/intel.yml index f5de65dcd3..bf18a8cead 100644 --- a/.github/workflows/intel.yml.tempdisable +++ b/.github/workflows/intel.yml @@ -26,7 +26,7 @@ env: jobs: setup: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: diff --git a/.github/workflows/regtest_gnu.yml.tempdisable b/.github/workflows/regtest_gnu.yml similarity index 96% rename from .github/workflows/regtest_gnu.yml.tempdisable rename to .github/workflows/regtest_gnu.yml index d5b71673c3..642a1cb2d0 100644 --- a/.github/workflows/regtest_gnu.yml.tempdisable +++ b/.github/workflows/regtest_gnu.yml @@ -8,9 +8,9 @@ concurrency: env: cache_key: gnu11-1 - CC: gcc-10 - FC: gfortran-10 - CXX: g++-10 + CC: gcc-14 + FC: gfortran-14 + CXX: g++-14 # Split into a steup step, and a WW3 build step which @@ -45,7 +45,7 @@ jobs: run: | # Install NetCDF, ESMF, g2, etc using Spack sudo apt install cmake - git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git + git clone -c feature.manyFiles=true --depth=2 --branch=spack-stack-1.9.3 https://github.com/JCSDA/spack.git source spack/share/spack/setup-env.sh spack env create ww3-gnu ww3/model/ci/spack_gnu.yaml spack env activate ww3-gnu diff --git a/model/ci/spack_gnu.yaml b/model/ci/spack_gnu.yaml index d2c16711aa..6003d7594d 100644 --- a/model/ci/spack_gnu.yaml +++ b/model/ci/spack_gnu.yaml @@ -7,12 +7,12 @@ spack: - metis@5.1.0~shared - parmetis@4.0.3~shared - scotch@7.0.1+mpi+metis~shared - - netcdf-c@4.7.4~dap - - netcdf-fortran@4.5.3 + - netcdf-c@4.9.2~dap + - netcdf-fortran@4.6.1 - jasper@2.0.32 - g2@3.4.5 - bacio@2.4.1 - - w3emc@2.9.2 + - w3emc@2.12.0 - parallelio@2.5.9+fortran~pnetcdf - esmf@8.4.2~debug~xerces+external-parallelio view: true diff --git a/model/ci/spack_intel.yaml b/model/ci/spack_intel.yaml index c571da825d..17079194f8 100644 --- a/model/ci/spack_intel.yaml +++ b/model/ci/spack_intel.yaml @@ -5,8 +5,8 @@ spack: providers: mpi: [intel-oneapi-mpi] specs: - - netcdf-c@4.7.4~dap - - netcdf-fortran@4.5.3 + - netcdf-c@4.9.2~dap + - netcdf-fortran@4.6.1 - bacio@2.4.1 - g2@3.4.5 - metis@5.1.0~shared diff --git a/model/src/w3adatmd.F90 b/model/src/w3adatmd.F90 index 01eedd344a..fc40222a81 100644 --- a/model/src/w3adatmd.F90 +++ b/model/src/w3adatmd.F90 @@ -948,11 +948,11 @@ SUBROUTINE W3DIMA ( IMOD, NDSE, NDST, D_ONLY ) !/ Local parameters !/ INTEGER :: JGRID, NXXX, NSEAL_tmp + integer :: memunit #ifdef W3_S INTEGER, SAVE :: IENT = 0 CALL STRACE (IENT, 'W3DIMA') #endif - integer :: memunit ! ! -------------------------------------------------------------------- / ! 1. Test input and module status @@ -1565,11 +1565,11 @@ SUBROUTINE W3XDMA ( IMOD, NDSE, NDST, OUTFLAGS ) !/ Local parameters !/ INTEGER :: JGRID, NXXX, I + integer :: memunit #ifdef W3_S INTEGER, SAVE :: IENT = 0 CALL STRACE (IENT, 'W3XDMA') #endif - integer :: memunit ! ! -------------------------------------------------------------------- / ! 1. Test input and module status diff --git a/model/src/w3iogrmd.F90 b/model/src/w3iogrmd.F90 index cd0b0d7b0a..61e14b3711 100644 --- a/model/src/w3iogrmd.F90 +++ b/model/src/w3iogrmd.F90 @@ -1646,10 +1646,13 @@ SUBROUTINE W3IOGR ( INXOUT, NDSM, IMOD, FEXT & GQNQ_OM2, GQTHRSAT, GQTHRCOU, GQAMP IF (IERR.NE.0) CALL EXTIOF(NDSE,IERR,'W3IOGR','mod_def.'//FILEXT(:IEXT),51) END IF - IF ( FLTEST ) WRITE (NDST,9051) SNLC1, LAM, & - KDCON, KDMN, SNLS1, SNLS2, SNLS3, & - IQTPE, NLTAIL, GQNF1, GQNT1, GQNQ_OM2, & - GQTHRSAT, GQTHRCOU, GQAMP + IF ( FLTEST ) WRITE (NDST,*) & + 'SNLC1, LAM, KDCON, KDMN, SNLS1, SNLS2, SNLS3, & + IQTPE, NLTAIL, GQNF1, GQNT1, & + GQNQ_OM2, GQTHRSAT, GQTHRCOU, GQAMP:', & + SNLC1, LAM, KDCON, KDMN, SNLS1, SNLS2, SNLS3, & + IQTPE, NLTAIL, GQNF1, GQNT1, & + GQNQ_OM2, GQTHRSAT, GQTHRCOU, GQAMP #endif ! #ifdef W3_NL2 diff --git a/model/src/w3snl1md.F90 b/model/src/w3snl1md.F90 index e7a39578cf..09f8cee351 100644 --- a/model/src/w3snl1md.F90 +++ b/model/src/w3snl1md.F90 @@ -1555,10 +1555,10 @@ SUBROUTINE INSNLGQM !/ ------------------------------------------------------------------- / USE CONSTANTS, ONLY: GRAV USE W3GDATMD, ONLY: NK , NTH , XFR , FR1, GQNF1, GQNT1, GQNQ_OM2, NLTAIL, GQTHRCOU - #ifdef W3_S - CALL STRACE (IENT, 'INSNLGQM') + USE W3SERVMD, ONLY: STRACE #endif + IMPLICIT NONE !.....LOCAL VARIABLES INTEGER JF , JT , JF1 , JT1 , NF1P1 , IAUX , NT , NF , IK @@ -1582,6 +1582,10 @@ SUBROUTINE INSNLGQM DOUBLE PRECISION :: FREQ(NK) DOUBLE PRECISION, ALLOCATABLE :: F1SF(:) , X_CHE_TE1(:) , X_CHE_OM2(:) , X_LEG_OM2(:) , W_LEG_OM2(:) & , MAXCLA(:) +#ifdef W3_S + INTEGER, SAVE :: IENT = 0 + CALL STRACE (IENT, 'INSNLGQM') +#endif PI = Acos(-1.) LBUF = 500 diff --git a/model/src/wmesmfmd.F90 b/model/src/wmesmfmd.F90 index f3206485f7..9c288cbdb3 100644 --- a/model/src/wmesmfmd.F90 +++ b/model/src/wmesmfmd.F90 @@ -167,7 +167,6 @@ module WMESMFMD !/ ! --- ESMF Module use ESMF - ! --- NUOPC modules use NUOPC use NUOPC_Model, parent_SetServices => SetServices @@ -203,6 +202,7 @@ module WMESMFMD !/ #ifdef W3_MPI use mpi_f08 + use, intrinsic :: iso_c_binding, only: C_INT #endif !/ implicit none @@ -757,7 +757,8 @@ subroutine InitializeP1 ( gcomp, impState, expState, extClock, rc ) integer, parameter :: iwt=2 real(8) :: wstime, wftime integer :: idsi, idso, idss, idst, idse - integer :: mpiComm = -99 + type(MPI_COMM) :: mpicomm = MPI_COMM_WORLD + integer(C_INT) :: c_int_mpicomm logical :: configIsPresent type(ESMF_Config) :: config character(ESMF_MAXSTR) :: wrkdir = '.' @@ -887,7 +888,8 @@ subroutine InitializeP1 ( gcomp, impState, expState, extClock, rc ) call ESMF_GridCompGet(gcomp, vm=vm, rc=rc) if (ESMF_LogFoundError(rc, PASSTHRU)) return call ESMF_VMGet(vm, petCount=npet, localPet=lpet, & - mpiCommunicator=mpiComm, rc=rc) + mpiCommunicator=c_int_mpicomm, rc=rc) + mpicomm = MPI_Comm(c_int_mpicomm) if (ESMF_LogFoundError(rc, PASSTHRU)) return nmproc = npet improc = lpet + 1 diff --git a/model/src/ww3_prtide.F90 b/model/src/ww3_prtide.F90 index daa4bb9e19..1fd84f28ea 100644 --- a/model/src/ww3_prtide.F90 +++ b/model/src/ww3_prtide.F90 @@ -192,6 +192,9 @@ PROGRAM W3PRTIDE ! LOGICAL :: TIDEFILL ! +#ifdef W3_S + INTEGER, SAVE :: IENT = 0 +#endif !/ !/ ------------------------------------------------------------------- / !/