UFO
SurfaceReportConstants.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2018-2019 UCAR
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef UFO_UTILS_SURFACEREPORTCONSTANTS_H_
9 #define UFO_UTILS_SURFACEREPORTCONSTANTS_H_
10 
11 //-------------------------------------------------------------------------------------------------
12 
13 namespace ufo {
14 
15 //-------------------------------------------------------------------------------------------------
16 
17 /// AAPP surface classification
18  // these appear to be shifted by 1 (i.e. 0-8) compared to the original definition (1-9)
19  // in NWPSAF-MF-UD-003 (AAPP documentation - data formats)
20 
22  static constexpr int newice = 0; // Bare young ice (new ice, no snow)
23  static constexpr int dryland = 1; // Dry land (dry w/ or w/o sig. vegetation)
24  static constexpr int drysnow = 2; // Dry snow (snow with water < 2%, over land)
25  static constexpr int multiice = 3; // Multi-year ice (old ice w/ snow cover)
26  static constexpr int sea = 4; // Sea (open water, no islands, ice-free)
27  static constexpr int wetforest = 5; // Wet forest (est. forest w/ wet canopy)
28  static constexpr int wetland = 6; // Wet land (non-forested land w/ wet surface)
29  static constexpr int wetsnow = 7; // Wet snow (w/ water > 2%, over land/ice)
30  static constexpr int desert = 8; // Desert
31 };
32 
33 struct BUFR_surftype {
34  // BUFR code surface definitons (013040 0009)
35  static constexpr int land = 0;
36  static constexpr int nrcoast = 2;
37  static constexpr int ice = 3;
38  static constexpr int posice = 4; // possible ice
39  static constexpr int ocean = 5;
40  static constexpr int coast = 6;
41  static constexpr int inland_water = 7;
42  static constexpr int snow_cover = 8;
43  static constexpr int sea_ice = 9;
44  static constexpr int std_water = 10;
45  static constexpr int snow = 11;
46  static constexpr int missing = 15;
47 };
48 
49 struct AAPP_surftype {
50  static constexpr int land = 0;
51  static constexpr int sea = 1;
52  static constexpr int coast = 2;
53 };
54 
56  // RTTOV surface type constants from rttov_const_mod
57  static constexpr int land = 0;
58  static constexpr int sea = 1;
59  static constexpr int seaice = 2;
60 };
61 
62 struct CRTM_surftype {
63  static constexpr int invalid = 0;
64  static constexpr int land = 1;
65  static constexpr int water = 2;
66  static constexpr int snow = 4;
67  static constexpr int ice = 8;
68 };
69 
70 //--------------------------------------------------------------------------------------------------
71 } // namespace ufo
72 
73 #endif // UFO_UTILS_SURFACEREPORTCONSTANTS_H_
Definition: RunCRTM.h:27
AAPP surface classification.
static constexpr int wetforest
static constexpr int wetsnow
static constexpr int dryland
static constexpr int wetland
static constexpr int desert
static constexpr int multiice
static constexpr int sea
static constexpr int newice
static constexpr int drysnow
static constexpr int land
static constexpr int coast
static constexpr int sea
static constexpr int coast
static constexpr int nrcoast
static constexpr int inland_water
static constexpr int land
static constexpr int snow_cover
static constexpr int sea_ice
static constexpr int missing
static constexpr int snow
static constexpr int ice
static constexpr int posice
static constexpr int std_water
static constexpr int ocean
static constexpr int ice
static constexpr int land
static constexpr int water
static constexpr int invalid
static constexpr int snow
static constexpr int land
static constexpr int sea
static constexpr int seaice