OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
HDFSP::SDField Class Reference

One instance of this class represents one SDS object. More...

#include <HDFSP.h>

Inheritance diagram for HDFSP::SDField:
Inheritance graph
Collaboration diagram for HDFSP::SDField:
Collaboration graph

Public Member Functions

const std::vector< Attribute * > & getAttributes () const
 Get the attributes of this field. More...
 
const std::string getCoordinate () const
 Get the "coordinates" attribute. More...
 
const std::vector< Dimension * > & getCorrectedDimensions () const
 Get the list of the corrected dimensions. More...
 
std::vector< Dimension * > * getCorrectedDimensionsPtr ()
 Get the list of the corrected dimension ptrs. More...
 
const std::vector< Dimension * > & getDimensions () const
 Get the list of dimensions. More...
 
const std::vector< AttrContainer * > & getDimInfo () const
 Get the list of OHTERHDF dimension attribute container information. More...
 
int32 getFieldRef () const
 
const int getFieldType () const
 
const std::string & getName () const
 Get the name of this field. More...
 
const std::string & getNewName () const
 Get the CF name(special characters replaced by underscores) of this field. More...
 
int32 getRank () const
 Get the dimension rank of this field. More...
 
const std::string getSpecFullPath () const
 This function returns the full path of some special products that have a very long path. More...
 
int32 getType () const
 Get the data type of this field. More...
 
const std::string getUnits () const
 Get the "units" attribute. More...
 
bool IsDimNoScale () const
 Is this field a dimension without dimension scale(or empty[no data]dimension variable) More...
 
bool IsDimScale () const
 Is this field a dimension scale field? More...
 
 SDField ()
 
void setCoordinates (std::string coor)
 Set the coordinate attribute. More...
 
void setCorrectedDimensions (std::vector< Dimension * >dims)
 Set the list of the corrected dimensions. More...
 
void setUnits (std::string uni)
 
 ~SDField ()
 

Protected Attributes

std::vector< Attribute * > attrs
 The attributes of this field. More...
 
bool condenseddim
 condenseddim is to condense 2-D lat/lon to 1-D lat/lon for geographic projections. This can greatly reduce the access time of visualization clients. More...
 
std::string coordinates
 
std::vector< Dimension * > correcteddims
 Corrected dimensions of this field. The only difference between the correcteddims and dims is the correcteddims uses the CF form of the dimension names whereas the dims uses the original dimension names. More...
 
std::vector< Dimension * > dims
 Dimensions of this field. More...
 
std::vector< AttrContainer * > dims_info
 OTHERHDF dimension information. See the description of the class AttrContainer. More...
 
int32 fieldref
 SDS reference number. This and the object tag are a key to identify a SDS object. More...
 
int fieldtype
 This flag will specify the fieldtype. 0 means this field is general field. 1 means this field is lat. 2 means this field is lon. 3 means this field is other dimension coordinate variable. 4 means this field is added other dimension coordinate variable with nature number. More...
 
bool is_dim_scale
 This is a SDS dimension scale. More...
 
bool is_noscale_dim
 Some fields have dimensions but don't have dimension scales. In HDF4, such dimension appears as a field but no data. So this kind of field needs special treatments. This flag is to identify such a field. More...
 
std::string name
 The original name of this field. More...
 
std::string newname
 The CF full path(special characters replaced by underscores) of this field. More...
 
int32 rank
 The rank of this field. More...
 
std::string rootfieldname
 In some TRMM versions, latitude and longitude are combined into one field geolocation. This variable is to remember the root field for latitude and longitude. More...
 
std::string special_product_fullpath
 This string provides the full path of a field for some products that have long path. The reasons we provide this string is as follows: 1) Some products(CERES) contain many variables and some field paths may be very long. For example,a path in a CERES file is "/Monthly 3-Hourly Averages/D2-like 9 Cloud Types/Deep Convection (High, Thick)/Ice Water Path - Deep Convection - MH". There are almost a 100 variables like this long path in this file. This will make DDS and DAS containers very huge and choke netCDF Java clients. So to avoid such cases, we provide a BES key so that by default only short names are provided. However, we still want to preserve the original path. So we include this special_product_fullpath to record this and output to DAS. 2) We decide not to use newname since as shown above, the CF form of the path is very different than the original path. KY 2013-07-02. More...
 
int32 type
 The datatype of this field. More...
 
std::string units
 The "units" attribute. More...
 

Friends

class File
 
class SD
 

Detailed Description

One instance of this class represents one SDS object.

Definition at line 344 of file HDFSP.h.

