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

Public Member Functions

type(ncvar) function, pointer var_plus_dim (VAR, DIM)
 
type(ncvar) function, pointer var_plus_att (VAR, ATT)
 
type(ncfile) function, pointer ncf_plus_var (NCF, VAR)
 
type(ncfile) function, pointer ncf_plus_att (NCF, ATT)
 
type(ncfile) function, pointer ncf_plus_dim (NCF, DIM)
 
type(ncfile) function, pointer ncf_plus_ncf (NCF1, NCF2)
 
type(ncfilelist) function, pointer ncflist_plus_ncf (NCFLIST, NCF)
 

Detailed Description

Definition at line 341 of file mod_ncll.f90.

Member Function/Subroutine Documentation

◆ ncf_plus_att()

type(ncfile) function, pointer mod_ncll::add::ncf_plus_att ( type(ncfile), pointer  NCF,
type(ncatt), pointer  ATT 
)

Definition at line 3732 of file mod_ncll.f90.

3732  IMPLICIT NONE
3733  type(NCATT), POINTER :: ATT
3734  type(NCFILE), POINTER :: RET
3735  type(NCFILE), POINTER :: NCF
3736  LOGICAL FOUND
3737  if(dbg_set(dbg_sbr)) &
3738  & write(ipt,*) "START NCF_PLUS_ATT"
3739 
3740  IF(.NOT. ASSOCIATED(ncf)) CALL fatal_error &
3741  & ("NCF_PLUS_ATT: THE FILE OBJECT ARGUMENT IS NOT ASSOC&
3742  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3743 
3744  IF(.NOT. ASSOCIATED(att)) CALL fatal_error &
3745  & ("NCF_PLUS_ATT: THE ATT OBJECT ARGUMENT IS NOT ASSOC&
3746  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3747 
3748  IF(ncf%CONNECTED) CALL fatal_error&
3749  ("CAN NOT ADD ATTRIBUTE TO FILE OBJECTS ALREADY CONNECTED TO A NETCDF FILE")
3750 
3751  CALL insert_att_link(ncf,att,found)
3752  ! ADD ERROR HANDLING LATER FOR MERGING ATTS
3753  IF(found) CALL fatal_error("ERROR ADDIND ATTRIBUTE TO FILE",&
3754  & "THE ATTRIBUTE: "//trim(att%ATTNAME)//"; ALREADY EXISTS",&
3755  & "IN THE FILE: "//trim(ncf%FNAME))
3756 
3757 
3758  !ALL MEMORY NOW BELONGS TO RET
3759  ret => ncf
3760  NULLIFY(ncf)
3761  NULLIFY(att)
3762  if(dbg_set(dbg_sbr)) &
3763  & write(ipt,*) "END NCF_PLUS_ATT"

◆ ncf_plus_dim()

type(ncfile) function, pointer mod_ncll::add::ncf_plus_dim ( type(ncfile), pointer  NCF,
type(ncdim), pointer  DIM 
)

Definition at line 3768 of file mod_ncll.f90.

3768  IMPLICIT NONE
3769  type(NCDIM), POINTER :: DIM
3770  type(NCFILE), POINTER :: RET
3771  type(NCFILE), POINTER :: NCF
3772  LOGICAL FOUND
3773  if(dbg_set(dbg_sbr)) &
3774  & write(ipt,*) "START NCF_PLUS_DIM"
3775 
3776  IF(.NOT. ASSOCIATED(ncf)) CALL fatal_error &
3777  & ("NCF_PLUS_DIM: THE FILE OBJECT ARGUMENT IS NOT ASSOC&
3778  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3779 
3780  IF(.NOT. ASSOCIATED(dim)) CALL fatal_error &
3781  & ("NCF_PLUS_DIM: THE DIM OBJECT ARGUMENT IS NOT ASSOC&
3782  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3783 
3784 
3785  IF(ncf%CONNECTED) CALL fatal_error&
3786  ("CAN NOT ADD DIMENSION TO FILE OBJECTS ALREADY CONNECTED TO A NETCDF FILE")
3787 
3788  CALL insert_dim_link(ncf,dim,found)
3789 
3790  ! ADDING DUPLICATE DIMENSIONS TO A FILE IS NOT IS OKAY
3791  IF(found) CALL fatal_error("ERROR ADDIND DIMENSION TO FILE",&
3792  & "THE DIMENSION: "//trim(dim%DIMNAME)//"; ALREADY EXISTS",&
3793  & "IN THE FILE: "//trim(ncf%FNAME))
3794 
3795 
3796  !ALL MEMORY NOW BELONGS TO RET
3797  ret => ncf
3798  NULLIFY(ncf)
3799  NULLIFY(dim)
3800 
3801  if(dbg_set(dbg_sbr)) &
3802  & write(ipt,*) "END NCF_PLUS_DIM"

◆ ncf_plus_ncf()

type(ncfile) function, pointer mod_ncll::add::ncf_plus_ncf ( type(ncfile), pointer  NCF1,
type(ncfile), pointer  NCF2 
)

Definition at line 3807 of file mod_ncll.f90.

3807  ! ADD EACH VARIABLE FROM NCF2 TO NCF1
3808  ! THE VARIABLES WILL TAKE THEIR DIMENSIONS WITH THEM AS NEEDED
3809  !
3810  ! ADD ANY ATTRIBUTES THAT DO NOT ALREADY EXIST IN NCF1
3811 
3812  IMPLICIT NONE
3813  type(NCFILE), POINTER :: NCF1
3814  type(NCFILE), POINTER :: NCF2
3815  type(NCFILE), POINTER :: RET
3816 
3817  type(NCVARP), POINTER :: CURRENT_VAR
3818  type(NCVAR), POINTER :: VAR
3819 
3820  type(NCDIMP), POINTER :: CURRENT_DIM
3821  type(NCDIM), POINTER :: DIM1
3822  type(NCDIM), POINTER :: DIM2
3823 
3824  TYPE(NCATTP), POINTER :: CURRENT_ATT
3825 !!$
3826  TYPE(NCATT), POINTER :: ATTT
3827 !!$
3828 
3829  CHARACTER(LEN=NF90_MAX_NAME+1):: NAME
3830  LOGICAL FOUND1, FOUND2
3831 
3832  if(dbg_set(dbg_sbr)) &
3833  & write(ipt,*) "START NCF_PLUS_NCF"
3834 
3835 
3836  IF(.NOT. ASSOCIATED(ncf1)) CALL fatal_error &
3837  & ("NCF_PLUS_NCF: THE FIRST FILE OBJECT ARGUMENT IS NOT ASSOC&
3838  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3839 
3840  IF(.NOT. ASSOCIATED(ncf2)) CALL fatal_error &
3841  & ("NCF_PLUS_NCF: THE SECOND FILE OBJECT ARGUMENT IS NOT ASSOC&
3842  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3843 
3844  IF(ncf1%CONNECTED .OR. ncf2%CONNECTED) CALL fatal_error&
3845  ("CAN NOT COMBINE FILE OBJECTS ALREADY CONNECTED TO A NETCDF FILE")
3846 
3847  current_var => ncf2%VARS%NEXT
3848 
3849  DO
3850  IF(.NOT. ASSOCIATED(current_var)) EXIT
3851 
3852  IF (.NOT. ASSOCIATED(current_var%VAR)) &
3853  & CALL fatal_error("NCF_PLUS_NCF: ATTEMPT TO ADD A FILE &
3854  &THAT HAS UNASSOCIATED VAR POINTER IN ITS LINK LIST!")
3855 
3856  ! Variable from the second file
3857  var =>copy_var(current_var%VAR)
3858  !DISCONECT THE VARIABLE MOMENTARILY
3859  var%CONNECTED=.false.
3860 
3861 
3862  current_dim=>var%DIMS%NEXT
3863  DO
3864  IF(.NOT. ASSOCIATED(current_dim)) EXIT
3865 
3866  IF (.NOT. ASSOCIATED(current_dim%DIM)) &
3867  & CALL fatal_error("NCF_PLUS_NCF: ATTEMPT TO ADD VARIABLE &
3868  &THAT HAS UNASSOCIATED DIM POINTERS IN ITS LINK LIST!")
3869 
3870  !DIM from the variable of the second file
3871  dim2 => current_dim%DIM
3872 
3873  CALL insert_dim_link(ncf1,dim2,found1)
3874  ! THIS WILL ADD THE VARIABLES DIMENSION IF IT IS NOT THERE ALREADY
3875  ! IN THE FILE. THERE IS SOME BASIC CONSISTANCY CHECKING.
3876 
3877  ! IF WE JUST ADDED IT, GREAT! NOW THE FILE'S DIM LINK LIST AND
3878  ! THE VARIABLE'S DIM LINK LIST ALREADY POINT TO THE SAME MEMORY
3879 
3880  ! IF WE FOUND IT IN THE FILE TO WHICH THE VARIABLE IS BEING
3881  ! ADDED MOVE THE POINTER OVER
3882  IF (found1) THEN
3883  current_dim%DIM => find_dim(ncf1,dim2%DIMNAME,found2)
3884  IF (.NOT. found2) CALL fatal_error("NCF_PLUS_NCF: CAN'T FIN&
3885  &D DIMENSION IN FILE BUT IT WAS HERE A SECOND AGO?")
3886  CALL kill_dim(dim2)
3887 
3888  END IF
3889 
3890  current_dim => current_dim%NEXT
3891  END DO
3892 
3893  ! NOW ADD THE VARIABLE TO THE FILE
3894 
3895  CALL insert_var_link(ncf1,var,found1)
3896  IF(found1) CALL fatal_error("NCF_PLUS_VAR: THIS VARIABLE ALREADY EX&
3897  &ISTS IN THE FILE. YOU CAN'T ADD IT AGAIN!", &
3898  & "VARIABLE NAME: "//trim(var%VARNAME))
3899 
3900 
3901  var%NCID => ncf1%NCID
3902  var%CONNECTED=.true.
3903 
3904  current_var => current_var%NEXT
3905  END DO
3906 
3907 
3908 !!$ ! NOW GO THROUGH DIMENSION LIST IN BOTH FILES AND DELETE DUPLICATES!
3909 !!$ CURRENT_DIM=>NCF2%DIMS%NEXT
3910 !!$ DO
3911 !!$ IF(.NOT. ASSOCIATED(CURRENT_DIM)) EXIT
3912 !!$
3913 !!$ IF (.NOT. ASSOCIATED(CURRENT_DIM%DIM)) &
3914 !!$ & CALL FATAL_ERROR("NCF_PLUS_NCF: ATTEMPT TO ADD VARIABLE &
3915 !!$ &THAT HAS UNASSOCIATED DIM POINTERS IN ITS LINK LIST!")
3916 !!$
3917 !!$ !DIM from the second file
3918 !!$ DIM2 => CURRENT_DIM%DIM
3919 !!$
3920 !!$ DIM1 => FIND_DIM(NCF1,DIM2%DIMNAME,FOUND1)
3921 !!$ IF (.NOT. FOUND1) THEN
3922 !!$ CALL FATAL_ERROR("NCF_PLUS_NCF: ALL DIMENSIO&
3923 !!$ &NS FROM FILE TWO SHOULD ALREADY BE ADDED TO FILE ONE:",&
3924 !!$ &"FOUND DIMNAME: "//DIM2%DIMNAME//" IN FILE 2 BUT NOT IN 1&
3925 !!$ & ?")
3926 !!$ ELSE
3927 !!$ IF(.not. associated(DIM1,target = DIM2)) CALL KILL_DIM(DIM2)
3928 !!$ END IF
3929 !!$
3930 !!$ CURRENT_DIM => CURRENT_DIM%NEXT
3931 !!$
3932 !!$ END DO
3933 
3934 
3935  current_att => ncf2%ATTS%NEXT
3936  DO
3937  IF(.NOT. ASSOCIATED(current_att)) EXIT
3938 
3939  IF (.NOT. ASSOCIATED(current_att%ATT)) &
3940  & CALL fatal_error("NCF_PLUS_NCF: ATTEMPT TO ADD A FILE &
3941  &THAT HAS UNASSOCIATED ATT POINTER IN ITS LINK LIST!")
3942 
3943  attt => copy_att(current_att%ATT)
3944  ncf1 => ncf_plus_att(ncf1,attt)
3945 !!$ NCF1 => NCF_PLUS_ATT(NCF1,Copy_Att(CURRENT_ATT%ATT))
3946  !ALREADY INCRIMENTED NATTS
3947 
3948  current_att => current_att%NEXT
3949  END DO
3950 
3951 
3952 
3953  ret => ncf1
3954  NULLIFY(ncf1)
3955  CALL kill_file(ncf2)
3956  NULLIFY(ncf2)
3957 
3958  if(dbg_set(dbg_sbr)) &
3959  & write(ipt,*) "END NCF_PLUS_NCF"
3960 

◆ ncf_plus_var()

type(ncfile) function, pointer mod_ncll::add::ncf_plus_var ( type(ncfile), pointer  NCF,
type(ncvar), pointer  VAR 
)

Definition at line 3626 of file mod_ncll.f90.

3626  ! ADD THE VARIABLE TO THE FILE LIST IF IT DOES NOT ALREADY EXIST
3627  !
3628  ! ADD THE VARIABLES DIMENSIONS IF THEY DO NOT EXIST IN THE FILE LIST
3629  ! OR POINT TO THE FILES DIMENSIONS AND USE THE FILES DIMIDS IF THE
3630  ! DIMENSION ALREADY EXISTS IN THE FILE'S LIST
3631  !
3632  ! ATTRIBUTES BELONG TO THE VARIABLE, JUST ADD THEM WITH THE VARIABLE
3633  IMPLICIT NONE
3634  type(NCVAR), POINTER :: VAR
3635  type(NCFILE), POINTER :: RET
3636  type(NCFILE), POINTER :: NCF
3637  type(NCDIM), POINTER :: VDIM, GDIM
3638  type(NCDIMP), POINTER :: CURRENT
3639 
3640  LOGICAL :: FOUND, F
3641  CHARACTER(LEN=NF90_MAX_NAME+1):: NAME
3642  if(dbg_set(dbg_sbr)) &
3643  & write(ipt,*) "START NCF_PLUS_VAR"
3644 
3645  IF(.NOT. ASSOCIATED(ncf)) CALL fatal_error &
3646  & ("NCF_PLUS_VAR: THE FILE OBJECT ARGUMENT IS NOT ASSOC&
3647  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3648 
3649  IF(.NOT. ASSOCIATED(var)) CALL fatal_error &
3650  & ("NCF_PLUS_VAR: THE VAR OBJECT ARGUMENT IS NOT ASSOC&
3651  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3652 
3653 
3654  IF(ncf%CONNECTED) CALL fatal_error&
3655  ("CAN NOT ADD VARIABLE TO FILE OBJECTS ALREADY CONNECTED TO A NETCDF FILE")
3656 
3657  IF(var%CONNECTED) CALL fatal_error&
3658  ("CAN NOT ADD VARIABLE TO A FILE OBJECT WHEN IT IS ALREADY CONNECTED")
3659 
3660 
3661  ! LOOK TO SEE IF WE NEED TO ADD ANY NEW DIMENSIONS TO THE FILE
3662  current=>var%DIMS%NEXT
3663  DO
3664  IF(.NOT. ASSOCIATED(current)) EXIT
3665 
3666  IF (.NOT. ASSOCIATED(current%DIM)) &
3667  & CALL fatal_error("NCF_PLUS_VAR: ATTEMPT TO ADD VARIABLE &
3668  &THAT HAS UNASSOCIATED DIM POINTERS IN ITS LINK LIST!")
3669 
3670  vdim => current%DIM
3671 
3672  CALL insert_dim_link(ncf,vdim,found)
3673  ! THIS WILL ADD THE VARIABLES DIMENSION IF IT IS NOT THERE ALREADY
3674  ! IN THE FILE. THERE IS SOME BASIC CONSISTANCY CHECKING.
3675 
3676  ! IF WE JUST ADDED IT, GREAT! NOW THE FILE'S DIM LINK LIST AND
3677  ! THE VARIABLE'S DIM LINK LIST ALREADY POINT TO THE SAME MEMORY
3678 
3679  IF(found) THEN ! THE DIMENSION IS ALREADY THERE.
3680 
3681  name = vdim%DIMNAME
3682  gdim => find_dim(ncf,name,f)
3683  IF(.NOT. f) CALL fatal_error("NCF_PLUS_VAR: CAN'T FIND D&
3684  &IMENSION BUT IT WAS THERE A MINUTE AGO?")
3685 
3686  IF (.not. associated(vdim,target = gdim)) THEN ! CHECKS TO SEE IF IT IS
3687  ! POINTING TO THE SAME MEMORY OR TRUELY A DUPLICATE
3688 
3689  ! DELETE THE DUPLICATE AND POINT TO THE FILES DIM LINK LIST
3690 
3691  ! THIS ALLOWS THE FILE TO SET THE DIMIDS. DIMIDS SET IN THE
3692  ! VARIABLES DIM LIST ARE IGNORED
3693  CALL kill_dim(vdim)
3694 
3695  ! MOVE NOW EMPTY VARIABLE'S DIM LINK LIST POINTER TO FILE'S DIM LINK LIST
3696  current%DIM => gdim
3697  END IF
3698  END IF
3699  current => current%NEXT
3700  END DO
3701 
3702  ! NOW ADD THE VARIABLE TO THE FILE
3703 
3704  CALL insert_var_link(ncf,var,found)
3705  IF(found) CALL fatal_error("NCF_PLUS_VAR: THIS VARIABLE ALREADY EX&
3706  &ISTS IN THE FILE. YOU CAN'T ADD IT AGAIN!", &
3707  & "VARIABLE NAME: "//trim(var%VARNAME))
3708 
3709 
3710 ! IF(ASSOCIATED(VAR%NCID)) THEN
3711  ! IF(VAR%NCID /= NCF%NCID) &
3712 ! CALL FATAL_ERROR&
3713 ! &("CAN'T ADD VARIABLE TO A FILE WITH A DIFFERENT NCID")
3714 ! ELSE
3715 
3716 ! END IF
3717 
3718  var%NCID => ncf%NCID
3719  var%CONNECTED=.true.
3720 
3721  !ALL MEMORY NOW BELONGS TO RET
3722  ret => ncf
3723  NULLIFY(ncf)
3724  NULLIFY(var)
3725  if(dbg_set(dbg_sbr)) &
3726  & write(ipt,*) "END NCF_PLUS_VAR"
3727 

◆ ncflist_plus_ncf()

type(ncfilelist) function, pointer mod_ncll::add::ncflist_plus_ncf ( type(ncfilelist), pointer  NCFLIST,
type(ncfile), pointer  NCF 
)

Definition at line 3965 of file mod_ncll.f90.

3965  IMPLICIT NONE
3966  type(NCFILELIST), POINTER :: NCFLIST
3967  type(NCFILELIST), POINTER :: RET
3968  type(NCFILE), POINTER :: NCF
3969  LOGICAL FOUND
3970 
3971  IF (.NOT. ASSOCIATED(ncflist))THEN
3972  ALLOCATE(ncflist)
3973  ncflist%FIRST => new_filep()
3974  END IF
3975 
3976  CALL insert_file_link(ncflist,ncf,found)
3977  IF(found) CALL fatal_error("NCFLIST_PLUS_NCF: THIS FILE ALREADY EX&
3978  &ISTS IN THE FILELIST. YOU CAN'T ADD IT AGAIN!", &
3979  & "FILE NAME: "//trim(ncf%FNAME))
3980 
3981  !ALL MEMORY IN NCFLIST NOW BELONGS TO RET
3982  ret => ncflist
3983  NULLIFY(ncflist)
3984  NULLIFY(ncf)

◆ var_plus_att()

type(ncvar) function, pointer mod_ncll::add::var_plus_att ( type(ncvar), pointer  VAR,
type(ncatt), pointer  ATT 
)

Definition at line 3589 of file mod_ncll.f90.

3589  ! ADD THE ATTRIBUTE TO THE VARIABLE ATT LIST IF IT DOES NOT EXIST
3590  IMPLICIT NONE
3591  type(NCVAR), POINTER :: VAR
3592  type(NCATT), POINTER :: ATT
3593  type(NCVAR), POINTER :: RET
3594  LOGICAL FOUND
3595  if(dbg_set(dbg_sbr)) &
3596  & write(ipt,*) "START VAR_PLUS_ATT"
3597 
3598  IF(.NOT. ASSOCIATED(var)) CALL fatal_error &
3599  & ("VAR_PLUS_ATT: THE VAR OBJECT ARGUMENT IS NOT ASSOC&
3600  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3601 
3602  IF(.NOT. ASSOCIATED(att)) CALL fatal_error &
3603  & ("VAR_PLUS_ATT: THE ATT OBJECT ARGUMENT IS NOT ASSOC&
3604  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3605 
3606  IF(var%CONNECTED) CALL fatal_error&
3607  ("CAN NOT ADD ATTRIBUTES TO A VARIABLE OBJECT ALREADY IN A FILE")
3608 
3609  CALL insert_att_link(var,att,found)
3610  ! ADD ERROR HANDLING LATER FOR MERGING ATTS
3611  IF(found) CALL fatal_error("ERROR ADDIND ATTRIBUTE TO VARIABLE",&
3612  & "THE ATTRIBUTE: "//trim(att%ATTNAME)//"; ALREADY EXISTS",&
3613  & "IN THE VARIABLE: "//trim(var%VARNAME))
3614 
3615 
3616  !ALL MEMORY NOW BELONGS TO RET
3617  ret => var
3618  NULLIFY(var)
3619  NULLIFY(att)
3620  if(dbg_set(dbg_sbr)) &
3621  & write(ipt,*) "END VAR_PLUS_ATT"

◆ var_plus_dim()

type(ncvar) function, pointer mod_ncll::add::var_plus_dim ( type(ncvar), pointer  VAR,
type(ncdim), pointer  DIM 
)

Definition at line 3551 of file mod_ncll.f90.

3551  ! ADD THE DIMENSION TO THE VARIABLE DIM LIST IF IT DOES NOT EXIST
3552  IMPLICIT NONE
3553  type(NCVAR), POINTER :: VAR
3554  type(NCVAR), POINTER :: RET
3555  type(NCDIM), POINTER :: DIM
3556  LOGICAL FOUND
3557  if(dbg_set(dbg_sbr)) &
3558  & write(ipt,*) "START VAR_PLUS_DIM"
3559 
3560  IF(.NOT. ASSOCIATED(var)) CALL fatal_error &
3561  & ("VAR_PLUS_DIM: THE VAR OBJECT ARGUMENT IS NOT ASSOC&
3562  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3563 
3564  IF(.NOT. ASSOCIATED(dim)) CALL fatal_error &
3565  & ("VAR_PLUS_DIM: THE DIM OBJECT ARGUMENT IS NOT ASSOC&
3566  &IATED. THIS IS ILLEGAL.","THE DEPARTMENT OF FVCOM SECURITY HAS BEEN CONTACTED")
3567 
3568  IF(var%CONNECTED) CALL fatal_error&
3569  ("CAN NOT ADD DIMENSIONS TO A VARIABLE OBJECT ALREADY IN A FILE")
3570 
3571  CALL insert_dim_link(var,dim,found)
3572 
3573 
3574 ! IF(FOUND) CALL FATAL_ERROR("ERROR ADDIND DIMENSION TO VARIABLE",&
3575 ! & "THE DIMENSION: "//TRIM(DIM%DIMNAME)//"; ALREADY EXISTS",&
3576 ! & "IN THE VARIABLE: "//TRIM(VAR%VARNAME))
3577 
3578 
3579  !ALL MEMORY NOW BELONGS TO RET
3580  ret => var
3581  NULLIFY(var)
3582  NULLIFY(dim)
3583  if(dbg_set(dbg_sbr)) &
3584  & write(ipt,*) "END VAR_PLUS_DIM"

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