-
Notifications
You must be signed in to change notification settings - Fork 0
/
nc_putChar.F90
53 lines (40 loc) · 1.56 KB
/
nc_putChar.F90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! svn propset svn:keywords "URL Rev Author Date Id"
! $URL: file:///data/zhuming/.vdras_source_code/SVN_REPOSITORY/VDRAS/trunk/vdras/io/netcdf4/nc_putChar.F90 $
! $Rev: 144 $
! $Author: huangwei $
! $Date: 2010-11-15 10:33:52 -0700 (Mon, 15 Nov 2010) $
! $Id: nc_putChar.F90 144 2010-11-15 17:33:52Z huangwei $
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine nc_putChar(ncid,var_name,str,nrec)
use netcdf
implicit none
integer, intent(in) :: ncid, nrec
character(len=*), intent(in) :: str
character(len=*), intent(in) :: var_name
!--Variable id
integer :: varid
!--Return status
integer :: status
integer :: start(2), count(2)
start(1) = 1
start(2) = nrec
count(1) = len_trim(str)
count(2) = 1
status = nf90_inq_varid(ncid, trim(var_name), varid)
if(status /= nf90_noerr) then
write(unit=0, fmt='(3a)') "Problem to get varid for: <", trim(var_name), ">.", &
"Error status: ", trim(nf90_strerror(status))
write(unit=0, fmt='(3a, i4)') &
"Stop in file: <", __FILE__, ">, line: ", __LINE__
stop
end if
status = nf90_put_var(ncid,varid,str,start=start,count=count)
if(status /= nf90_noerr) then
write(unit=0, fmt='(3a)') "Problem to write variable: <", trim(var_name), ">.", &
"Error status: ", trim(nf90_strerror(status))
write(unit=0, fmt='(3a, i4)') &
"Stop in file: <", __FILE__, ">, line: ", __LINE__
stop
end if
end subroutine nc_putChar