Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions src/fiat/oml/oml_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@ MODULE OML_MOD
!:: OML_GET_MAX_THREADS() is now an alias to OML_MAX_THREADS()
!:: OML_INIT()'s initialization of N_OML_MAX_THREADS only done if OUTSIDE the parallel region -- otherwise task aborted

!**FV/04-Mar-2026
!-- Remove mention of IFS routine in OML_INCR_COUNTER and add optional KERR argument for external error handling.

IMPLICIT NONE

SAVE
Expand Down Expand Up @@ -264,7 +267,7 @@ END FUNCTION OML_TEST_EVENT

SUBROUTINE OML_WAIT_EVENT(K,MYEVENT)
INTEGER(KIND=JPIM),INTENT(IN) :: K
INTEGER(KIND=JPIM),INTENT(INOUT),OPTIONAL :: MYEVENT
INTEGER(KIND=JPIM),INTENT(IN),OPTIONAL :: MYEVENT
INTEGER(KIND=JPIM) :: ITMP
IF (PRESENT(MYEVENT)) THEN
DO
Expand Down Expand Up @@ -305,20 +308,23 @@ SUBROUTINE OML_INCR_EVENT(K,MYEVENT)
!$OMP FLUSH
END SUBROUTINE OML_INCR_EVENT

SUBROUTINE OML_INCR_COUNTER(K,KMAX)
SUBROUTINE OML_INCR_COUNTER(K,KMAX,KERR)
INTEGER(KIND=JPIM),INTENT(INOUT) :: K
INTEGER(KIND=JPIM),INTENT(IN) :: KMAX
INTEGER(KIND=JPIM),OPTIONAL,INTENT(OUT) :: KERR
INTEGER(KIND=JPIM) :: IERR
! Increment by 1
K=K+1
! Security check
IERR=0
IF (K > KMAX) THEN
WRITE(NULERR,'("OML_INCR_COUNTER: ILOCK > SIZE(KLOCK), ILOCK=",I0," SIZE(KLOCK)=",I0)') K,KMAX
CALL ABOR1('PLEASE INCREASE JP_LOCKS IN CALL_SL_AD')
RETURN
IERR=1
WRITE(NULERR,'("OML_INCR_COUNTER: ILOCK > SIZE(KLOCK), ILOCK=",I0," SIZE(KLOCK)=",I0)') K,KMAX
IF (.NOT. PRESENT(KERR)) CALL ABOR1('OML_INCR_COUNTER: PLEASE INCREASE LOCKS ARRAY DIMENSION.')
ENDIF
IF(PRESENT(KERR)) KERR=IERR
END SUBROUTINE OML_INCR_COUNTER


FUNCTION OML_MY_THREAD()
INTEGER(KIND=JPIM) :: OML_MY_THREAD
!$ INTEGER(KIND=JPIM) :: OMP_GET_THREAD_NUM
Expand Down
Loading