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

Public Member Functions

subroutine delete_ncf_dimp_byname (LIST, NAME, FOUND)
 
subroutine delete_ncf_dimp_bydimid (LIST, DIMID, FOUND)
 
subroutine delete_var_dimp_byname (LIST, NAME, FOUND)
 
subroutine delete_var_dimp_bydimid (LIST, DIMID, FOUND)
 

Detailed Description

Definition at line 283 of file mod_ncll.f90.

Member Function/Subroutine Documentation

◆ delete_ncf_dimp_bydimid()

subroutine mod_ncll::delete_dim_link::delete_ncf_dimp_bydimid ( type(ncfile), intent(inout)  LIST,
integer, intent(in)  DIMID,
logical, intent(out)  FOUND 
)

Definition at line 2348 of file mod_ncll.f90.

2348  IMPLICIT NONE
2349  TYPE(NCFILE), INTENT(INOUT):: LIST
2350  INTEGER, INTENT(IN) :: DIMID
2351  LOGICAL, INTENT(OUT) :: FOUND
2352  LOGICAL :: F1
2353  TYPE(NCDIMP) ,POINTER :: CURRENT, PREVIOUS
2354  TYPE(NCVARP) ,POINTER :: CURRENT_VAR
2355 
2356  current_var => list%VARS%NEXT
2357  DO
2358  IF(.NOT. ASSOCIATED(current_var)) RETURN !END OF LIST
2359 
2360  IF(.NOT. ASSOCIATED(current_var%VAR)) THEN
2361  CALL fatal_error("DELETE_NCF_DIMP_BYDIMID: NULL VAR POINTER IN FILE LIST?")
2362  END IF
2363 
2364  CALL delete_dim_link(current_var%VAR,dimid,f1)
2365 
2366  current_var => current_var%NEXT
2367  END DO
2368 
2369 
2370 
2371  previous => list%DIMS
2372  current => previous%NEXT
2373  found = .false.
2374 
2375  DO
2376  IF(.NOT. ASSOCIATED(current)) RETURN !END OF LIST
2377 
2378  IF( dimid == current%DIM%DIMID ) THEN ! FOUND THE FILE LINK
2379  found = .true.
2380  EXIT
2381  ELSE
2382  previous => previous%NEXT
2383  current => current%NEXT
2384  END IF
2385  END DO
2386 
2387  ! IF FOUND DELETE IT
2388  previous%NEXT => current%NEXT
2389  CALL kill_dim(current%DIM)
2390  DEALLOCATE(current)
2391 

◆ delete_ncf_dimp_byname()

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

Definition at line 2301 of file mod_ncll.f90.

2301  IMPLICIT NONE
2302  TYPE(NCFILE), INTENT(INOUT):: LIST
2303  CHARACTER(LEN=*),INTENT(IN) :: NAME
2304  LOGICAL, INTENT(OUT) :: FOUND
2305  LOGICAL :: F1
2306  TYPE(NCDIMP) ,POINTER :: CURRENT, PREVIOUS
2307  TYPE(NCVARP) ,POINTER :: CURRENT_VAR
2308 
2309  current_var => list%VARS%NEXT
2310  DO
2311  IF(.NOT. ASSOCIATED(current_var)) RETURN !END OF LIST
2312 
2313  IF(.NOT. ASSOCIATED(current_var%VAR)) THEN
2314  CALL fatal_error("DELETE_NCF_DIMP_BYNAME: NULL VAR POINTER IN FILE LIST?")
2315  END IF
2316 
2317  CALL delete_dim_link(current_var%VAR,name,f1)
2318 
2319  current_var => current_var%NEXT
2320  END DO
2321 
2322 
2323  previous => list%DIMS
2324  current => previous%NEXT
2325  found = .false.
2326 
2327  DO
2328  IF(.NOT. ASSOCIATED(current)) RETURN !END OF LIST
2329 
2330  IF( name == current%DIM%DIMNAME ) THEN ! FOUND THE FILE LINK
2331  found = .true.
2332  EXIT
2333  ELSE
2334  previous => previous%NEXT
2335  current => current%NEXT
2336  END IF
2337  END DO
2338 
2339  ! IF FOUND DELETE IT
2340  previous%NEXT => current%NEXT
2341  CALL kill_dim(current%DIM)
2342  DEALLOCATE(current)
2343 

