SURFEX v8.1
General documentation of Surfex
get_dimlen_netcdf.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE get_dimlen_netcdf(HFILE_NAME,HDIM_NAME,KDIM,KDIM_ID)
7 !
8 !
9 USE yomhook ,ONLY : lhook, dr_hook
10 USE parkind1 ,ONLY : jprb
11 !
12 USE modi_handle_err
13 USE netcdf
14 !
15 IMPLICIT NONE
16  CHARACTER(LEN=*), INTENT(IN):: HFILE_NAME
17  CHARACTER(LEN=*), INTENT(IN):: HDIM_NAME
18 INTEGER, INTENT(OUT) :: KDIM
19 INTEGER, OPTIONAL,INTENT(OUT) :: KDIM_ID
20 
21 !local variables
22 INTEGER :: JRET,IFILE_ID,IDIM_ID
23 INTEGER,DIMENSION(2) :: IRET
24 REAL(KIND=JPRB) :: ZHOOK_HANDLE
25 !----------------------------------
26 ! 1.a Open file
27 IF (lhook) CALL dr_hook('GET_DIMLEN_NETCDF',0,zhook_handle)
28 jret=nf90_open(hfile_name,nf90_nowrite,ifile_id)
29 !
30 ! 1.b get dim info
31 iret(1)=nf90_inq_dimid(ifile_id,hdim_name,idim_id)
32 IF (PRESENT(kdim_id)) kdim_id=idim_id
33 iret(2)=nf90_inquire_dimension(ifile_id,idim_id,len=kdim)
34 
35 ! 1.c close file
36 jret=nf90_close(ifile_id)
37 !
38 ! 2. check for error
39 DO jret=1,2
40  IF (iret(jret).NE.nf90_noerr) CALL handle_err(iret(jret),'GET_DIMLEN_NETCDF')
41 ENDDO
42 IF (lhook) CALL dr_hook('GET_DIMLEN_NETCDF',1,zhook_handle)
43 !
44 END SUBROUTINE get_dimlen_netcdf
subroutine handle_err(IRET, HNAME)
Definition: handle_err.F90:7
subroutine get_dimlen_netcdf(HFILE_NAME, HDIM_NAME, KDIM, KDIM_ID)
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15