Commit d4147868 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

added examples/cdi_read_simple.f

parent ee80489d
......@@ -110,6 +110,7 @@ examples/cdi_read_example.f90 -text
examples/cdi_read_f.f -text
examples/cdi_read_f2003.f90 -text
examples/cdi_read_records.c -text
examples/cdi_read_simple.f -text
examples/cdi_write.c -text
examples/cdi_write_ens.c -text
examples/cdi_write_f.f -text
......
PROGRAM CDIREAD
IMPLICIT NONE
INCLUDE 'cdi.inc'
INTEGER nlon, nlat, nlev, nts
PARAMETER (nlon = 12) ! Number of longitudes
PARAMETER (nlat = 6) ! Number of latitudes
PARAMETER (nlev = 5) ! Number of levels
PARAMETER (nts = 3) ! Number of time steps
INTEGER inst
INTEGER gridID, zaxisID1, zaxisID2, taxisID
INTEGER vlistID, varID1, varID2, streamID, tsID
INTEGER nmiss, status, vdate, vtime
REAL*8 var1(nlon*nlat), var2(nlon*nlat*nlev)
! Open the dataset
streamID = streamOpenRead("example.grb")
IF ( streamID < 0 ) THEN
WRITE(0,*) cdiStringError(streamID)
STOP
END IF
! Get the variable list of the dataset
vlistID = streamInqVlist(streamID)
! Set the variable IDs
varID1 = 0
varID2 = 1
! Get the Time axis from the variable list
taxisID = vlistInqTaxis(vlistID)
! Loop over the number of time steps
DO tsID = 0, nts-1
! Inquire the time step
status = streamInqTimestep(streamID, tsID)
! Get the verification date and time
vdate = taxisInqVdate(taxisID)
vtime = taxisInqVtime(taxisID)
! Read var1 and var2
CALL streamReadVar(streamID, varID1, var1, nmiss)
CALL streamReadVar(streamID, varID2, var2, nmiss)
END DO
! Close the input stream
CALL streamClose(streamID)
! CALL cdiReset()
END
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment