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
  ! LOCAL VARIABLES -------------------------------------------------------------------------------------------------------------!
#if DEBUG
  CHARACTER(LEN=MAXLEN) :: regions
  INTEGER :: i
#endif
  ! CODE ------------------------------------------------------------------------------------------------------------------------!
  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