gdncvarputnum.f90
Go to the documentation of this file.
1 ! -*- coding: utf-8; mode: f90 -*-
2 !-------------------------------------------------------------------------------------
3 ! Copyright (c) 2000-2016 Gtool Development Group. All rights reserved.
4 !-------------------------------------------------------------------------------------
5 ! ** Important**
6 !
7 ! This file is generated from gdncvarputnum.erb by ERB included Ruby 2.3.1.
8 ! Please do not edit this file directly. @see "gdncvarputnum.erb"
9 !-------------------------------------------------------------------------------------
10 !
11 !
12 != GD_NC_VARIABLES の出力
13 !
14 != Put GD_NC_VARIABLES
15 !
16 ! Authors:: Yasuhiro MORIKAWA, Eizi TOYODA
17 ! Version:: $Id: gdncvarputnum.rb2f90,v 1.3 2009-10-11 07:36:33 morikawa Exp $
18 ! Tag Name:: $Name: $
19 ! Copyright:: Copyright (C) GFD Dennou Club, 2000-2005. All rights reserved.
20 ! License:: See COPYRIGHT[link:../../COPYRIGHT]
21 !
22 subroutine gdncvarputreal(var, start, count, stride, imap, siz, value, iostat)
23  use dc_types, only: sp
26  use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
28  use dc_trace, only: dbgmessage
29  implicit none
30  type(gd_nc_variable), intent(in):: var
31  integer, intent(in):: start(:)
32  integer, intent(in):: count(:)
33  integer, intent(in):: stride(:)
34  integer, intent(in):: imap(:)
35  integer, intent(in):: siz
36  real(SP), intent(in):: value(siz)
37  integer, intent(out):: iostat
38  integer:: ndims
39  type(gd_nc_variable_entry):: ent
40  character(len = *), parameter:: subname = "GDNcVarPutReal"
41  continue
42  iostat = vtable_lookup(var, ent)
43  if (iostat /= nf90_noerr) goto 999
44  ndims = 0
45  if (associated(ent%dimids)) ndims = size(ent%dimids)
46  if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
47  iostat = nf90_einval
48  goto 999
49  endif
50  call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
51  & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
52  & n=(/ndims, ndims, ndims, ndims/))
53  iostat = gdncfiledatamode(ent%fileid)
54  if (iostat /= nf90_noerr) return
55  iostat = nf90_put_var(ent%fileid, ent%varid, value, &
56  & start, count, stride, imap)
57 999 continue
58 end subroutine gdncvarputreal
59 
60 subroutine gdncvarputdouble(var, start, count, stride, imap, siz, value, iostat)
61  use dc_types, only: dp
64  use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
66  use dc_trace, only: dbgmessage
67  implicit none
68  type(gd_nc_variable), intent(in):: var
69  integer, intent(in):: start(:)
70  integer, intent(in):: count(:)
71  integer, intent(in):: stride(:)
72  integer, intent(in):: imap(:)
73  integer, intent(in):: siz
74  real(DP), intent(in):: value(siz)
75  integer, intent(out):: iostat
76  integer:: ndims
77  type(gd_nc_variable_entry):: ent
78  character(len = *), parameter:: subname = "GDNcVarPutDouble"
79  continue
80  iostat = vtable_lookup(var, ent)
81  if (iostat /= nf90_noerr) goto 999
82  ndims = 0
83  if (associated(ent%dimids)) ndims = size(ent%dimids)
84  if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
85  iostat = nf90_einval
86  goto 999
87  endif
88  call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
89  & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
90  & n=(/ndims, ndims, ndims, ndims/))
91  iostat = gdncfiledatamode(ent%fileid)
92  if (iostat /= nf90_noerr) return
93  iostat = nf90_put_var(ent%fileid, ent%varid, value, &
94  & start, count, stride, imap)
95 999 continue
96 end subroutine gdncvarputdouble
97 
98 subroutine gdncvarputint(var, start, count, stride, imap, siz, value, iostat)
101  use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
103  use dc_trace, only: dbgmessage
104  implicit none
105  type(gd_nc_variable), intent(in):: var
106  integer, intent(in):: start(:)
107  integer, intent(in):: count(:)
108  integer, intent(in):: stride(:)
109  integer, intent(in):: imap(:)
110  integer, intent(in):: siz
111  integer, intent(in):: value(siz)
112  integer, intent(out):: iostat
113  integer:: ndims
114  type(gd_nc_variable_entry):: ent
115  character(len = *), parameter:: subname = "GDNcVarPutInt"
116  continue
117  iostat = vtable_lookup(var, ent)
118  if (iostat /= nf90_noerr) goto 999
119  ndims = 0
120  if (associated(ent%dimids)) ndims = size(ent%dimids)
121  if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
122  iostat = nf90_einval
123  goto 999
124  endif
125  call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
126  & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
127  & n=(/ndims, ndims, ndims, ndims/))
128  iostat = gdncfiledatamode(ent%fileid)
129  if (iostat /= nf90_noerr) return
130  iostat = nf90_put_var(ent%fileid, ent%varid, value, &
131  & start, count, stride, imap)
132 999 continue
133 end subroutine gdncvarputint
134 
135 subroutine gdncvarputchar(var, start, count, stride, imap, siz, value, iostat)
138  use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
140  use dc_trace, only: dbgmessage
141  implicit none
142  type(gd_nc_variable), intent(in):: var
143  integer, intent(in):: start(:)
144  integer, intent(in):: count(:)
145  integer, intent(in):: stride(:)
146  integer, intent(in):: imap(:)
147  integer, intent(in):: siz
148  character(*), intent(in):: value(siz)
149  integer, intent(out):: iostat
150  integer:: ndims
151  type(gd_nc_variable_entry):: ent
152  character(len = *), parameter:: subname = "GDNcVarPutChar"
153  continue
154  iostat = vtable_lookup(var, ent)
155  if (iostat /= nf90_noerr) goto 999
156  ndims = 0
157  if (associated(ent%dimids)) ndims = size(ent%dimids)
158  if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
159  iostat = nf90_einval
160  goto 999
161  endif
162  call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
163  & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
164  & n=(/ndims, ndims, ndims, ndims/))
165  iostat = gdncfiledatamode(ent%fileid)
166  if (iostat /= nf90_noerr) return
167  iostat = nf90_put_var(ent%fileid, ent%varid, value, &
168  & start, count, stride, imap)
169 999 continue
170 end subroutine gdncvarputchar
171 
integer function, public vtable_lookup(var, entry)
subroutine gdncvarputreal(var, start, count, stride, imap, siz, value, iostat)
subroutine gdncvarputdouble(var, start, count, stride, imap, siz, value, iostat)
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:509
integer function gdncfiledatamode(fileid)
subroutine gdncvarputchar(var, start, count, stride, imap, siz, value, iostat)
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine gdncvarputint(var, start, count, stride, imap, siz, value, iostat)
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73