3 KYEAR,KMONTH,KDAY,PTIME )
22 INTEGER,
INTENT(IN) :: KLISTING
23 CHARACTER(LEN=*),
INTENT(IN) :: HFILE
24 INTEGER,
INTENT(IN) :: KNB_TSTEP_RUN
26 INTEGER,
INTENT(OUT) :: KYEAR
27 INTEGER,
INTENT(OUT) :: KMONTH
28 INTEGER,
INTENT(OUT) :: KDAY
29 REAL,
INTENT(OUT) :: PTIME
33 CHARACTER(LEN=NF90_MAX_NAME) :: YFNAME
34 CHARACTER(LEN=NF90_MAX_NAME) :: YVAR
35 CHARACTER(LEN=NF90_MAX_NAME) :: YUNITS
37 REAL,
DIMENSION(KNB_TSTEP_RUN) :: ZTIME
43 REAL(KIND=JPRB) :: ZHOOK_HANDLE
46 IF (
lhook)
CALL dr_hook(
'READ_FORCING_DATE',0,zhook_handle)
48 yfname = hfile(1:len_trim(hfile))
51 iret=nf90_open(yfname,nf90_nowrite,ifile_id)
52 IF(iret/=nf90_noerr)
THEN 53 WRITE(klisting,*)
'READ_FORCING_DATE : error in NF90_OPEN' 54 CALL abort_trip(
'READ_FORCING_DATE : error in NF90_OPEN')
57 iret=nf90_inq_varid(ifile_id,yvar,ivar_id)
58 IF(iret/=nf90_noerr)
THEN 59 WRITE(klisting,*)
'READ_FORCING_DATE : error in NF90_INQ_VARID' 60 CALL abort_trip(
'READ_FORCING_DATE : error in NF90_INQ_VARID')
63 iret=nf90_get_att(ifile_id,ivar_id,
'units',yunits)
64 IF(iret/=nf90_noerr)
THEN 65 WRITE(klisting,*)
'READ_FORCING_DATE : error in NF90_GET_ATT' 66 CALL abort_trip(
'READ_FORCING_DATE : error in NF90_GET_ATT')
71 iret=nf90_close(ifile_id)
72 IF(iret/=nf90_noerr)
THEN 73 WRITE(klisting,*)
'READ_FORCING_DATE : error in NF90_CLOSE' 74 CALL abort_trip(
'READ_FORCING_DATE : error in NF90_CLOSE')
77 CALL read_date(ztime,yunits,kyear,kmonth,kday,ptime)
79 IF (
lhook)
CALL dr_hook(
'READ_FORCING_DATE',1,zhook_handle)
subroutine read_forcing_date(KLISTING, HFILE, KNB_TSTEP_RUN, KYEAR, KMONTH, KDAY, PTIME)
subroutine read_date(PTIME, HUNITS, KYEAR, KMONTH, KDAY, PTIME_DATE)
subroutine abort_trip(YTEXT)