File: FieldMetadata.h

package info (click to toggle)
glgrib 1.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,861,496 kB
  • sloc: cpp: 20,811; ansic: 6,530; perl: 2,902; sh: 513; makefile: 147; python: 58; sql: 18
file content (42 lines) | stat: -rw-r--r-- 918 bytes parent folder | download | duplicates (2)
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
#pragma once

#include "glGrib/Options.h"
#include <string>

namespace glGrib
{

class FieldMetadata
{
public:
  std::string CLNOMA = ""; // FA name
  std::string shortName;
  float valmis, valmin, valmax; // Field min/max, missing values;
  long int discipline = 255, parameterCategory = 255, parameterNumber = 255; // GRIB2 metadata
  OptionDate base, term;
  long int indicatorOfUnitOfTimeRange = 255;
  long int forecastTime = 0;
  double forecastTerm = 0;
  const std::string & getName () const 
  {
    if (name == "") 
      {
        if (CLNOMA != "") 
          name = CLNOMA; 
        else if (shortName != "")
          name = shortName;
        else
          {
            char tmp[64];
            sprintf (tmp, "%3ld/%3ld/%3ld", discipline, parameterCategory, parameterNumber);
            name = std::string (tmp);
          }
      } 
    return name; 
  }
private:
  mutable std::string name;
};


}