Go to the documentation of this file.
7 use fruit,
only : assert_false
17 integer,
allocatable,
dimension(:) :: data
63 character(len=*),
intent(in) :: path
64 integer,
intent(in) :: mode
65 integer,
intent(out) :: ncid
74 character(len=*),
intent(in) :: path
75 integer,
intent(in) :: mode
76 integer,
intent(in),
optional :: comm, info
77 integer,
intent(out) :: ncid
86 integer,
intent(in) :: ncid, attribute
87 character(len=*),
intent(in) :: key, value
88 class(*),
pointer :: raw_data
101 integer,
intent(in) :: ncid
109 integer,
intent(in) :: ncid
116 integer,
intent(in) :: ncid, attributeid
117 character(len=*),
intent(in) :: key
118 integer,
intent(out) :: len
126 integer,
intent(in) :: ncid, attributeid
127 character(len=*),
intent(in) :: key
128 character(len=100),
intent(out) :: value
130 class(*),
pointer :: raw_data
141 character(len=*),
intent(in) :: key
142 integer,
intent(in) :: ncid
143 integer,
intent(out) :: varid
145 class(*),
pointer :: raw_data
149 if (
associated(raw_data))
then
162 integer,
intent(in) :: ncid, varid
163 character(len=100),
intent(out) :: target
164 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
171 integer,
intent(in) :: ncid, varid
172 integer,
dimension(*),
intent(out) :: target
173 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
175 class(*),
pointer :: raw_data
184 integer,
intent(in) :: ncid, varid
186 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
193 integer,
intent(in) :: ncid, varid
195 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
202 integer,
intent(in) :: ncid, varid
204 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
211 integer,
intent(in) :: ncid, varid
213 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
220 integer,
intent(in) :: ncid, varid
222 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
229 integer,
intent(in) :: ncid, varid
231 integer,
dimension(:),
optional,
intent(in) :: indexes, start, count, map
238 integer,
intent(in) :: ncid, varid
239 character(len=*),
intent(in) :: source
240 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
242 class(*),
pointer :: raw_data
244 call assert_false(
define_mode,
"Switched from define mode")
253 integer,
intent(in) :: ncid, varid
254 integer,
intent(in) :: source
255 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
257 class(*),
pointer :: raw_data
259 call assert_false(
define_mode,
"Switched from define mode")
267 integer,
intent(in) :: ncid, varid
269 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
271 call assert_false(
define_mode,
"Switched from define mode")
277 integer,
intent(in) :: ncid, varid
279 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
281 call assert_false(
define_mode,
"Switched from define mode")
287 integer,
intent(in) :: ncid, varid
289 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
291 call assert_false(
define_mode,
"Switched from define mode")
297 integer,
intent(in) :: ncid, varid
299 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
301 call assert_false(
define_mode,
"Switched from define mode")
307 integer,
intent(in) :: ncid, varid
309 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
311 call assert_false(
define_mode,
"Switched from define mode")
317 integer,
intent(in) :: ncid, varid
319 integer,
dimension(:),
optional ,
intent(in) :: indexes, start, count, map
321 call assert_false(
define_mode,
"Switched from define mode")
327 integer,
intent(in) :: ncid
328 character(len=*),
intent(in) :: key
329 integer,
intent(out) :: dim_id
331 class(*),
pointer :: raw_data
344 integer,
intent(in) :: ncid, id
345 integer,
intent(out) :: len
347 class(*),
pointer :: raw_data
360 integer,
intent(in) :: status
367 integer,
intent(in) :: ncid, length
368 character(len=*),
intent(in) :: key
369 integer,
intent(out) :: dimension_id
371 class(*),
pointer :: raw_data
382 integer,
intent(in) :: ncid,
type, dim_id
383 character(len=*),
intent(in) :: key
384 integer,
intent(out) :: varid
386 class(*),
pointer :: raw_data
399 integer,
intent(in) :: ncid, type
400 character(len=*),
intent(in) :: key
401 integer,
intent(out) :: varid
403 class(*),
pointer :: raw_data
416 integer,
intent(in) :: ncid, type
417 integer,
dimension(:) :: dim_ids
418 character(len=*),
intent(in) :: key
419 integer,
intent(out) :: varid
423 class(*),
pointer :: raw_data, raw_id_data
426 wrapper%size=
size(dim_ids)
427 allocate(wrapper%data(wrapper%size))
430 wrapper%data(i) = dim_ids(i)
Conversion between common inbuilt FORTRAN data types.
Map data structure that holds string (length 20 maximum) key value pairs.
integer function nf90_def_var_multiple(ncid, key, type, dim_ids, varid)
integer function nf90_def_var_atomic(ncid, key, type, varid)
Converts data types to integers.
type(map_type), save global_attributes
Collection data structures.
integer function nf90_create(path, mode, ncid, comm, info)
integer function nf90_close(ncid)
type(map_type), save dimension_ids
integer, parameter nf90_netcdf4
integer, parameter nf90_enotvar
integer function nf90_get_var_real(ncid, varid, target, indexes, start, count, map)
Converts a data type into the generic (class *) form.
integer function nf90_def_dim(ncid, key, length, dimension_id)
integer function nf90_get_var_double(ncid, varid, target, indexes, start, count, map)
subroutine dummy_netcdf_reset()
integer function nf90_put_var_real(ncid, varid, source, indexes, start, count, map)
type(map_type), save variable_data
integer, parameter nf90_char
integer, parameter nf90_mpiio
integer, parameter nf90_ebaddim
character(len=10) function nf90_strerror(status)
Determines whether or not a map contains a specific key.
integer function nf90_get_var_char(ncid, varid, target, indexes, start, count, map)
integer function nf90_put_var_double_3d(ncid, varid, source, indexes, start, count, map)
integer function nf90_inquire_dimension(ncid, id, len)
integer function nf90_put_var_char(ncid, varid, source, indexes, start, count, map)
integer, parameter dummy_error
integer, parameter, public single_precision
Single precision (32 bit) kind.
integer function nf90_open(path, mode, ncid)
type(map_type), save var_data
integer, parameter nf90_noerr
Converts data types to strings.
integer function nf90_get_var_real_scalar(ncid, varid, target, indexes, start, count, map)
integer function nf90_get_var_double_scalar(ncid, varid, target, indexes, start, count, map)
integer function nf90_get_att(ncid, attributeid, key, value)
integer function nf90_get_var_real3d(ncid, varid, target, indexes, start, count, map)
integer function nf90_put_var_real_3d(ncid, varid, source, indexes, start, count, map)
type(map_type), save variable_ids
integer function nf90_put_var_double_scalar(ncid, varid, source, indexes, start, count, map)
integer, parameter nf90_int
integer function nf90_inquire_attribute(ncid, attributeid, key, len)
Frees up all the allocatable, heap, memory associated with a list, stack, queue or map.
integer function nf90_inq_dimid(ncid, key, dim_id)
integer function nf90_put_var_real_scalar(ncid, varid, source, indexes, start, count, map)
type(map_type), save dimension_lengths
integer, parameter nf90_real
integer, parameter nf90_double
integer, parameter, public double_precision
Double precision (64 bit) kind.
integer function nf90_put_var_integer(ncid, varid, source, indexes, start, count, map)
Contains common definitions for the data and datatypes used by MONC.
integer, parameter nf90_enotatt
integer, parameter nf90_global
integer function nf90_enddef(ncid)
integer function nf90_def_var_single(ncid, key, type, dim_id, varid)
integer function nf90_get_var_integer(ncid, varid, target, indexes, start, count, map)
integer, parameter nf90_nowrite
integer function nf90_inq_varid(ncid, key, varid)
integer function nf90_get_var_double3d(ncid, varid, target, indexes, start, count, map)
integer, parameter nf90_clobber
integer function nf90_put_att(ncid, attribute, key, value)
integer function nf90_put_var_double(ncid, varid, source, indexes, start, count, map)