Constructor & Destructor Documentation

HDFSP::SDField::SDField ( )
inline

Definition at line 347 of file HDFSP.h.

SDField::~SDField ( )

Definition at line 158 of file HDFSP.cc.

Member Function Documentation

const std::vector< Attribute * >& HDFSP::Field::getAttributes ( ) const
inlineinherited

Get the attributes of this field.

Definition at line 314 of file HDFSP.h.

References HDFSP::Field::attrs.

Referenced by HDFCFUtil::add_obpg_special_attrs().

const std::string HDFSP::SDField::getCoordinate ( ) const
inline

Get the "coordinates" attribute.

Definition at line 375 of file HDFSP.h.

References coordinates.

const std::vector< Dimension * >& HDFSP::SDField::getCorrectedDimensions ( ) const
inline

Get the list of the corrected dimensions.

Definition at line 357 of file HDFSP.h.

References correcteddims.

Referenced by read_dds_spfields().

std::vector< Dimension * >* HDFSP::SDField::getCorrectedDimensionsPtr ( )
inline

Get the list of the corrected dimension ptrs.

Definition at line 363 of file HDFSP.h.

References correcteddims.

const std::vector< Dimension * >& HDFSP::SDField::getDimensions ( ) const
inline

Get the list of dimensions.

Definition at line 411 of file HDFSP.h.

References dims.

Referenced by read_dds_spfields().

const std::vector< AttrContainer * >& HDFSP::SDField::getDimInfo ( ) const
inline

Get the list of OHTERHDF dimension attribute container information.

Definition at line 417 of file HDFSP.h.

References dims_info.

int32 HDFSP::SDField::getFieldRef ( ) const
inline

Definition at line 405 of file HDFSP.h.

References fieldref.

Referenced by read_dds_spfields().

const int HDFSP::SDField::getFieldType ( ) const
inline

Definition at line 399 of file HDFSP.h.

References fieldtype.

Referenced by HDFCFUtil::add_obpg_special_attrs(), and read_dds_spfields().

const std::string& HDFSP::Field::getName ( ) const
inlineinherited

Get the name of this field.

Definition at line 290 of file HDFSP.h.

References HDFSP::Field::name.

Referenced by HDFSP::File::PrepareTRMML3A_V6(), HDFSP::File::PrepareTRMML3C_V6(), read_dds_spfields(), and read_dds_spvdfields().

const std::string& HDFSP::Field::getNewName ( ) const
inlineinherited

Get the CF name(special characters replaced by underscores) of this field.

Definition at line 296 of file HDFSP.h.

References HDFSP::Field::newname.

Referenced by HDFCFUtil::add_obpg_special_attrs(), read_dds_spfields(), and read_dds_spvdfields().

int32 HDFSP::Field::getRank ( ) const
inlineinherited

Get the dimension rank of this field.

Definition at line 302 of file HDFSP.h.

References HDFSP::Field::rank.

Referenced by read_dds_spfields().

const std::string HDFSP::SDField::getSpecFullPath ( ) const
inline

This function returns the full path of some special products that have a very long path.

Definition at line 436 of file HDFSP.h.

References special_product_fullpath.

int32 HDFSP::Field::getType ( ) const
inlineinherited

Get the data type of this field.

Definition at line 308 of file HDFSP.h.

References HDFSP::Field::type.

Referenced by HDFCFUtil::add_obpg_special_attrs(), read_dds_spfields(), and read_dds_spvdfields().

const std::string HDFSP::SDField::getUnits ( ) const
inline

Get the "units" attribute.

Definition at line 387 of file HDFSP.h.

References units.

bool HDFSP::SDField::IsDimNoScale ( ) const
inline

Is this field a dimension without dimension scale(or empty[no data]dimension variable)

Definition at line 424 of file HDFSP.h.

References is_noscale_dim.

Referenced by read_dds_spfields().

bool HDFSP::SDField::IsDimScale ( ) const
inline

Is this field a dimension scale field?

Definition at line 430 of file HDFSP.h.

References is_dim_scale.

void HDFSP::SDField::setCoordinates ( std::string  coor)
inline

Set the coordinate attribute.

Definition at line 381 of file HDFSP.h.

References coordinates.

void HDFSP::SDField::setCorrectedDimensions ( std::vector< Dimension * >  dims)
inline

Set the list of the corrected dimensions.

Definition at line 369 of file HDFSP.h.

References correcteddims, and dims.

void HDFSP::SDField::setUnits ( std::string  uni)
inline

Definition at line 393 of file HDFSP.h.

