SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/create_file.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE CREATE_FILE(HFILE,KDIMS,HNAME_DIM,KFILE_ID,KDIM_ID)
00003 !
00004 USE MODI_HANDLE_ERR
00005 !
00006 !
00007 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00008 USE PARKIND1  ,ONLY : JPRB
00009 !
00010 IMPLICIT NONE
00011 !
00012 INCLUDE "netcdf.inc"
00013 !
00014 ! dummy arguments
00015 !
00016  CHARACTER(LEN=*),             INTENT(IN)          :: HFILE
00017 INTEGER, DIMENSION(:),        INTENT(IN)          :: KDIMS
00018  CHARACTER(LEN=*),DIMENSION(:),INTENT(IN)          :: HNAME_DIM
00019 INTEGER,                      INTENT(INOUT)       :: KFILE_ID
00020 INTEGER, DIMENSION(:),        INTENT(INOUT)       :: KDIM_ID
00021 !
00022 !* local variables
00023 !
00024 INTEGER :: IRET,ILEN,JNBDIM,INBDIM
00025  CHARACTER(LEN=50) :: YFILE
00026 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00027 !----------------------------------------------------
00028 !
00029 ! 1.0  create files
00030 !-------------------
00031 IF (LHOOK) CALL DR_HOOK('CREATE_FILE',0,ZHOOK_HANDLE)
00032 ILEN=LEN_TRIM(HFILE)
00033 YFILE=HFILE(:LEN_TRIM(HFILE))
00034 iret = NF_CREATE(YFILE, 0, KFILE_ID) 
00035 
00036 IF (IRET.NE.NF_NOERR) CALL HANDLE_ERR(IRET,'CREATE_FILE')
00037 
00038 ! 2.0  define dimensions
00039 !-----------------------
00040 INBDIM=SIZE(KDIMS)
00041 DO JNBDIM=1,INBDIM
00042    iret=NF_DEF_DIM(KFILE_ID,HNAME_DIM(JNBDIM),KDIMS(JNBDIM),KDIM_ID(JNBDIM))
00043 ENDDO
00044 IF (LHOOK) CALL DR_HOOK('CREATE_FILE',1,ZHOOK_HANDLE)
00045 
00046 END SUBROUTINE CREATE_FILE