exit_subregion Subroutine

public subroutine exit_subregion(subregion_name)

remove the current subregion from the active subregions

Arguments

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

Source Code

SUBROUTINE exit_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 DEBUG
    regions=active_region(1)
    DO i=2,iregion
      regions=TRIM(regions)//"."//TRIM(active_region(i))
    END DO
    SWRITE(Unit_stdOut,'(A)') '<==  exiting '//TRIM(regions)
#endif
    IF(TRIM(subregion_name).NE.TRIM(active_region(iregion))) &
      CALL Abort(__STAMP__,&
                "trying to exit subregion '"//TRIM(subregion_name)// &
                "', but currently active subregion is '"//TRIM(active_region(iregion))//"'")
    active_region(iregion)=""
    iregion=iregion-1
  END IF
END SUBROUTINE exit_subregion