RAVE
polar_odim_io.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2010 Swedish Meteorological and Hydrological Institute, SMHI,
3
4This file is part of RAVE.
5
6RAVE is free software: you can redistribute it and/or modify
7it under the terms of the GNU Lesser General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11RAVE is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU Lesser General Public License for more details.
15
16You should have received a copy of the GNU Lesser General Public License
17along with RAVE. If not, see <http://www.gnu.org/licenses/>.
18------------------------------------------------------------------------*/
26#ifndef POLAR_ODIM_IO_H
27#define POLAR_ODIM_IO_H
28#include <lazy_nodelist_reader.h>
29#include "rave_object.h"
30#include "hlhdf.h"
31#include "polarscan.h"
32#include "polarvolume.h"
33#include "rave_list.h"
34
39
44
51
58
66
74
82
90
98
107
116
124int PolarOdimIO_fillScan(PolarOdimIO_t* self, PolarScan_t* scan, HL_NodeList* nodelist);
125
133int PolarOdimIO_fillVolume(PolarOdimIO_t* self, PolarVolume_t* volume, HL_NodeList* nodelist);
134
135#endif /* POLAR_ODIM_IO_H */
const char * PolarOdimIO_getErrorMessage(PolarOdimIO_t *self)
If an error occurs during writing, you might get an indication for why by checking the error message.
Definition polar_odim_io.c:948
int PolarOdimIO_readVolume(PolarOdimIO_t *self, LazyNodeListReader_t *lazyReader, PolarVolume_t *volume)
Reads a volume from the nodelist and sets the data in the volume.
Definition polar_odim_io.c:1091
void PolarOdimIO_setVersion(PolarOdimIO_t *self, RaveIO_ODIM_Version version)
Sets the version that this io class should handle.
Definition polar_odim_io.c:924
RaveCoreObjectType PolarOdimIO_TYPE
Type definition to use when creating a rave object.
Definition polar_odim_io.c:1336
int PolarOdimIO_fillVolume(PolarOdimIO_t *self, PolarVolume_t *volume, HL_NodeList *nodelist)
Fills a nodelist with information about a volume.
Definition polar_odim_io.c:1249
int PolarOdimIO_readScan(PolarOdimIO_t *self, LazyNodeListReader_t *lazyReader, PolarScan_t *scan)
Reads a scan from the nodelist and sets the data in the scan.
Definition polar_odim_io.c:1053
RaveIO_ODIM_Version PolarOdimIO_getVersion(PolarOdimIO_t *self)
Returns the version that this io class handles.
Definition polar_odim_io.c:930
int PolarOdimIO_fillScan(PolarOdimIO_t *self, PolarScan_t *scan, HL_NodeList *nodelist)
Fills a nodelist with information about a scan.
Definition polar_odim_io.c:1134
int PolarOdimIO_isStrict(PolarOdimIO_t *self)
If writing should be done strictly.
Definition polar_odim_io.c:942
void PolarOdimIO_setStrict(PolarOdimIO_t *self, int strict)
If writing should be done strictly.
Definition polar_odim_io.c:936
int PolarOdimIO_validateVolumeHowAttributes(PolarOdimIO_t *self, PolarVolume_t *volume)
Validates if the attributes in the polar volume are valid according to the version rules and strictne...
Definition polar_odim_io.c:973
int PolarOdimIO_validateScanHowAttributes(PolarOdimIO_t *self, PolarScan_t *scan)
Validates if the attributes in the polar scan are valid according to the version rules and strictness...
Definition polar_odim_io.c:1013
Defines the functions available when working with polar scans.
Defines the functions available when working with polar volumes.
Implementation of a simple list.
Generic implementation of an object that is used within rave.
RaveIO_ODIM_Version
The /Conventions version in a ODIM HDF5 file.
Definition rave_types.h:43
Represents the lazy nodelist loader.
Definition lazy_nodelist_reader.c:21
The Polar ODIM IO adaptor.
Definition polar_odim_io.c:37
RAVE_OBJECT_HEAD RaveIO_ODIM_Version version
Always on top.
Definition polar_odim_io.c:39
int strict
if strict writing should be enforced or not
Definition polar_odim_io.c:40
Represents one scan in a volume.
Definition polarscan.c:47
Represents a volume.
Definition polarvolume.c:51
The rave object type definition.
Definition rave_object.h:52