Definition at line 296 of file mod_ncll.f90.
◆ insert_ncf_dimp_bydim()
subroutine mod_ncll::insert_dim_link::insert_ncf_dimp_bydim |
( |
type(ncfile), intent(inout) |
LIST, |
|
|
type(ncdim), pointer |
DIM, |
|
|
logical, intent(out) |
FOUND |
|
) |
| |
Definition at line 2554 of file mod_ncll.f90.
2558 TYPE(NCDIM),
POINTER :: DIM
2559 LOGICAL,
INTENT(OUT) :: FOUND
2560 TYPE(NCFILE),
INTENT(INOUT):: LIST
2561 TYPE(NCDIMP),
POINTER :: CURRENT, PREVIOUS
2563 IF(.NOT.
ASSOCIATED(dim))&
2564 &
CALL fatal_error(
"INSERT_NCF_DIMP_BYDIM: DIM NOT ASSOCIATED!")
2566 previous => list%DIMS
2567 current => previous%NEXT
2574 IF(.NOT.
ASSOCIATED(current))
EXIT 2576 IF( dim%DIMNAME == current%DIM%DIMNAME)
THEN 2578 IF(dim%DIM .NE. current%DIM%DIM) &
2579 &
CALL fatal_error(
"ATEMPTED TO ADD DIMENSION NAMED:"//trim(dim%DIMNAME),&
2580 &
"BUT THAT DIMENSION NAME ALREADY EXISTS WITH A DIFFERENT SIZE")
2583 IF(dim%UNLIMITED .AND. .NOT. current%DIM%UNLIMITED)&
2584 &
CALL fatal_error(
"ATEMPTED TO ADD DIMENSION NAMED:& 2585 &"//trim(dim%DIMNAME)//
"; AS UNLIMITED",&
2586 &
"BUT THAT DIMENSION NAME ALREADY EXISTS AS NOT UNLIMITED")
2588 IF(.NOT. dim%UNLIMITED .AND. current%DIM%UNLIMITED)&
2589 &
CALL fatal_error(
"ATEMPTED TO ADD DIMENSION NAMED:& 2590 &"//trim(dim%DIMNAME)//
"; AS NOT UNLIMITED",&
2591 &
"BUT THAT DIMENSION NAME ALREADY EXISTS AS UNLIMITED")
2595 ELSE IF(dim%UNLIMITED .AND. current%DIM%UNLIMITED)
THEN 2596 CALL fatal_error(
"ATTEMPT TO PUT A SECOND UNLIMITED DIMENSIO& 2597 &N IN THE FILE OBJECT",
"DIMENSION NAME: "//trim(dim%DIMNAME))
2599 previous => previous%NEXT
2600 current => current%NEXT
2606 previous%NEXT => new_dimp()
2607 previous%NEXT%DIM => dim
2608 previous%NEXT%NEXT => current
2612 IF(dim%UNLIMITED) list%UNLIMDIMID = dim%DIMID
◆ insert_var_dimp_bydim()
subroutine mod_ncll::insert_dim_link::insert_var_dimp_bydim |
( |
type(ncvar), intent(inout) |
LIST, |
|
|
type(ncdim), pointer |
DIM, |
|
|
logical, intent(out) |
FOUND |
|
) |
| |
Definition at line 2666 of file mod_ncll.f90.
2673 TYPE(NCDIM),
POINTER :: DIM
2674 LOGICAL,
INTENT(OUT) :: FOUND
2675 TYPE(NCVAR),
INTENT(INOUT):: LIST
2676 TYPE(NCDIMP),
POINTER :: CURRENT, PREVIOUS
2678 IF(.NOT.
ASSOCIATED(dim))&
2679 &
CALL fatal_error(
"INSERT_NCF_DIMP_BYDIM: DIM NOT ASSOCIATED!")
2681 previous => list%DIMS
2682 current => previous%NEXT
2686 IF(.NOT.
ASSOCIATED(current))
THEN 2690 IF( dim%DIMNAME == current%DIM%DIMNAME) found = .true.
2692 IF(dim%UNLIMITED .AND. current%DIM%UNLIMITED) &
2693 &
CALL fatal_error(
"ATTEMPT TO PUT A SECOND UNLIMITED DIMENSIO& 2694 &N IN THE VARIALBE NAME:"//trim(list%VARNAME),&
2695 &
"DIMENSION NAME: "//trim(dim%DIMNAME))
2698 IF(current%DIM%UNLIMITED .AND. list%XTYPE .NE. nf90_char) &
2699 &
CALL fatal_error(
"ATTEMPT TO PUT A DIMENSION AFTER THE UNLIMITED DIMENSIO& 2700 &N IN THE VARIALBE NAME:"//trim(list%VARNAME),&
2701 &
"DIMENSION NAME: "//trim(dim%DIMNAME),
"THE USER MUST & 2702 &ADD DIMENSION IN THE CORRECT ORDER! (UNLIMITEDS GO LAS& 2703 &T IN FORTRAN ORDER)")
2706 previous => previous%NEXT
2707 current => current%NEXT
2712 previous%NEXT => new_dimp()
2713 previous%NEXT%DIM => dim
2714 previous%NEXT%NEXT => current
The documentation for this interface was generated from the following file: