32 #ifndef _H5GCFProduct_H
33 #define _H5GCFProduct_H
42 { General_Product,GPM_L1, GPMS_L3,GPMM_L3,Mea_SeaWiFS_L2, Mea_SeaWiFS_L3,Mea_Ozone,Aqu_L3,OBPG_L3,ACOS_L2S_OR_OCO2_L1B,OSMAPL2S};
56 static const char ROOT_NAME[] =
"/";
59 static const char GPM_ATTR1_NAME[] =
"FileHeader";
61 static const char GPM_GRID_GROUP_NAME1[]=
"Grid";
62 static const char GPM_GRID_GROUP_NAME2[]=
"GRID";
63 static const char GPM_GRID_MULTI_GROUP_NAME[]=
"Grids";
64 static const char GPM_ATTR2_NAME[] =
"GridHeader";
66 static const char GPM_SWATH_ATTR2_NAME[] =
"SwathHeader";
70 static const char SeaWiFS_ATTR1_NAME[] =
"instrument_short_name";
71 static const char SeaWiFS_ATTR2_NAME[] =
"long_name";
72 static const char SeaWiFS_ATTR3_NAME[] =
"short_name";
73 static const std::string SeaWiFS_ATTR1_VALUE =
"SeaWiFS";
77 static const std::string SeaWiFS_ATTR2_FPVALUE =
"SeaWiFS";
78 static const std::string SeaWiFS_ATTR2_L2PVALUE =
"Level 2";
79 static const std::string SeaWiFS_ATTR2_L3PVALUE =
"Level 3";
80 static const std::string SeaWiFS_ATTR3_L2FPVALUE =
"SWDB_L2";
81 static const std::string SeaWiFS_ATTR3_L3FPVALUE =
"SWDB_L3";
84 static const char Aquarius_ATTR1_NAME[] =
"Sensor";
85 static const char Aquarius_ATTR2_NAME[] =
"Title";
86 static const std::string Aquarius_ATTR1_VALUE =
"Aquarius";
87 static const std::string Aquarius_ATTR2_PVALUE =
"Level-3";
90 static const char Obpgl3_ATTR1_NAME[] =
"processing_level";
91 static const std::string Obpgl3_ATTR1_VALUE =
"L3 Mapped";
92 static const char Obpgl3_ATTR2_NAME[] =
"cdm_data_type";
93 static const std::string Obpgl3_ATTR2_VALUE =
"grid";
97 static const char SMAC2S_META_GROUP_NAME[] =
"Metadata";
98 static const char OSMAPL2S_ATTR_NAME[] =
"ProjectID";
99 static const std::string OSMAPL2S_ATTR_VALUE =
"SMAP";
101 static const char ACOS_L2S_OCO2_L1B_DSET_NAME[] =
"ProjectId";
102 static const std::string ACOS_L2S_ATTR_VALUE =
"ACOS";
103 static const std::string OCO2_L1B_ATTR_VALUE =
"OCO2";
104 static const std::string OCO2_L1B_ATTR_VALUE2 =
"OCO-2";
108 static const char Ozone_ATTR1_NAME[] =
"ProductType";
109 static const std::string Ozone_ATTR1_VALUE1 =
"L3 Monthly Zonal Means";
110 static const std::string Ozone_ATTR1_VALUE2 =
"L2 Daily Trajectory";
112 static const char Ozone_ATTR2_NAME[] =
"ParameterName";
113 static const std::string Ozone_ATTR2_VALUE =
"Nadir Profile and Total Column Ozone";
116 H5GCFProduct check_product(hid_t fileid);
119 bool check_gpm_l1(hid_t root_id);
122 bool check_gpmm_l3(hid_t root_id);
124 bool check_gpms_l3(hid_t root_id);
129 bool check_measure_seawifs(hid_t root_id,
int& level);
134 bool check_aquarius(hid_t root_id,
int & level);
137 bool check_obpg(hid_t root_id,
int & level);
144 bool check_osmapl2s_acosl2s_oco2l1b(hid_t root_id,
int which_product);
147 bool check_measure_ozone(hid_t root_id);
150 bool check_netcdf4_general(hid_t root_id);
153 void obtain_gm_attr_value(hid_t group_id,
const char* attr_name, std::string & attr_value);