◆ delete_var_dimp_bydimid()

subroutine mod_ncll::delete_dim_link::delete_var_dimp_bydimid ( type(ncvar), intent(inout)  LIST,
integer, intent(in)  DIMID,
logical, intent(out)  FOUND 
)

Definition at line 2464 of file mod_ncll.f90.

2464  IMPLICIT NONE
2465  TYPE(NCVAR), INTENT(INOUT):: LIST
2466  INTEGER, INTENT(IN) :: DIMID
2467  LOGICAL, INTENT(OUT) :: FOUND
2468  TYPE(NCDIMP) ,POINTER :: CURRENT, PREVIOUS
2469 
2470  previous => list%DIMS
2471  current => previous%NEXT
2472  found = .false.
2473 
2474  DO
2475  IF(.NOT. ASSOCIATED(current)) RETURN !END OF LIST
2476 
2477  IF(.NOT. ASSOCIATED(current%DIM))THEN
2478  ! CALL PRINT_VAR(LIST)
2479  CALL fatal_error("DELETE_VAR_DIMP_BYDIMID: VARIABLE HAS UNASSOCIATED DIMENSION IN LIST?")
2480  END IF
2481 
2482  IF( dimid == current%DIM%DIMID ) THEN ! FOUND THE FILE LINK
2483  found = .true.
2484  EXIT
2485  ELSE
2486  previous => previous%NEXT
2487  current => current%NEXT
2488  END IF
2489  END DO
2490 
2491  ! IF FOUND DELETE IT
2492  previous%NEXT => current%NEXT
2493 
2494  IF(current%DIM%DIMID==-1) THEN
2495  call kill_dim(current%DIM) ! IT BELONGS TO THE VAR ONLY, NOT PART
2496  ! OF A FILE
2497  ELSE
2498  NULLIFY(current%DIM) ! DO NOT DEALLOCATE POINTER TO ACTUAL
2499  ! DIMENSION, IT BELONGS TO A FILE
2500  END IF
2501  DEALLOCATE(current)

◆ delete_var_dimp_byname()

subroutine mod_ncll::delete_dim_link::delete_var_dimp_byname ( type(ncvar), intent(inout)  LIST,
character(len=*), intent(in)  NAME,
logical, intent(out)  FOUND 
)

Definition at line 2417 of file mod_ncll.f90.

2417  IMPLICIT NONE
2418  TYPE(NCVAR), INTENT(INOUT):: LIST
2419  CHARACTER(LEN=*),INTENT(IN) :: NAME
2420  LOGICAL, INTENT(OUT) :: FOUND
2421  TYPE(NCDIMP) ,POINTER :: CURRENT, PREVIOUS
2422 
2423  previous => list%DIMS
2424  current => previous%NEXT
2425  found = .false.
2426 
2427  DO
2428  IF(.NOT. ASSOCIATED(current)) RETURN !END OF LIST
2429 
2430  IF(.NOT. ASSOCIATED(current%DIM))THEN
2431  ! CALL PRINT_VAR(LIST)
2432  CALL fatal_error("DELETE_VAR_DIMP_BYNAME: VARIABLE HAS UNASSOCIATED DIMENSION IN LIST?")
2433  END IF
2434 
2435  IF( name == current%DIM%DIMNAME ) THEN ! FOUND THE FILE LINK
2436  found = .true.
2437  EXIT
2438  ELSE
2439  previous => previous%NEXT
2440  current => current%NEXT
2441  END IF
2442  END DO
2443 
2444  ! IF FOUND DELETE IT
2445  previous%NEXT => current%NEXT
2446 
2447  IF(current%DIM%DIMID==-1) THEN
2448  call kill_dim(current%DIM) ! IT BELONGS TO THE VAR ONLY, NOT PART
2449  ! OF A FILE
2450  ELSE
2451  NULLIFY(current%DIM) ! DO NOT DEALLOCATE POINTER TO ACTUAL
2452  ! DIMENSION, IT BELONGS TO A FILE
2453  END IF
2454 
2455  DEALLOCATE(current)
2456 

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