SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/get_dimlen_netcdf.F90
Go to the documentation of this file.
00001 !     #########
00002                    SUBROUTINE GET_DIMLEN_NETCDF(HFILE_NAME,HDIM_NAME,KDIM,KDIM_ID)
00003 !
00004 !
00005 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00006 USE PARKIND1  ,ONLY : JPRB
00007 !
00008 USE MODI_HANDLE_ERR
00009 IMPLICIT NONE
00010 INCLUDE "netcdf.inc"
00011  CHARACTER(LEN=*), INTENT(IN):: HFILE_NAME
00012  CHARACTER(LEN=*), INTENT(IN):: HDIM_NAME
00013 INTEGER,          INTENT(OUT) :: KDIM
00014 INTEGER, OPTIONAL,INTENT(OUT) :: KDIM_ID
00015 
00016 !local variables
00017 INTEGER ::  JRET,IFILE_ID,IDIM_ID
00018 INTEGER,DIMENSION(2) :: IRET
00019 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00020 !----------------------------------
00021 ! 1.a Open file
00022 IF (LHOOK) CALL DR_HOOK('GET_DIMLEN_NETCDF',0,ZHOOK_HANDLE)
00023 JRET=NF_OPEN(HFILE_NAME,NF_NOWRITE,IFILE_ID)
00024 !
00025 ! 1.b get dim info
00026 IRET(1)=NF_INQ_DIMID(IFILE_ID,HDIM_NAME,IDIM_ID)
00027 IF (PRESENT(KDIM_ID)) THEN
00028         KDIM_ID=IDIM_ID
00029 ENDIF
00030 IRET(2)=NF_INQ_DIMLEN(IFILE_ID,IDIM_ID,KDIM)
00031 
00032 ! 1.c close file
00033 JRET=NF_CLOSE(IFILE_ID)
00034 !
00035 ! 2. check for error
00036 DO JRET=1,2
00037    IF (IRET(JRET).NE.NF_NOERR) CALL HANDLE_ERR(IRET(JRET),'GET_DIMLEN_NETCDF')
00038 ENDDO
00039 IF (LHOOK) CALL DR_HOOK('GET_DIMLEN_NETCDF',1,ZHOOK_HANDLE)
00040 !
00041 END SUBROUTINE GET_DIMLEN_NETCDF