SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
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,HNAME_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 IMPLICIT NONE
15 !
16 include "netcdf.inc"
17 !
18 ! dummy arguments
19 !
20  CHARACTER(LEN=*), INTENT(IN) :: hfile
21 INTEGER, DIMENSION(:), INTENT(IN) :: kdims
22  CHARACTER(LEN=*),DIMENSION(:),INTENT(IN) :: hname_dim
23 INTEGER, INTENT(INOUT) :: kfile_id
24 INTEGER, DIMENSION(:), INTENT(INOUT) :: kdim_id
25 !
26 !* local variables
27 !
28 INTEGER :: iret,ilen,jnbdim,inbdim
29  CHARACTER(LEN=50) :: yfile
30 REAL(KIND=JPRB) :: zhook_handle
31 !----------------------------------------------------
32 !
33 ! 1.0 create files
34 !-------------------
35 IF (lhook) CALL dr_hook('CREATE_FILE',0,zhook_handle)
36 ilen=len_trim(hfile)
37 yfile=hfile(:len_trim(hfile))
38 iret = nf_create(yfile, nf_64bit_offset, kfile_id)
39 
40 IF (iret.NE.nf_noerr) CALL handle_err(iret,'CREATE_FILE')
41 
42 ! 2.0 define dimensions
43 !-----------------------
44 inbdim=SIZE(kdims)
45 DO jnbdim=1,inbdim
46  iret=nf_def_dim(kfile_id,hname_dim(jnbdim),kdims(jnbdim),kdim_id(jnbdim))
47 ENDDO
48 IF (lhook) CALL dr_hook('CREATE_FILE',1,zhook_handle)
49 
50 END SUBROUTINE create_file
subroutine create_file(HFILE, KDIMS, HNAME_DIM, KFILE_ID, KDIM_ID)
Definition: create_file.F90:6
subroutine handle_err(IRET, HNAME)
Definition: handle_err.F90:6