References units.

Referenced by HDFSP::File::Handle_AIRS_L23().

Friends And Related Function Documentation

friend class File
friend

Definition at line 495 of file HDFSP.h.

friend class SD
friend

Definition at line 496 of file HDFSP.h.

Member Data Documentation

std::vector< Attribute * > HDFSP::Field::attrs
protectedinherited

The attributes of this field.

Definition at line 335 of file HDFSP.h.

Referenced by HDFSP::Field::getAttributes(), HDFSP::SD::Read(), and HDFSP::SD::Read_Hybrid().

bool HDFSP::SDField::condenseddim
protected

condenseddim is to condense 2-D lat/lon to 1-D lat/lon for geographic projections. This can greatly reduce the access time of visualization clients.

Definition at line 482 of file HDFSP.h.

std::string HDFSP::SDField::coordinates
protected

Definition at line 453 of file HDFSP.h.

Referenced by getCoordinate(), and setCoordinates().

std::vector< Dimension * > HDFSP::SDField::correcteddims
protected
std::vector<AttrContainer *> HDFSP::SDField::dims_info
protected

OTHERHDF dimension information. See the description of the class AttrContainer.

Definition at line 451 of file HDFSP.h.

Referenced by getDimInfo(), and HDFSP::SD::Read().

int32 HDFSP::SDField::fieldref
protected

SDS reference number. This and the object tag are a key to identify a SDS object.

Definition at line 479 of file HDFSP.h.

Referenced by getFieldRef(), HDFSP::File::PrepareTRMML2_V6(), HDFSP::File::PrepareTRMML3M_V7(), HDFSP::SD::Read(), and HDFSP::SD::Read_Hybrid().

int HDFSP::SDField::fieldtype
protected

This flag will specify the fieldtype. 0 means this field is general field. 1 means this field is lat. 2 means this field is lon. 3 means this field is other dimension coordinate variable. 4 means this field is added other dimension coordinate variable with nature number.

Definition at line 461 of file HDFSP.h.

Referenced by getFieldType(), HDFSP::File::Handle_AIRS_L23(), HDFSP::File::handle_sds_missing_fields(), HDFSP::File::PrepareCERSAVGID(), HDFSP::File::PrepareCERZAVG(), HDFSP::File::PrepareOBPGL3(), HDFSP::File::PrepareTRMML2_V6(), HDFSP::File::PrepareTRMML2_V7(), HDFSP::File::PrepareTRMML3A_V6(), HDFSP::File::PrepareTRMML3B_V6(), HDFSP::File::PrepareTRMML3C_V6(), HDFSP::File::PrepareTRMML3M_V7(), and HDFSP::File::PrepareTRMML3S_V7().

bool HDFSP::SDField::is_dim_scale
protected

This is a SDS dimension scale.

Definition at line 489 of file HDFSP.h.

Referenced by IsDimScale().

bool HDFSP::SDField::is_noscale_dim
protected

Some fields have dimensions but don't have dimension scales. In HDF4, such dimension appears as a field but no data. So this kind of field needs special treatments. This flag is to identify such a field.

Definition at line 486 of file HDFSP.h.

Referenced by IsDimNoScale(), and HDFSP::SD::Read().

std::string HDFSP::SDField::rootfieldname
protected

In some TRMM versions, latitude and longitude are combined into one field geolocation. This variable is to remember the root field for latitude and longitude.

Definition at line 493 of file HDFSP.h.

Referenced by HDFSP::File::PrepareTRMML2_V6().

std::string HDFSP::SDField::special_product_fullpath
protected

This string provides the full path of a field for some products that have long path. The reasons we provide this string is as follows: 1) Some products(CERES) contain many variables and some field paths may be very long. For example,a path in a CERES file is "/Monthly 3-Hourly Averages/D2-like 9 Cloud Types/Deep Convection (High, Thick)/Ice Water Path - Deep Convection - MH". There are almost a 100 variables like this long path in this file. This will make DDS and DAS containers very huge and choke netCDF Java clients. So to avoid such cases, we provide a BES key so that by default only short names are provided. However, we still want to preserve the original path. So we include this special_product_fullpath to record this and output to DAS. 2) We decide not to use newname since as shown above, the CF form of the path is very different than the original path. KY 2013-07-02.

Definition at line 476 of file HDFSP.h.

Referenced by getSpecFullPath().

std::string HDFSP::SDField::units
protected

The "units" attribute.

Definition at line 464 of file HDFSP.h.

Referenced by getUnits(), and setUnits().


The documentation for this class was generated from the following files: