From 074d27dd613637232f4ecb59eb37e86b95fca9f5 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 5 Feb 2024 07:40:08 -0700 Subject: [PATCH] reduce macos CI runs --- .github/workflows/MacOS.yml | 4 ++-- src/g2index.F90 | 26 ++++++++++++++------------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/MacOS.yml b/.github/workflows/MacOS.yml index 59089bf5..137d319e 100644 --- a/.github/workflows/MacOS.yml +++ b/.github/workflows/MacOS.yml @@ -27,8 +27,8 @@ jobs: strategy: fail-fast: true matrix: - jasper-version: [3.0.3, 4.0.0] - bacio-version: [2.4.1, 2.5.0, 2.6.0] + jasper-version: [4.0.0] + bacio-version: [2.4.1, 2.6.0] steps: - name: install-dependencies diff --git a/src/g2index.F90 b/src/g2index.F90 index 746810cc..a79d852a 100644 --- a/src/g2index.F90 +++ b/src/g2index.F90 @@ -683,7 +683,7 @@ SUBROUTINE IXGB2(LUGB, LSKIP, LGRIB, CBUF, NUMFLD, MLEN, IRET) integer :: mxlen, mxds, mxfld, mxbms integer :: init, ixlus, lugb, lskip, lgrib, numfld, mlen, iret integer :: ixsgd, ibread, ibskip, ilndrs, ilnpds, istat, ixds - integer (kind = 8) :: lskip8, ibread8, lbread8, ibskip8 + integer (kind = 8) :: lskip8, ibread8, lbread8, ibskip8, lengds8 integer :: ixspd, ixfld, ixids, ixlen, ixsbm, ixsdr integer :: lbread, lensec, lensec1 parameter(linmax = 5000, init = 50000, next = 10000) @@ -741,17 +741,19 @@ SUBROUTINE IXGB2(LUGB, LSKIP, LGRIB, CBUF, NUMFLD, MLEN, IRET) call g2_gbytec(cbread, lensec, 0 * 8, 4 * 8) call g2_gbytec(cbread, numsec, 4 * 8, 1 * 8) - IF (NUMSEC .EQ. 2) THEN ! SAVE LOCAL USE LOCATION - LOCLUS = IBSKIP-LSKIP - ELSEIF (NUMSEC .EQ. 3) THEN ! SAVE GDS INFO - LENGDS = LENSEC - CGDS = CHAR(0) - CALL BAREAD(LUGB, IBSKIP, LENGDS, LBREAD, CGDS) - IF (LBREAD .NE. LENGDS) THEN - IRET = 2 - RETURN - ENDIF - LOCGDS = IBSKIP-LSKIP + if (numsec .eq. 2) then ! save local use location + loclus = ibskip-lskip + elseif (numsec .eq. 3) then ! save gds info + lengds = lensec + cgds = char(0) + ibskip8 = ibskip + lengds8 = lengds + call bareadl(lugb, ibskip8, lengds8, lbread8, cgds) + if (lbread8 .ne. lengds8) then + iret = 2 + return + endif + locgds = ibskip-lskip ELSEIF (NUMSEC .EQ. 4) THEN ! FOUND PDS CINDEX = CHAR(0) CALL G2_SBYTEC(CINDEX, LSKIP, 8 * IXSKP, 8 * MXSKP) ! BYTES TO SKIP