SURFEX v7.3
General documentation of Surfex
|
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