HAZE
haze is a drop-in replacement to process water vapor to be used with FORCE
Loading...
Searching...
No Matches
haze.h
1#ifndef HAZE_H
2#define HAZE_H
15
16#ifndef _DEFAULT_SOURCE
17#define _DEFAULT_SOURCE
18#endif
19
20#include "types.h"
21
22#include <stdio.h>
23#include <gdal/gdal.h>
24
30void freeRawData(struct rawData *data);
31
37void freeAverageData(struct averagedData *data);
38
51int readRasterDataset(GDALDatasetH raster, struct rawData *dataBuffer);
52
64int averageRawData(const struct rawData *data, struct averagedData *average);
65
82int averageRawDataWithSizeOffset(const struct rawData *data, struct averagedData *average,
83 const size_t size, const size_t offset);
84
101int averagePILRawDataWithSizeOffset(const struct rawData *data, struct averagedData *average,
102 const size_t size, const size_t offset);
103
111
127[[nodiscard]] OGRGeometryH mergeFootprintSplitAtDateline(const OGRGeometryH splitFootprint);
128
163 const char *rasterWkt, const bool geometriesAreFootprints, const bool useFastGeodesicAreaCalculation);
164
172int writeWeightedMeans(meanVector *values, const char *filePath);
173
194double coordinateFromCell(double origin, double axisOfInterest, double pixelExtent,
195 double complementaryAxis, double rotation);
196
211stringList *parseLogFile(const char *filePath);
212
222int writeUpdatedLogFile(stringList *list, const char *filePath);
223
238int backFillOptions(option_t *options, GDALDatasetH dataset);
239
258
259int process(option_t *options);
260 // end of group
262#endif // HAZE_H
int writeWeightedMeans(meanVector *values, const char *filePath)
Write area weighted means to file in format usable by FORCE.
meanVector * calculateAreaWeightedMean(intersectionVector *intersections, const char *rasterWkt, const bool geometriesAreFootprints, const bool useFastGeodesicAreaCalculation)
Compute area weighted mean for features of AOI dataset.
stringList * parseLogFile(const char *filePath)
Parse logfile for processing.
int averagePILRawDataWithSizeOffset(const struct rawData *data, struct averagedData *average, const size_t size, const size_t offset)
Compute arithmetic mean pixel values across raster band dimension for a subset of bands.
int averageRawData(const struct rawData *data, struct averagedData *average)
Compute arithmetic mean pixel values across raster band dimension for all bands.
int backFillOptions(option_t *options, GDALDatasetH dataset)
Deduce temporal information from a given dataset.
int writeUpdatedLogFile(stringList *list, const char *filePath)
Update logfile with new dataset statuses.
void freeRawData(struct rawData *data)
Free encapsulated fields of raw data struct.
int averageRawDataWithSizeOffset(const struct rawData *data, struct averagedData *average, const size_t size, const size_t offset)
Compute arithmetic mean pixel values across raster band dimension for a subset of bands.
int readRasterDataset(GDALDatasetH raster, struct rawData *dataBuffer)
Read all bands of an GDAL raster dataset into a buffer.
int reorderToBandInterleavedByPixel(struct rawData *data)
Transpose data tensor from band sequential to band interleaved by pixel.
void freeAverageData(struct averagedData *data)
Free encapsulated fields of averaged data struct.
double coordinateFromCell(double origin, double axisOfInterest, double pixelExtent, double complementaryAxis, double rotation)
Compute corner coordinates of raster cell based on geo transformation.
int process(option_t *options)
Main procedure to process downloaded ERA-5 datasets.
OGRGeometryH mergeFootprintSplitAtDateline(const OGRGeometryH splitFootprint)
Shift and merge a Multipolygon split at the dateline.
Definition types.h:43
Definition types.h:137
Definition types.h:80
Definition types.h:198
Definition types.h:35
Definition types.h:244