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

Public Member Functions

subroutine insert_varp_byvar (LIST, VAR, FOUND)
 

Detailed Description

Definition at line 224 of file mod_ncll.f90.

Member Function/Subroutine Documentation

◆ insert_varp_byvar()

subroutine mod_ncll::insert_var_link::insert_varp_byvar ( type(ncfile), intent(inout)  LIST,
type(ncvar), pointer  VAR,
logical, intent(out)  FOUND 
)

Definition at line 1212 of file mod_ncll.f90.

1212  ! IF FOUND DO NOT INSERT DUPLICATE, RETURN FOUND
1213  ! ALWAYS INSERT NCVARP AT THE END OF THE LIST
1214  IMPLICIT NONE
1215  TYPE(NCVAR),POINTER :: VAR
1216  LOGICAL, INTENT(OUT) :: FOUND
1217  TYPE(NCFILE), INTENT(INOUT):: LIST
1218  TYPE(NCVARP),POINTER :: CURRENT, PREVIOUS
1219  INTEGER CNT
1220 
1221  IF(.NOT.ASSOCIATED(var))&
1222  & CALL fatal_error("INSERT_VARP_BYVAR: VAR NOT ASSOCIATED!")
1223 
1224  previous => list%VARS
1225  current => previous%NEXT
1226  found = .false.
1227  cnt = 1
1228  ! DO NOT MAKE DUPLICATE ENTRIES IN THE LIST
1229  DO
1230  IF(.NOT. ASSOCIATED(current)) EXIT !END OF LIST
1231  IF( var%VARNAME == current%VAR%VARNAME ) THEN ! FOUND THE FILE LINK
1232  found = .true.
1233  RETURN
1234  ELSE
1235  previous => previous%NEXT
1236  current => current%NEXT
1237  cnt = cnt + 1
1238  END IF
1239  END DO
1240  ! NOT FOUND - ADD NEW FILE TO END OF LIST
1241  previous%NEXT => new_varp()
1242  previous%NEXT%VAR => var
1243  var%VARID = cnt
1244 

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