enter_subregion Subroutine

public subroutine enter_subregion(subregion_name)

add the current subregion to the active_regions (maximum depth is 5) This information is collected uniquely for the abort error message

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: subregion_name

Source Code

SUBROUTINE enter_subregion(subregion_name)
! MODULES
  IMPLICIT NONE
!----------------------------------------------------------------------------------------------------------------------------------
! INPUT/OUTPUT VARIABLES
  CHARACTER(LEN=*), INTENT(IN) :: subregion_name
!----------------------------------------------------------------------------------------------------------------------------------
#if DEBUG
  CHARACTER(LEN=MAXLEN) :: regions
  INTEGER :: i
#endif
!==================================================================================================================================
  IF(MPIroot)THEN
    IF(iregion>4) CALL Abort(__STAMP__,&
                         "active subregion reached maximum depth of 5")
    iregion=iregion+1
    active_region(iregion)=subregion_name
#if DEBUG
    regions=active_region(1)
    DO i=2,iregion
      regions=TRIM(regions)//"."//TRIM(active_region(i))
    END DO
    SWRITE(Unit_stdOut,'(A)') '==> entering '//TRIM(regions)
#endif
  END IF
END SUBROUTINE enter_subregion