My Project
Public Member Functions | List of all members
mod_ncll::delete_var_link Interface Reference

Public Member Functions

subroutine delete_varp_byname (LIST, NAME, FOUND)
 
subroutine delete_varp_byvarid (LIST, VARID, FOUND)
 

Detailed Description

Definition at line 217 of file mod_ncll.f90.

Member Function/Subroutine Documentation

◆ delete_varp_byname()

subroutine mod_ncll::delete_var_link::delete_varp_byname ( type(ncfile), intent(inout)  LIST,
character(len=*), intent(in)  NAME,
logical, intent(out)  FOUND 
)

Definition at line 1074 of file mod_ncll.f90.

1074  IMPLICIT NONE
1075  ! NCFILE IS ALWAYS THE HEAD FOR A VAR LINK LIST
1076  TYPE(NCFILE), INTENT(INOUT):: LIST
1077  CHARACTER(LEN=*),INTENT(IN) :: NAME
1078  LOGICAL, INTENT(OUT) :: FOUND
1079  TYPE(NCVARP), pointer :: CURRENT, PREVIOUS
1080 
1081  previous => list%VARS
1082  current => previous%NEXT
1083  found = .false.
1084 
1085  DO
1086  IF(.NOT. ASSOCIATED(current)) RETURN !END OF LIST
1087 
1088  IF( name == current%VAR%VARNAME ) THEN ! FOUND THE FILE LINK
1089  found = .true.
1090  EXIT
1091  ELSE
1092  previous => previous%NEXT
1093  current => current%NEXT
1094  END IF
1095  END DO
1096 
1097  ! IF FOUND DELETE IT
1098  previous%NEXT => current%NEXT
1099  CALL kill_var(current%VAR)
1100  DEALLOCATE(current)
1101 

◆ delete_varp_byvarid()

subroutine mod_ncll::delete_var_link::delete_varp_byvarid ( type(ncfile), intent(inout)  LIST,
integer, intent(in)  VARID,
logical, intent(out)  FOUND 
)

Definition at line 1106 of file mod_ncll.f90.

1106  IMPLICIT NONE
1107  ! NCFILE IS ALWAYS THE HEAD FOR A VAR LINK LIST
1108  TYPE(NCFILE), INTENT(INOUT):: LIST
1109  INTEGER, INTENT(IN) :: VARID
1110  LOGICAL, INTENT(OUT) :: FOUND
1111  TYPE(NCVARP), pointer :: CURRENT, PREVIOUS
1112 
1113  previous => list%VARS
1114  current => previous%NEXT
1115  found = .false.
1116 
1117  DO
1118  IF(.NOT. ASSOCIATED(current)) RETURN !END OF LIST
1119 
1120  IF( varid == current%VAR%VARID ) THEN ! FOUND THE FILE LINK
1121  found = .true.
1122  EXIT
1123  ELSE
1124  previous => previous%NEXT
1125  current => current%NEXT
1126  END IF
1127  END DO
1128 
1129  ! IF FOUND DELETE IT
1130  previous%NEXT => current%NEXT
1131  CALL kill_var(current%VAR)
1132  DEALLOCATE(current)
1133 

The documentation for this interface was generated from the following file: