diff --git a/ci/spack.yaml b/ci/spack.yaml index 647904108..6fe66e6aa 100644 --- a/ci/spack.yaml +++ b/ci/spack.yaml @@ -8,11 +8,10 @@ spack: specs: - netcdf-c@4.9.2 - netcdf-fortran@4.6.1 - - bufr@11.7.0 + - bufr@12.1.0 - bacio@2.4.1 - w3emc@2.10.0 - - sp@2.5.0 - - ip@4.3.0 + - ip@5.0.0 - sigio@2.3.2 - sfcio@1.4.1 - nemsio@2.5.4 diff --git a/modulefiles/gsi_common.lua b/modulefiles/gsi_common.lua index cb49a4387..872a27f38 100644 --- a/modulefiles/gsi_common.lua +++ b/modulefiles/gsi_common.lua @@ -5,11 +5,10 @@ Load common modules to build GSI on all machines local netcdf_c_ver=os.getenv("netcdf_c_ver") or "4.9.2" local netcdf_fortran_ver=os.getenv("netcdf_fortran_ver") or "4.6.1" -local bufr_ver=os.getenv("bufr_ver") or "11.7.0" +local bufr_ver=os.getenv("bufr_ver") or "12.1.0" local bacio_ver=os.getenv("bacio_ver") or "2.4.1" local w3emc_ver=os.getenv("w3emc_ver") or "2.10.0" -local sp_ver=os.getenv("sp_ver") or "2.5.0" -local ip_ver=os.getenv("ip_ver") or "4.3.0" +local ip_ver=os.getenv("ip_ver") or "5.0.0" local sigio_ver=os.getenv("sigio_ver") or "2.3.2" local sfcio_ver=os.getenv("sfcio_ver") or "1.4.1" local nemsio_ver=os.getenv("nemsio_ver") or "2.5.4" @@ -24,7 +23,6 @@ load(pathJoin("netcdf-fortran", netcdf_fortran_ver)) load(pathJoin("bufr", bufr_ver)) load(pathJoin("bacio", bacio_ver)) load(pathJoin("w3emc", w3emc_ver)) -load(pathJoin("sp", sp_ver)) load(pathJoin("ip", ip_ver)) load(pathJoin("sigio", sigio_ver)) load(pathJoin("sfcio", sfcio_ver)) diff --git a/modulefiles/gsi_hera.intel.lua b/modulefiles/gsi_hera.intel.lua index d21b9195c..a4c790ed2 100644 --- a/modulefiles/gsi_hera.intel.lua +++ b/modulefiles/gsi_hera.intel.lua @@ -1,12 +1,12 @@ help([[ ]]) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev-rocky8/install/modulefiles/Core") +prepend_path("MODULEPATH", '/scratch1/NCEPDEV/global/David.Huber/SPACK/ss_1.8.0/envs/gsi-addon/install/modulefiles/Core') -local python_ver=os.getenv("python_ver") or "3.11.6" +local python_ver=os.getenv("python_ver") or "3.11.7" local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" -local cmake_ver=os.getenv("cmake_ver") or "3.23.1" +local cmake_ver=os.getenv("cmake_ver") or "3.27.9" local prod_util_ver=os.getenv("prod_util_ver") or "2.1.1" load(pathJoin("stack-intel", stack_intel_ver)) diff --git a/src/enkf/CMakeLists.txt b/src/enkf/CMakeLists.txt index 907f0c2de..4d4ba5e5c 100644 --- a/src/enkf/CMakeLists.txt +++ b/src/enkf/CMakeLists.txt @@ -65,7 +65,7 @@ find_package(sigio REQUIRED) find_package(sfcio REQUIRED) find_package(nemsio REQUIRED) find_package(ncio REQUIRED) -find_package(sp REQUIRED) +find_package(ip REQUIRED) find_package(w3emc REQUIRED) if(ENKF_MODE MATCHES "^(WRF|NMMB|FV3REG)$") find_package(wrf_io REQUIRED) @@ -112,7 +112,7 @@ target_link_libraries(enkf_fortran_obj PUBLIC sfcio::sfcio) target_link_libraries(enkf_fortran_obj PUBLIC nemsio::nemsio) target_link_libraries(enkf_fortran_obj PUBLIC ncio::ncio) target_link_libraries(enkf_fortran_obj PUBLIC w3emc::w3emc_d) -target_link_libraries(enkf_fortran_obj PUBLIC sp::sp_d) +target_link_libraries(enkf_fortran_obj PUBLIC ip::ip_d) if(OpenMP_Fortran_FOUND) target_link_libraries(enkf_fortran_obj PRIVATE OpenMP::OpenMP_Fortran) endif() diff --git a/src/gsi/CMakeLists.txt b/src/gsi/CMakeLists.txt index f894b0a8a..403661eed 100644 --- a/src/gsi/CMakeLists.txt +++ b/src/gsi/CMakeLists.txt @@ -70,7 +70,6 @@ find_package(sfcio REQUIRED) find_package(nemsio REQUIRED) find_package(ncio REQUIRED) find_package(ncdiag REQUIRED) -find_package(sp REQUIRED) find_package(ip REQUIRED) find_package(w3emc REQUIRED) find_package(bufr REQUIRED) @@ -154,8 +153,8 @@ target_link_libraries(gsi_fortran_obj PUBLIC sfcio::sfcio) target_link_libraries(gsi_fortran_obj PUBLIC nemsio::nemsio) target_link_libraries(gsi_fortran_obj PUBLIC ncio::ncio) target_link_libraries(gsi_fortran_obj PUBLIC w3emc::w3emc_d) -target_link_libraries(gsi_fortran_obj PUBLIC sp::sp_d) -target_link_libraries(gsi_fortran_obj PUBLIC bufr::bufr_d) +target_link_libraries(gsi_fortran_obj PUBLIC ip::ip_d) +target_link_libraries(gsi_fortran_obj PUBLIC bufr::bufr_4) target_link_libraries(gsi_fortran_obj PUBLIC crtm::crtm) if(GSI_MODE MATCHES "Regional") target_link_libraries(gsi_fortran_obj PUBLIC wrf_io::wrf_io) diff --git a/src/gsi/oneobmod.F90 b/src/gsi/oneobmod.F90 index 571b17597..019631529 100644 --- a/src/gsi/oneobmod.F90 +++ b/src/gsi/oneobmod.F90 @@ -173,7 +173,7 @@ subroutine oneobmakebufr real(r_kind),dimension(1,1):: poe,qoe,toe,woe real(r_kind),dimension(1):: xob,yob,dhr real(r_kind),dimension(1,1):: pob - real(r_double) vtcd + integer(i_kind) vtcd integer(i_kind) n,k,iret real(r_kind) hdr(10),obs(13,255),qms(10,255),err(10,255),cld2seq(2,1), & cldseq(3,10),owave(1,255),maxtmint(2,255),cldceilh(1,255),& diff --git a/src/gsi/read_prepbufr.f90 b/src/gsi/read_prepbufr.f90 index bed3b31db..ac9bde86e 100644 --- a/src/gsi/read_prepbufr.f90 +++ b/src/gsi/read_prepbufr.f90 @@ -358,7 +358,7 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,& real(r_kind) :: windsensht real(r_double) rstation_id,qcmark_huge - real(r_double) vtcd,glcd !virtual temp program code and GLERL program code + integer(i_kind) glcd, vtcd real(r_double),dimension(8):: hdr,hdrtsb real(r_double),dimension(3,255):: hdr3 real(r_double),dimension(8,255):: drfdat,qcmark,obserr,var_jb @@ -880,10 +880,10 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,& else !warn that GLERL adjustment is not available. print*, "WARNING: GLERL program code not in this file." - glcd=-999._r_double + glcd=-999 endif - if(print_verbose) write(6,'(1x,A,A,A,2(A,1x,F8.3))') 'read_prepbufr:', & + if(print_verbose) write(6,'(1x,A,A,A,2(A,1x,I8))') 'read_prepbufr:', & trim(adjustl(obstype)),':', ' vtcd= ',vtcd,' glcd= ',glcd call init_rjlists @@ -3363,7 +3363,7 @@ subroutine sonde_ext(obsdat,tpc,qcmark,obserr,drfdat,levsio,kx,vtcd) ! !INPUT PARAMETERS: integer(i_kind) , intent(in ) ::kx - real(r_double) , intent(in ) ::vtcd + integer(i_kind) , intent(in ) ::vtcd ! !INPUT/OUTPUT PARAMETERS: integer(i_kind) , intent(inout) ::levsio