My Project
Public Member Functions | List of all members
mod_ncll::assignment(=) Interface Reference

Public Member Functions

subroutine copy_dim_list (DIMPOUT, DIMPIN)
 
subroutine copy_att_list (ATTPOUT, ATTPIN)
 
subroutine copy_ftime (FTIME_OUT, FTIME_IN)
 

Detailed Description

Definition at line 351 of file mod_ncll.f90.

Member Function/Subroutine Documentation

◆ copy_att_list()

subroutine mod_ncll::assignment(=)::copy_att_list ( type(ncattp), intent(out), target  ATTPOUT,
type(ncattp), intent(in), target  ATTPIN 
)

Definition at line 1529 of file mod_ncll.f90.

1529  IMPLICIT NONE
1530 ! TYPE(NCATTP), POINTER, INTENT(IN) :: ATTPIN
1531 ! TYPE(NCATTP), POINTER, INTENT(INOUT) :: ATTPOUT
1532  TYPE(NCATTP), TARGET, INTENT(IN) :: ATTPIN
1533  TYPE(NCATTP), TARGET, INTENT(OUT) :: ATTPOUT
1534  TYPE(NCATT), POINTER :: ATT
1535  TYPE(NCATTP),POINTER :: CURRENT_IN, PREVIOUS_IN
1536  TYPE(NCATTP),POINTER :: CURRENT_OUT, PREVIOUS_OUT
1537 
1538  integer status
1539 
1540 !!$ IF(.not. Associated(ATTPIN)) CALL FATAL_ERROR("THE INPUT ARGUMENT MUST BE&
1541 !!$ & ASSOCIAED FOR COPY_ATT_LIST?")
1542 !!$
1543 !!$ IF(.not. Associated(ATTPOUT)) CALL FATAL_ERROR("THE OUTPUT ARGUMENT MUST BE&
1544 !!$ & ASSOCIAED FOR COPY_ATT_LIST?")
1545 
1546  previous_in => attpin
1547  current_in => previous_in%NEXT
1548 
1549  previous_out => attpout
1550  current_out => previous_out%NEXT
1551 
1552  ! I DON'T THINK THAT CURRENT_OUT SERVES ANY PURPOSE HERE?
1553  ! I DON'T THINK THAT PREVIOUS_IN SERVES ANY PURPOSE HERE?
1554 
1555 
1556  DO
1557  IF(.NOT. ASSOCIATED(current_in)) THEN
1558  RETURN ! END OF ATT IN LIST
1559  END IF
1560 
1561  IF(.NOT. ASSOCIATED(current_in%ATT)) THEN
1562  CALL fatal_error("COPY_ATT_LIST: FOUND NULL DIM POINTER IN THE LIST")
1563  END IF
1564 
1565  previous_out%NEXT => new_attp()
1566  previous_out%NEXT%ATT => copy_att(current_in%ATT)
1567  previous_out%NEXT%NEXT => current_out
1568 
1569  ! INCRIMENT THROUGH THE LIST
1570  previous_out => previous_out%NEXT
1571  ! DO NOT INCRIMENT CURRENT_OUT
1572 
1573  previous_in => previous_in%NEXT
1574  current_in => current_in%NEXT
1575 
1576  END DO
1577 
1578 
1579 

◆ copy_dim_list()

subroutine mod_ncll::assignment(=)::copy_dim_list ( type(ncdimp), intent(out), target  DIMPOUT,
type(ncdimp), intent(in), target  DIMPIN 
)

Definition at line 2213 of file mod_ncll.f90.

2213  IMPLICIT NONE
2214 ! TYPE(NCDIMP),POINTER,INTENT(INOUT):: DIMPOUT
2215 ! TYPE(NCDIMP), POINTER, INTENT(IN) :: DIMPIN
2216  TYPE(NCDIMP),TARGET, INTENT(OUT):: DIMPOUT
2217  TYPE(NCDIMP), TARGET, INTENT(IN) :: DIMPIN
2218  TYPE(NCDIM), POINTER :: DIM
2219  TYPE(NCDIMP),POINTER :: CURRENT_IN, PREVIOUS_IN
2220  TYPE(NCDIMP),POINTER :: CURRENT_OUT, PREVIOUS_OUT
2221 
2222  integer status
2223 
2224 !!$ IF(.not. Associated(DIMPIN)) CALL FATAL_ERROR("THE INPUT ARGUMENT MUST BE&
2225 !!$ & ASSOCIAED FOR COPY_DIM_LIST?")
2226 !!$
2227 !!$ IF(.not. Associated(DIMPOUT)) CALL FATAL_ERROR("THE OUTPUT ARGUMENT MUST BE&
2228 !!$ & ASSOCIAED FOR COPY_DIM_LIST?")
2229 
2230  previous_in => dimpin
2231  current_in => previous_in%NEXT
2232 
2233 ! DIMPOUT => NEW_DIMP()
2234  previous_out => dimpout
2235  current_out => previous_out%NEXT
2236 
2237  ! I DON'T THINK THAT CURRENT_OUT SERVES ANY PURPOSE HERE?
2238  ! I DON'T THINK THAT PREVIOUS_IN SERVES ANY PURPOSE HERE?
2239 
2240 
2241  DO
2242  IF(.NOT. ASSOCIATED(current_in)) THEN
2243  RETURN ! END OF DIM IN LIST
2244  END IF
2245 
2246  IF(.NOT. ASSOCIATED(current_in%DIM)) THEN
2247  CALL fatal_error("COPY_DIM_LIST: FOUND NULL DIM POINTER IN THE LIST")
2248  END IF
2249 
2250  previous_out%NEXT => new_dimp()
2251  previous_out%NEXT%DIM => copy_dim(current_in%DIM)
2252  previous_out%NEXT%NEXT => current_out
2253 
2254  ! INCRIMENT THROUGH THE LIST
2255  previous_out => previous_out%NEXT
2256  ! DO NOT INCRIMENT CURRENT_OUT
2257 
2258  previous_in => previous_in%NEXT
2259  current_in => current_in%NEXT
2260 
2261  END DO
2262 
2263 
2264 

◆ copy_ftime()

subroutine mod_ncll::assignment(=)::copy_ftime ( type(ncftime), intent(out)  FTIME_OUT,
type(ncftime), intent(in)  FTIME_IN 
)

Definition at line 487 of file mod_ncll.f90.

487  IMPLICIT NONE
488  TYPE(NCFTIME),INTENT(OUT):: FTIME_OUT
489  TYPE(NCFTIME),INTENT(IN) :: FTIME_IN
490 
491  ftime_out%TMTYPE = ftime_in%TMTYPE
492  ftime_out%STK_LEN = ftime_in%STK_LEN
493  ftime_out%PREV_STKCNT = ftime_in%PREV_STKCNT
494  ftime_out%NEXT_STKCNT = ftime_in%NEXT_STKCNT
495  ftime_out%MAX_STKCNT = ftime_in%MAX_STKCNT
496  ftime_out%PREV_IO = ftime_in%PREV_IO
497  ftime_out%NEXT_IO = ftime_in%NEXT_IO
498  ftime_out%PREV_WGHT = ftime_in%PREV_WGHT
499  ftime_out%NEXT_WGHT = ftime_in%NEXT_WGHT
500  ftime_out%INTERVAL = ftime_in%INTERVAL
501  ftime_out%TIMEZONE = ftime_in%TIMEZONE
502 

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