55 INTEGER FUNCTION getdim(FID,SSIZE,DIMNAME)
61 INTEGER,
INTENT(IN) :: fid
62 INTEGER,
INTENT(IN) :: ssize
63 CHARACTER(LEN=SSIZE),
INTENT(IN) :: dimname
67 CHARACTER(LEN=NF90_MAX_NAME) :: tempname
69 ierr = nf90_inq_dimid(fid,trim(dimname),dimid)
70 IF(ierr /=nf90_noerr)
THEN 71 WRITE(*,*)
'Error getting dimension id: ',trim(dimname)
72 WRITE(*,*)trim(nf90_strerror(ierr))
76 ierr = nf90_inquire_dimension(fid,dimid,tempname,length)
77 IF(ierr /=nf90_noerr)
THEN 78 WRITE(*,*)
'Error getting dimension: ',trim(dimname)
79 WRITE(*,*)trim(nf90_strerror(ierr))
89 SUBROUTINE getsvar(FID,NLEN,VARNAME,I1,I2,TEMP)
95 INTEGER,
INTENT(IN) :: FID
96 INTEGER,
INTENT(IN) :: NLEN
97 CHARACTER(LEN=NLEN),
INTENT(IN) :: VARNAME
98 INTEGER,
INTENT(IN) :: I1,I2
99 REAL(SP),
INTENT(OUT) :: TEMP(I1,I2)
102 INTEGER,
ALLOCATABLE :: DIMS(:)
113 ierr = nf90_inq_varid(fid,trim(varname),varid)
114 IF(ierr /=nf90_noerr)
THEN 115 WRITE(*,*)
'error getting variable id: ',trim(varname)
116 WRITE(*,*)trim(nf90_strerror(ierr))
120 ierr = nf90_get_var(fid,varid,temp,dims)
121 IF(ierr /=nf90_noerr)
THEN 122 WRITE(*,*)
'1 error getting variable: ',trim(varname)
123 WRITE(*,*)trim(nf90_strerror(ierr))
132 SUBROUTINE getsvar_d(FID,NLEN,VARNAME,I1,I2,TEMP)
138 INTEGER,
INTENT(IN) :: FID
139 INTEGER,
INTENT(IN) :: NLEN
140 CHARACTER(LEN=NLEN),
INTENT(IN) :: VARNAME
141 INTEGER,
INTENT(IN) :: I1,I2
142 REAL(DP),
INTENT(OUT) :: TEMP(I1,I2)
145 INTEGER,
ALLOCATABLE :: DIMS(:)
156 ierr = nf90_inq_varid(fid,trim(varname),varid)
157 IF(ierr /=nf90_noerr)
THEN 158 WRITE(*,*)
'error getting variable id: ',trim(varname)
159 WRITE(*,*)trim(nf90_strerror(ierr))
163 ierr = nf90_get_var(fid,varid,temp,dims)
164 IF(ierr /=nf90_noerr)
THEN 165 WRITE(*,*)
'1 error getting variable: ',trim(varname)
166 WRITE(*,*)trim(nf90_strerror(ierr))
175 SUBROUTINE getdvar(FID,NLEN,VARNAME,I1,I2,TEMP,NT)
181 INTEGER,
INTENT(IN) :: FID
182 INTEGER,
INTENT(IN) :: NLEN
183 CHARACTER(LEN=NLEN),
INTENT(IN) :: VARNAME
184 INTEGER,
INTENT(IN) :: I1,I2
185 REAL(SP),
INTENT(OUT) :: TEMP(I1,I2)
189 INTEGER,
ALLOCATABLE :: DIMS(:)
202 ierr = nf90_inq_varid(fid,trim(varname),varid)
203 IF(ierr /=nf90_noerr)
THEN 204 WRITE(*,*)
'error getting variable id: ',trim(varname)
205 WRITE(*,*)trim(nf90_strerror(ierr))
209 ierr = nf90_get_var(fid,varid,temp,dims)
210 IF(ierr /=nf90_noerr)
THEN 211 WRITE(*,*)
'2 error getting variable: ',trim(varname)
212 WRITE(*,*)trim(nf90_strerror(ierr))
221 SUBROUTINE putdvar(FID,NLEN,VARNAME,I1,TEMP,NT)
227 INTEGER,
INTENT(IN) :: FID
228 INTEGER,
INTENT(IN) :: NLEN
229 CHARACTER(LEN=NLEN),
INTENT(IN) :: VARNAME
230 INTEGER,
INTENT(IN) :: I1
231 REAL(SP),
INTENT(IN) :: TEMP(I1)
234 INTEGER,
ALLOCATABLE :: DIMS(:)
246 ierr = nf90_inq_varid(fid,trim(varname),varid)
247 IF(ierr /=nf90_noerr)
THEN 248 WRITE(*,*)
'error getting variable id: ',trim(varname)
249 WRITE(*,*)trim(nf90_strerror(ierr))
253 ierr = nf90_put_var(fid,varid,temp,dims)
254 IF(ierr /=nf90_noerr)
THEN 255 WRITE(*,*)
'3 error getting variable: ',trim(varname)
257 WRITE(*,*)trim(nf90_strerror(ierr))
266 SUBROUTINE putsvar(FID,NLEN,VARNAME,I1,TEMP)
272 INTEGER,
INTENT(IN) :: FID
273 INTEGER,
INTENT(IN) :: NLEN
274 CHARACTER(LEN=NLEN),
INTENT(IN) :: VARNAME
275 INTEGER,
INTENT(IN) :: I1
276 REAL(SP),
INTENT(IN) :: TEMP(I1)
279 INTEGER,
DIMENSION(1) :: DIMS
283 ierr = nf90_inq_varid(fid,trim(varname),varid)
284 IF(ierr /=nf90_noerr)
THEN 285 WRITE(*,*)
'error getting variable id: ',trim(varname)
286 WRITE(*,*)trim(nf90_strerror(ierr))
290 ierr = nf90_put_var(fid,varid,temp,dims)
291 IF(ierr /=nf90_noerr)
THEN 292 WRITE(*,*)
'4 error getting variable: ',trim(varname)
293 WRITE(*,*)trim(nf90_strerror(ierr))
subroutine getdvar(FID, NLEN, VARNAME, I1, I2, TEMP, NT)
subroutine putsvar(FID, NLEN, VARNAME, I1, TEMP)
subroutine getsvar(FID, NLEN, VARNAME, I1, I2, TEMP)
subroutine getsvar_d(FID, NLEN, VARNAME, I1, I2, TEMP)
subroutine putdvar(FID, NLEN, VARNAME, I1, TEMP, NT)
integer function getdim(FID, SSIZE, DIMNAME)