SURFEX v8.1
General documentation of Surfex
create_file.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 create_file(HFILE,KDIMS,HNAM_DIM,KFILE_ID,KDIM_ID)
7 !
8 USE modi_handle_err
9 !
10 !
11 USE yomhook ,ONLY : lhook, dr_hook
12 USE parkind1 ,ONLY : jprb
13 !
14 USE netcdf
15 !
16 IMPLICIT NONE
17 !
18 !
19 ! dummy arguments
20 !
21  CHARACTER(LEN=*), INTENT(IN) :: HFILE
22 INTEGER, DIMENSION(:), INTENT(IN) :: KDIMS
23  CHARACTER(LEN=*),DIMENSION(:),INTENT(IN) :: HNAM_DIM
24 INTEGER, INTENT(INOUT) :: KFILE_ID
25 INTEGER, DIMENSION(:), INTENT(INOUT) :: KDIM_ID
26 !
27 !* local variables
28 !
29 INTEGER :: IRET,ILEN,JNBDIM,INBDIM
30  CHARACTER(LEN=50) :: YFILE
31 REAL(KIND=JPRB) :: ZHOOK_HANDLE
32 !----------------------------------------------------
33 !
34 ! 1.0 create files
35 !-------------------
36 IF (lhook) CALL dr_hook('CREATE_FILE',0,zhook_handle)
37 ilen = len_trim(hfile)
38 yfile = hfile(:len_trim(hfile))
39 iret = nf90_create(yfile, nf90_64bit_offset, kfile_id)
40 
41 IF (iret.NE.nf90_noerr) CALL handle_err(iret,'CREATE_FILE')
42 
43 ! 2.0 define dimensions
44 !-----------------------
45 inbdim=SIZE(kdims)
46 DO jnbdim=1,inbdim
47  iret = nf90_def_dim(kfile_id,hnam_dim(jnbdim),kdims(jnbdim),kdim_id(jnbdim))
48 ENDDO
49 IF (lhook) CALL dr_hook('CREATE_FILE',1,zhook_handle)
50 
51 END SUBROUTINE create_file
subroutine handle_err(IRET, HNAME)
Definition: handle_err.F90:7
integer, parameter jprb
Definition: parkind1.F90:32
subroutine create_file(HFILE, KDIMS, HNAM_DIM, KFILE_ID, KDIM_ID)
Definition: create_file.F90:7
logical lhook
Definition: yomhook.F90:15